Fix #668: Safely handle empty custom_atlases.conf file #1433
Workflow file for this run
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: tests | |
| on: | |
| push: | |
| branches: | |
| - "main" | |
| tags: | |
| - "v**" | |
| pull_request: | |
| schedule: | |
| # Runs at 6:10am UTC on Monday | |
| - cron: '10 6 * * 1' | |
| workflow_dispatch: | |
| jobs: | |
| linting: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: neuroinformatics-unit/actions/lint@v2 | |
| manifest: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: neuroinformatics-unit/actions/check_manifest@v2 | |
| get-week-number: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| WEEK_NUMBER: ${{ steps.get-week-number.outputs.WEEK_NUMBER }} | |
| steps: | |
| - name: Get week number | |
| id: get-week-number | |
| run: echo "WEEK_NUMBER=$(date -u '+%V')" >> "$GITHUB_OUTPUT" | |
| test: | |
| needs: [linting, manifest, get-week-number] | |
| name: ${{ matrix.os }} py${{ matrix.python-version }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| # Run all supported Python versions on linux | |
| os: [ubuntu-latest] | |
| python-version: ["3.11", "3.12", "3.13"] | |
| include: | |
| - os: macos-latest | |
| python-version: "3.13" | |
| - os: windows-latest | |
| python-version: "3.13" | |
| steps: | |
| - name: Cache atlases | |
| uses: actions/cache@v4 | |
| with: | |
| path: | # ensure we don't cache any interrupted atlas download and extraction, if e.g. we cancel the workflow manually | |
| ~/.brainglobe | |
| !~/.brainglobe/atlas.tar.gz | |
| key: brainglobe-${{ runner.os }}-${{ needs.get-week-number.outputs.WEEK_NUMBER }} | |
| restore-keys: | | |
| brainglobe-${{ runner.os }}-${{ needs.get-week-number.outputs.WEEK_NUMBER }} | |
| brainglobe-${{ runner.os }}- | |
| brainglobe | |
| - uses: neuroinformatics-unit/actions/test@v2 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| secret-codecov-token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Notify slack on scheduled failure | |
| if: failure() && github.event_name == 'schedule' | |
| uses: ravsamhq/notify-slack-action@v2 | |
| with: | |
| status: ${{ job.status }} # required | |
| notify_when: 'failure' | |
| env: | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_NOTIFYBOT_WEBHOOK_URL }} # required | |
| build_sdist_wheels: | |
| name: Build source distribution and wheel | |
| needs: [test] | |
| if: github.event_name == 'push' && github.ref_type == 'tag' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: neuroinformatics-unit/actions/build_sdist_wheels@v2 | |
| upload_all: | |
| name: Publish build distributions | |
| needs: [build_sdist_wheels] | |
| if: github.event_name == 'push' && github.ref_type == 'tag' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: artifact | |
| path: dist | |
| - uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| user: __token__ | |
| password: ${{ secrets.TWINE_API_KEY }} |