modify for testing #23
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
| # This pipeline is executed every time someone pushes a tag to GitHub. If the | |
| # tag is a valid version number, it builds the library, and | |
| # runs the slow tests, the benchmarks, and then dependency matrix. | |
| # It will eventually push the package distribution to PyPI, | |
| # and if this is a production release, also publish the docs. | |
| name: Release Pipeline | |
| on: | |
| push: | |
| tags: | |
| - '**' | |
| branches: | |
| - 'dasm/build-aarch64' | |
| env: | |
| # Force nox to produce colorful logs: | |
| FORCE_COLOR: "true" | |
| jobs: | |
| Check-Tag-Pattern: | |
| if: github.repository == 'opendp/tumult-core' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - run: | | |
| re="^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-(alpha|beta|rc)\.(0|[1-9][0-9]*))?$" | |
| if [[ ! "$GITHUB_REF_NAME" =~ $re ]]; then | |
| echo "Tag $GITHUB_REF_NAME is not a valid version number. Aborting release pipeline." | |
| exit 0 | |
| fi | |
| Package: | |
| if: github.repository == 'opendp/tumult-core' | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - name: linux-intel | |
| os: ubuntu-latest | |
| # - name: macos-intel | |
| # os: macos-15-intel | |
| # - name: macos-arm | |
| # os: macos-latest | |
| - name: linux-arm | |
| os: ubuntu-24.04-arm | |
| needs: Check-Tag-Pattern | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up runner | |
| uses: opendp/tumult-tools/actions/setup@eabe1054863f0916a0087ad180fd83719049c094 | |
| - run: uv run --only-group scripting nox -s build | |
| - name: Upload wheel | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.name }}-wheel | |
| path: dist/*.whl | |
| - name: Upload sdist | |
| # Only upload the sdist once | |
| if: ${{ strategy.job-index == 0 }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: sdist | |
| path: dist/*.tar.gz | |
| # Test-Slow: | |
| # if: github.repository == 'opendp/tumult-core' | |
| # runs-on: ubuntu-latest | |
| # needs: Package | |
| # steps: | |
| # - name: Checkout code repository | |
| # uses: actions/checkout@v4 | |
| # - name: Set up runner | |
| # uses: opendp/tumult-tools/actions/setup@eabe1054863f0916a0087ad180fd83719049c094 | |
| # - name: Download dist | |
| # uses: actions/download-artifact@v4 | |
| # with: | |
| # name: linux-intel-wheel | |
| # path: dist | |
| # - run: uv run nox -s test-slow | |
| # Benchmark: | |
| # if: github.repository == 'opendp/tumult-core' | |
| # runs-on: ubuntu-latest | |
| # needs: Package | |
| # steps: | |
| # - name: Checkout code repository | |
| # uses: actions/checkout@v4 | |
| # - name: Set up runner | |
| # uses: opendp/tumult-tools/actions/setup@eabe1054863f0916a0087ad180fd83719049c094 | |
| # - name: Download dist | |
| # uses: actions/download-artifact@v4 | |
| # with: | |
| # name: linux-intel-wheel | |
| # path: dist | |
| # - run: uv run nox -t benchmark | |
| Dependency-Matrix: | |
| if: github.repository == 'opendp/tumult-core' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Note: mac runners are rather expensive (10x multiplier) so we don't use them here. | |
| os: [ubuntu-latest] | |
| dependencies: [oldest] #, newest] | |
| python: ["3.10"] #, "3.12"] | |
| include: | |
| - os: ubuntu-latest | |
| wheel: linux-intel-wheel | |
| - os: ubuntu-24.04-arm | |
| dependencies: oldest | |
| python: "3.10" | |
| wheel: linux-arm-wheel | |
| runs-on: ${{ matrix.os }} | |
| needs: Package | |
| steps: | |
| - name: Checkout code repository | |
| uses: actions/checkout@v4 | |
| - name: Set up runner | |
| uses: opendp/tumult-tools/actions/setup@eabe1054863f0916a0087ad180fd83719049c094 | |
| - name: Download dist | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: linux-intel-wheel | |
| path: dist | |
| - run: uv run nox -s "test_dependency_matrix(${{matrix.python}}-${{matrix.dependencies}})" | |
| env: | |
| SPARK_LOCAL_HOSTNAME: localhost |