project: rearrange folders #4
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
release: | |
types: [created] | |
permissions: | |
contents: read | |
jobs: | |
build: # builds, caches the packages, runs tests. | |
name: Test the code with keras | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Get pip cache dir | |
id: pip-cache | |
run: | | |
python -m pip install --upgrade pip setuptools build | |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT | |
- name: pip cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} | |
- name: Install dependencies | |
run: | | |
pip install -e ".[dev, backends]" --progress-bar off --upgrade | |
- name: Test with pytest | |
run: | | |
pytest --cov=keras_tuner --cov-report xml:coverage.xml | |
- name: Codecov | |
uses: codecov/codecov-action@v4 | |
multibackend: | |
name: Test the code with Keras Core | |
strategy: | |
fail-fast: false | |
matrix: | |
backend: [tensorflow, jax, torch] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Get pip cache dir | |
id: pip-cache | |
run: | | |
python -m pip install --upgrade pip setuptools | |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT | |
- name: pip cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }} | |
- name: Install dependencies | |
run: | | |
pip install -e ".[dev,backends]" --progress-bar off --upgrade | |
- name: Test with pytest | |
env: | |
KERAS_BACKEND: ${{ matrix.backend }} | |
run: | | |
pytest --cov=keras_tuner --cov-report xml:coverage.xml | |
- name: Codecov | |
uses: codecov/codecov-action@v3 | |
format: | |
name: Check the code format | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Get pip cache dir | |
id: pip-cache | |
run: | | |
python -m pip install --upgrade pip setuptools | |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT | |
- name: pip cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} | |
- name: Install dependencies | |
run: | | |
pip install -e ".[tensorflow>=2.17,dev]" --progress-bar off --upgrade | |
- name: Lint | |
run: bash shell/lint_format.sh | |
deploy: | |
needs: [build, format, multibackend] | |
if: github.event_name == 'release' && github.event.action == 'created' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Get pip cache dir | |
id: pip-cache | |
run: | | |
python -m pip install --upgrade pip setuptools | |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT | |
- name: pip cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip build setuptools wheel twine | |
- name: Build a binary wheel and a source tarball | |
run: python -m build | |
- name: Publish distribution to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_PASSWORD }} |