chore(ci): move erc20 and dex gpu benchmarks to common files #3432
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
| # Test HPU backend HLAPI layer | |
| name: hpu_hlapi_tests | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| env: | |
| CARGO_TERM_COLOR: always | |
| IS_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} | |
| CHECKOUT_TOKEN: ${{ secrets.REPO_CHECKOUT_TOKEN || secrets.GITHUB_TOKEN }} | |
| # Secrets will be available only to zama-ai organization members | |
| SECRETS_AVAILABLE: ${{ secrets.JOB_SECRET != '' }} | |
| EXTERNAL_CONTRIBUTION_RUNNER: "large_ubuntu_16" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref }}${{ github.ref == 'refs/heads/main' && github.sha || '' }} | |
| cancel-in-progress: true | |
| permissions: {} | |
| jobs: | |
| should-run: | |
| name: hpu_hlapi_tests/should-run | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pull-requests: read # Needed to check for file change | |
| outputs: | |
| hpu_test: ${{ env.IS_PULL_REQUEST == 'false' || steps.changed-files.outputs.hpu_any_changed }} | |
| steps: | |
| - name: Checkout tfhe-rs | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: 'false' | |
| token: ${{ env.CHECKOUT_TOKEN }} | |
| - name: Check for file changes | |
| id: changed-files | |
| uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47.0.0 | |
| with: | |
| files_yaml: | | |
| hpu: | |
| - tfhe/Cargo.toml | |
| - Makefile | |
| - backends/tfhe-hpu-backend/** | |
| - mockups/tfhe-hpu-mockup/** | |
| setup-instance: | |
| name: hpu_hlapi_tests/setup-instance | |
| needs: should-run | |
| if: | |
| needs.should-run.outputs.hpu_test == 'true' && | |
| ((github.event_name == 'push' && github.repository == 'zama-ai/tfhe-rs') ||github.event_name == 'pull_request') | |
| runs-on: ubuntu-latest | |
| outputs: | |
| runner-name: ${{ steps.start-remote-instance.outputs.label || steps.start-github-instance.outputs.runner_group }} | |
| steps: | |
| - name: Start remote instance | |
| id: start-remote-instance | |
| if: env.SECRETS_AVAILABLE == 'true' | |
| uses: zama-ai/slab-github-runner@79939325c3c429837c10d6041e4fd8589d328bac | |
| with: | |
| mode: start | |
| github-token: ${{ secrets.SLAB_ACTION_TOKEN }} | |
| slab-url: ${{ secrets.SLAB_BASE_URL }} | |
| job-secret: ${{ secrets.JOB_SECRET }} | |
| backend: aws | |
| profile: cpu-big | |
| # This instance will be spawned especially for pull-request from forked repository | |
| - name: Start GitHub instance | |
| id: start-github-instance | |
| if: env.SECRETS_AVAILABLE == 'false' | |
| run: | | |
| echo "runner_group=${EXTERNAL_CONTRIBUTION_RUNNER}" >> "$GITHUB_OUTPUT" | |
| cargo-tests-hpu: | |
| name: hpu_hlapi_tests/cargo-tests-hpu (bpr) | |
| needs: setup-instance | |
| runs-on: ${{ needs.setup-instance.outputs.runner-name }} | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 | |
| with: | |
| persist-credentials: 'false' | |
| token: ${{ env.CHECKOUT_TOKEN }} | |
| - name: Install Rust | |
| uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af | |
| with: | |
| toolchain: stable | |
| override: true | |
| - name: Install Just | |
| run: | | |
| cargo install just | |
| - name: Test HLAPI HPU | |
| run: | | |
| source setup_hpu.sh | |
| just -f mockups/tfhe-hpu-mockup/Justfile BUILD_PROFILE=release mockup & | |
| make HPU_CONFIG=sim test_high_level_api_hpu | |
| make HPU_CONFIG=sim test_user_doc_hpu | |
| teardown-instance: | |
| name: hpu_hlapi_tests/teardown-instance | |
| if: ${{ always() && needs.setup-instance.result == 'success' }} | |
| needs: [setup-instance, cargo-tests-hpu] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Stop remote instance | |
| id: stop-instance | |
| if: env.SECRETS_AVAILABLE == 'true' | |
| uses: zama-ai/slab-github-runner@79939325c3c429837c10d6041e4fd8589d328bac | |
| with: | |
| mode: stop | |
| github-token: ${{ secrets.SLAB_ACTION_TOKEN }} | |
| slab-url: ${{ secrets.SLAB_BASE_URL }} | |
| job-secret: ${{ secrets.JOB_SECRET }} | |
| label: ${{ needs.setup-instance.outputs.runner-name }} | |
| - name: Slack Notification | |
| if: ${{ failure() }} | |
| uses: rtCamp/action-slack-notify@e31e87e03dd19038e411e38ae27cbad084a90661 | |
| env: | |
| SLACK_COLOR: ${{ job.status }} | |
| SLACK_MESSAGE: "Instance teardown (hpu_hlapi_tests) finished with status: ${{ job.status }}. (${{ env.ACTION_RUN_URL }})" |