Repository navigation
Modernize the CI and Release workflows, and reformat with black #31
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: | |
| - "master" | |
| - "main" | |
| pull_request: | |
| branches: | |
| - "master" | |
| - "main" | |
| schedule: | |
| # Run by default Sunday morning at 3:30: | |
| # Scheduled workflows run on the latest commit on the default or base branch. | |
| # (from https://help.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule) | |
| # | |
| # GitHub disables a scheduled workflow after 60 days without a commit to the | |
| # repository, and disabling it stops the push and pull_request triggers too. | |
| # If the badge goes stale, re-enable it on the Actions tab; workflow_dispatch | |
| # below gives a way to run it by hand. | |
| - cron: "30 3 * * 0" | |
| workflow_dispatch: | |
| jobs: | |
| lint: | |
| name: Lint ubuntu-latest Py3.8 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Additional info about the build | |
| shell: bash | |
| run: | | |
| uname -a | |
| df -h | |
| ulimit -a | |
| # More info on options: https://github.com/conda-incubator/setup-miniconda | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| python-version: 3.8 | |
| environment-file: devtools/conda-envs/test_env.yaml | |
| activate-environment: test | |
| auto-update-conda: false | |
| auto-activate-base: false | |
| show-channel-urls: true | |
| - name: Install package | |
| # conda setup requires this special shell | |
| shell: bash -l {0} | |
| run: | | |
| python -m pip install . --no-deps | |
| conda list | |
| - name: Run linters | |
| shell: bash -l {0} | |
| run: | | |
| flake8 reference_handler | |
| yapf --diff --recursive reference_handler | |
| test: | |
| name: Test ${{ matrix.os }} Py${{ matrix.python-version }} | |
| runs-on: ${{ matrix.os }} | |
| needs: lint | |
| strategy: | |
| matrix: | |
| os: [macOS-latest, ubuntu-latest] | |
| python-version: ["3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Additional info about the build | |
| shell: bash | |
| run: | | |
| uname -a | |
| df -h | |
| ulimit -a | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| environment-file: devtools/conda-envs/test_env.yaml | |
| activate-environment: test | |
| auto-update-conda: false | |
| auto-activate-base: false | |
| show-channel-urls: true | |
| - name: Install package | |
| shell: bash -l {0} | |
| run: | | |
| python -m pip install . --no-deps | |
| conda list | |
| - name: Run tests | |
| shell: bash -l {0} | |
| run: | | |
| pytest -v --cov=reference_handler --cov-report=xml --color=yes reference_handler/tests/ | |
| - name: CodeCov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| file: ./coverage.xml | |
| flags: unittests | |
| name: codecov-${{ matrix.os }}-py${{ matrix.python-version }} |