Dynamically update UI based on 2D or 3D moving image (#125) #561
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: | |
| - '*' | |
| pull_request: | |
| schedule: | |
| # Runs at 6:10am UTC on Monday | |
| - cron: '10 6 * * 1' | |
| jobs: | |
| linting: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: neuroinformatics-unit/actions/lint@v2 | |
| manifest: | |
| name: Check 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 | |
| python-version: ["3.11", "3.12", "3.13"] | |
| os: [ubuntu-latest] | |
| include: | |
| - os: macos-latest # ARM Mac | |
| python-version: "3.13" | |
| - os: windows-latest | |
| python-version: "3.13" | |
| steps: | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| # these libraries enable testing on Qt on linux | |
| - uses: pyvista/setup-headless-display-action@v3 | |
| with: | |
| qt: true | |
| # cache atlases needed by the tests | |
| - name: Cache Atlases | |
| id: atlas-cache | |
| 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 | |
| - if: ${{ steps.atlas-cache.outputs.cache-hit == 'true' }} | |
| name: List files in brainglobe data folder # good to be able to sanity check that user data is as expected | |
| run: | | |
| ls -af ~/.brainglobe/ | |
| # Run tests | |
| - uses: neuroinformatics-unit/actions/test@v2 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| secret-codecov-token: ${{ secrets.CODECOV_TOKEN }} | |
| # Run tests on napari main if this is a scheduled run | |
| - name: Run tests on napari main | |
| if: github.event_name == 'schedule' | |
| uses: neuroinformatics-unit/actions/test@v2 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| secret-codecov-token: ${{ secrets.CODECOV_TOKEN }} | |
| tox-args: '-e napari-dev' | |
| - 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 | |
| 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/[email protected] | |
| with: | |
| user: __token__ | |
| password: ${{ secrets.TWINE_API_KEY }} |