diff --git a/.github/workflows/ab_tests.yml b/.github/workflows/ab_tests.yml index 6260497742..43dddc0ddb 100644 --- a/.github/workflows/ab_tests.yml +++ b/.github/workflows/ab_tests.yml @@ -19,7 +19,7 @@ defaults: jobs: software: - name: A/B Setup + name: Setup runs-on: ubuntu-latest strategy: fail-fast: false @@ -54,7 +54,13 @@ jobs: export REF_NAME_FORMATTED=$(echo "$GITHUB_REF_NAME" | sed 's/\./-/g' ) export COILED_SOFTWARE_NAME_HEAD=dask-engineering/coiled-runtime-${{ github.event_name }} export COILED_SOFTWARE_NAME_TAIL=$GITHUB_RUN_ID-$(echo ${{ matrix.runtime-version }} | tr 'A-Z' 'a-z')-py$PYTHON_VERSION_FORMATTED - export COILED_SOFTWARE_NAME=$COILED_SOFTWARE_NAME_HEAD-$GITHUB_REF_TYPE-$REF_NAME_FORMATTED-$COILED_SOFTWARE_NAME_TAIL + + if [[ ${{ github.event_name }} = 'pull_request' ]] + then + export COILED_SOFTWARE_NAME=$COILED_SOFTWARE_NAME_HEAD-${{ github.event.number }}-$COILED_SOFTWARE_NAME_TAIL + else + export COILED_SOFTWARE_NAME=$COILED_SOFTWARE_NAME_HEAD-$GITHUB_REF_TYPE-$REF_NAME_FORMATTED-$COILED_SOFTWARE_NAME_TAIL + fi cp AB_environments/${{ matrix.runtime-version }}.conda.yaml coiled_software_environment.yaml export COILED_SOFTWARE_ENV=$(python ci/dask_config_to_env.py AB_environments/${{ matrix.runtime-version }}.dask.yaml) @@ -69,6 +75,9 @@ jobs: # Put COILED_SOFTWARE_NAME into a file so it can be downloaded in subsequent workflow jobs echo $COILED_SOFTWARE_NAME > software_name.txt + # Dummy for compatibility with tests.yml + echo false > test_upstream.txt + - name: Upload environment file uses: actions/upload-artifact@v3 with: @@ -80,7 +89,7 @@ jobs: runtime: - name: A/B Runtime - ${{ matrix.os }}, Python ${{ matrix.python-version }}, Runtime ${{ matrix.runtime-version }} + name: Runtime - ${{ matrix.os }}, Python ${{ matrix.python-version }}, Runtime ${{ matrix.runtime-version }} needs: software runs-on: ${{ matrix.os }} timeout-minutes: 120 @@ -136,7 +145,7 @@ jobs: path: runtime-${{ matrix.os }}-${{ matrix.runtime-version }}-py${{ matrix.python-version }}.db benchmarks: - name: A/B Benchmarks - ${{ matrix.os }}, Python ${{ matrix.python-version }}, Runtime ${{ matrix.runtime-version }} + name: Benchmarks - ${{ matrix.os }}, Python ${{ matrix.python-version }}, Runtime ${{ matrix.runtime-version }} needs: software runs-on: ${{ matrix.os }} timeout-minutes: 120 @@ -191,7 +200,7 @@ jobs: path: benchmark-${{ matrix.os }}-${{ matrix.runtime-version }}-py${{ matrix.python-version }}.db stability: - name: A/B Stability - ${{ matrix.os }}, Python ${{ matrix.python-version }}, Runtime ${{ matrix.runtime-version }} + name: Stability - ${{ matrix.os }}, Python ${{ matrix.python-version }}, Runtime ${{ matrix.runtime-version }} needs: software runs-on: ${{ matrix.os }} timeout-minutes: 120 @@ -250,7 +259,7 @@ jobs: cleanup: needs: [software, runtime, benchmarks, stability] if: always() - name: A/B Cleanup + name: Cleanup runs-on: ubuntu-latest strategy: fail-fast: false @@ -286,7 +295,7 @@ jobs: process-results: needs: [runtime, benchmarks, stability] - name: A/B Combine separate benchmark results + name: Combine separate benchmark results if: always() && github.repository == 'coiled/coiled-runtime' runs-on: ubuntu-latest concurrency: @@ -340,7 +349,7 @@ jobs: needs: process-results # Always generate the site, as this can be skipped even if an indirect dependency fails (like a test run) if: always() - name: A/B Build static dashboards + name: Build static dashboards runs-on: ubuntu-latest steps: - uses: actions/checkout@v2