build(deps): bump actions/download-artifact from 4a24838f3d5601fd639834081e118c2995d51e1c to 018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 #48
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: release | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - "v[0-9]+.[0-9]+.[0-9]+" | |
| pull_request: | |
| merge_group: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| MINIMUM_PYTHON_VERSION: "3.11" | |
| UV_VERSION: "0.8.13" | |
| jobs: | |
| build: | |
| # This action builds distribution files for upload to PyPI | |
| name: ubuntu / 3.11 / build | |
| runs-on: ubuntu-latest | |
| steps: | |
| #---------------------------------------------- | |
| # check-out repo and set-up python | |
| #---------------------------------------------- | |
| - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0 | |
| with: | |
| persist-credentials: false | |
| submodules: true | |
| #---------------------------------------------- | |
| # ----- setup python ----- | |
| #---------------------------------------------- | |
| - name: Set up the environment | |
| uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 | |
| id: setup-python | |
| with: | |
| python-version: ${{ env.MINIMUM_PYTHON_VERSION }} | |
| #---------------------------------------------- | |
| # ----- setup uv and load cache ----- | |
| #---------------------------------------------- | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@2382069a66b5b52782577081ec324838fd5fc1fc | |
| with: | |
| version: ${{ env.UV_VERSION }} | |
| enable-cache: true | |
| #---------------------------------------------- | |
| # ----- build distribution ----- | |
| #---------------------------------------------- | |
| - name: Build distribution | |
| run: make build | |
| #---------------------------------------------- | |
| # ----- upload artifacts ----- | |
| #---------------------------------------------- | |
| - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: pypi_files | |
| path: dist | |
| test-build: | |
| # This action runs the test suite on the built artifact in the `build` action. | |
| # The default is to run this in ubuntu, macos and windows | |
| name: ${{ matrix.os }} / 3.11 / test built artifact | |
| needs: [build] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu | |
| runs-on: ${{ matrix.os }}-latest | |
| steps: | |
| - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0 | |
| with: | |
| persist-credentials: false | |
| submodules: true | |
| - name: set up python | |
| uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 | |
| with: | |
| python-version: ${{ env.MINIMUM_PYTHON_VERSION }} | |
| - name: get dist artifacts | |
| uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 | |
| with: | |
| name: pypi_files | |
| path: dist | |
| - run: rm -r src | |
| - run: pip install typing-extensions | |
| - run: pip install -r tests/requirements-testing.lock | |
| - run: pip install sparv-testing --no-index --no-deps --find-links dist --force-reinstall | |
| - run: pytest | |
| # https://github.com/marketplace/actions/alls-green#why used for branch protection checks | |
| release-check: | |
| if: always() | |
| needs: | |
| - build | |
| - test-build | |
| runs-on: ubuntu-latest | |
| permissions: {} | |
| steps: | |
| - name: Decide whether the needed jobs succeeded or failed | |
| uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2 | |
| with: | |
| jobs: ${{ toJSON(needs) }} |