From 1a8e71282933c0405f400bac86579262d923c10c Mon Sep 17 00:00:00 2001 From: Harold Hunt Date: Tue, 8 Apr 2025 22:04:02 -0400 Subject: [PATCH 1/9] Performance tests --- .github/workflows/build.yml | 80 ++++++++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6e2f4a85..dd0e4fdd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -723,8 +723,86 @@ jobs: curl ${BASE_URL}/ping done + performance-test: + needs: + - smoke-test + - deploy + runs-on: ubuntu-latest + if: ${{ !cancelled() && needs.smoke-test.result != 'failed' && github.event_name == 'pull_request' }} + steps: + - name: Install oha + run: | + wget https://github.com/hatoo/oha/releases/download/v0.5.8/oha-linux-amd64 -O oha + chmod +x oha + sudo mv oha /usr/local/bin/ + + - name: Run Performance Tests + id: perf-test + run: | + # Create results directory + mkdir -p test-results + + # Run performance tests and save results + echo "Running latency test (20 concurrent, 60s)..." + oha --no-tui -j -c 20 -z 60s ${{ needs.deploy.outputs.url }}/ping > test-results/latency.json + cat test-results/latency.json + + echo "Running throughput test (100 concurrent, 60s)..." + oha --no-tui -j -c 100 -z 60s ${{ needs.deploy.outputs.url }}/ping > test-results/throughput.json + cat test-results/throughput.json + + # Parse results and create markdown table + echo "Generating markdown table..." + node -e ' + const fs = require("fs"); + const latencyResults = JSON.parse(fs.readFileSync("test-results/latency.json")); + const throughputResults = JSON.parse(fs.readFileSync("test-results/throughput.json")); + + const formatNumber = (num) => Number(num).toLocaleString(undefined, { maximumFractionDigits: 2 }); + + const table = [ + "### 🚀 Performance Test Results", + "", + "| Metric | Latency Test (20 concurrent) | Throughput Test (100 concurrent) |", + "|--------|----------------------------|--------------------------------|", + `| Total Requests | ${formatNumber(latencyResults.summary.total)} | ${formatNumber(throughputResults.summary.total)} |`, + `| Requests/sec | ${formatNumber(latencyResults.summary.rps)} | ${formatNumber(throughputResults.summary.rps)} |`, + `| Mean Latency | ${formatNumber(latencyResults.summary.average)}ms | ${formatNumber(throughputResults.summary.average)}ms |`, + `| p95 Latency | ${formatNumber(latencyResults.latencyPercentiles.p95)}ms | ${formatNumber(throughputResults.latencyPercentiles.p95)}ms |`, + `| p99 Latency | ${formatNumber(latencyResults.latencyPercentiles.p99)}ms | ${formatNumber(throughputResults.latencyPercentiles.p99)}ms |`, + `| Max Latency | ${formatNumber(latencyResults.summary.slowest)}ms | ${formatNumber(throughputResults.summary.slowest)}ms |`, + "", + "_Note: Tests run against the /ping endpoint for 60 seconds each._", + "", + `*Last updated: ${new Date().toISOString()}*` + ].join("\n"); + + fs.writeFileSync("test-results/table.md", table); + ' + + # Save table content to outputs + echo "performance_results<> $GITHUB_OUTPUT + cat test-results/table.md >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + - name: Find Performance Results Comment + uses: peter-evans/find-comment@v3 + id: find-comment + with: + issue-number: ${{ github.event.pull_request.number }} + comment-author: 'github-actions[bot]' + body-includes: '### 🚀 Performance Test Results' + + - name: Post Performance Results Comment + uses: peter-evans/create-or-update-comment@v4 + with: + comment-id: ${{ steps.find-comment.outputs.comment-id }} + edit-mode: replace + issue-number: ${{ github.event.pull_request.number }} + body: ${{ steps.perf-test.outputs.performance_results }} + create-status-checks: - needs: [deploy, smoke-test] + needs: [deploy, smoke-test, performance-test] runs-on: ubuntu-latest if: ${{ !cancelled() && needs.deploy.result != 'failed' && github.event_name == 'pull_request' }} steps: From cfcafb3eb3b854eb1ccf9795a9059765d47ea762 Mon Sep 17 00:00:00 2001 From: Harold Hunt Date: Tue, 8 Apr 2025 23:22:43 -0400 Subject: [PATCH 2/9] Blank line before EOF --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dd0e4fdd..b545b527 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -774,7 +774,8 @@ jobs: "", "_Note: Tests run against the /ping endpoint for 60 seconds each._", "", - `*Last updated: ${new Date().toISOString()}*` + `*Last updated: ${new Date().toISOString()}*`, + "" // Add empty line at the end ].join("\n"); fs.writeFileSync("test-results/table.md", table); From b82cf42fae84891abe08cb2d96a6ed926a0363a0 Mon Sep 17 00:00:00 2001 From: Harold Hunt Date: Sat, 12 Apr 2025 12:31:37 -0400 Subject: [PATCH 3/9] Perf Tests - Fix output data --- .github/workflows/build.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b545b527..0ff21b1d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -765,12 +765,14 @@ jobs: "", "| Metric | Latency Test (20 concurrent) | Throughput Test (100 concurrent) |", "|--------|----------------------------|--------------------------------|", - `| Total Requests | ${formatNumber(latencyResults.summary.total)} | ${formatNumber(throughputResults.summary.total)} |`, - `| Requests/sec | ${formatNumber(latencyResults.summary.rps)} | ${formatNumber(throughputResults.summary.rps)} |`, - `| Mean Latency | ${formatNumber(latencyResults.summary.average)}ms | ${formatNumber(throughputResults.summary.average)}ms |`, - `| p95 Latency | ${formatNumber(latencyResults.latencyPercentiles.p95)}ms | ${formatNumber(throughputResults.latencyPercentiles.p95)}ms |`, - `| p99 Latency | ${formatNumber(latencyResults.latencyPercentiles.p99)}ms | ${formatNumber(throughputResults.latencyPercentiles.p99)}ms |`, - `| Max Latency | ${formatNumber(latencyResults.summary.slowest)}ms | ${formatNumber(throughputResults.summary.slowest)}ms |`, + `| Duration | ${formatNumber(latencyResults.summary.total)} | ${formatNumber(throughputResults.summary.total)} |`, + `| Total Requests | ${formatNumber(latencyResults.summary.total * latencyResults.summary.requestsPerSec)} | ${formatNumber(throughputResults.summary.total * throughputResults.summary.requestsPerSec)} |`, + `| Total Success | ${formatNumber(latencyResults.statusCodeDistribution["200"])} | ${formatNumber(throughputResults.statusCodeDistribution["200"])} |`, + `| Requests/sec | ${formatNumber(latencyResults.summary.requestsPerSec)} | ${formatNumber(throughputResults.summary.requestsPerSec)} |`, + `| Mean Latency | ${formatNumber(latencyResults.summary.average * 1000)}ms | ${formatNumber(throughputResults.summary.average * 1000)}ms |`, + `| p95 Latency | ${formatNumber(latencyResults.latencyPercentiles.p95 * 1000)}ms | ${formatNumber(throughputResults.latencyPercentiles.p95 * 1000)}ms |`, + `| p99 Latency | ${formatNumber(latencyResults.latencyPercentiles.p99 * 1000)}ms | ${formatNumber(throughputResults.latencyPercentiles.p99 * 1000)}ms |`, + `| Max Latency | ${formatNumber(latencyResults.summary.slowest * 1000)}ms | ${formatNumber(throughputResults.summary.slowest * 1000)}ms |`, "", "_Note: Tests run against the /ping endpoint for 60 seconds each._", "", From e0733e3a0cc9797caabe82778ba9ec814ea37ab3 Mon Sep 17 00:00:00 2001 From: Harold Hunt Date: Sat, 12 Apr 2025 13:26:46 -0400 Subject: [PATCH 4/9] PerfTest - Update oha version --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0ff21b1d..015ba606 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -732,7 +732,7 @@ jobs: steps: - name: Install oha run: | - wget https://github.com/hatoo/oha/releases/download/v0.5.8/oha-linux-amd64 -O oha + wget https://github.com/hatoo/oha/releases/download/v1.8.0/oha-linux-amd64 -O oha chmod +x oha sudo mv oha /usr/local/bin/ From 8744207a7169a8472c18341f74813bf088c1335d Mon Sep 17 00:00:00 2001 From: Harold Hunt Date: Sat, 12 Apr 2025 13:35:37 -0400 Subject: [PATCH 5/9] Perf Tests - Try adding label to only invoke perf tests --- .github/workflows/build.yml | 94 ++++++------------------- .github/workflows/perf-test-only.yml | 27 ++++++++ .github/workflows/performance-test.yml | 95 ++++++++++++++++++++++++++ 3 files changed, 141 insertions(+), 75 deletions(-) create mode 100644 .github/workflows/perf-test-only.yml create mode 100644 .github/workflows/performance-test.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 015ba606..9d9b075a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,23 @@ on: types: [published] jobs: + check-skip: + runs-on: ubuntu-latest + outputs: + should-skip: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'PERF-TEST-ONLY') }} + steps: + - name: Check for PERF-TEST-ONLY label + id: check + run: | + if [[ "${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'PERF-TEST-ONLY') }}" == "true" ]]; then + echo "Label PERF-TEST-ONLY is present, skipping build" + else + echo "Proceeding with build" + fi + check-access: + needs: check-skip + if: needs.check-skip.outputs.should-skip != 'true' runs-on: ubuntu-latest outputs: has-token-access: ${{ steps.check.outputs.has-token-access }} @@ -727,82 +743,10 @@ jobs: needs: - smoke-test - deploy - runs-on: ubuntu-latest if: ${{ !cancelled() && needs.smoke-test.result != 'failed' && github.event_name == 'pull_request' }} - steps: - - name: Install oha - run: | - wget https://github.com/hatoo/oha/releases/download/v1.8.0/oha-linux-amd64 -O oha - chmod +x oha - sudo mv oha /usr/local/bin/ - - - name: Run Performance Tests - id: perf-test - run: | - # Create results directory - mkdir -p test-results - - # Run performance tests and save results - echo "Running latency test (20 concurrent, 60s)..." - oha --no-tui -j -c 20 -z 60s ${{ needs.deploy.outputs.url }}/ping > test-results/latency.json - cat test-results/latency.json - - echo "Running throughput test (100 concurrent, 60s)..." - oha --no-tui -j -c 100 -z 60s ${{ needs.deploy.outputs.url }}/ping > test-results/throughput.json - cat test-results/throughput.json - - # Parse results and create markdown table - echo "Generating markdown table..." - node -e ' - const fs = require("fs"); - const latencyResults = JSON.parse(fs.readFileSync("test-results/latency.json")); - const throughputResults = JSON.parse(fs.readFileSync("test-results/throughput.json")); - - const formatNumber = (num) => Number(num).toLocaleString(undefined, { maximumFractionDigits: 2 }); - - const table = [ - "### 🚀 Performance Test Results", - "", - "| Metric | Latency Test (20 concurrent) | Throughput Test (100 concurrent) |", - "|--------|----------------------------|--------------------------------|", - `| Duration | ${formatNumber(latencyResults.summary.total)} | ${formatNumber(throughputResults.summary.total)} |`, - `| Total Requests | ${formatNumber(latencyResults.summary.total * latencyResults.summary.requestsPerSec)} | ${formatNumber(throughputResults.summary.total * throughputResults.summary.requestsPerSec)} |`, - `| Total Success | ${formatNumber(latencyResults.statusCodeDistribution["200"])} | ${formatNumber(throughputResults.statusCodeDistribution["200"])} |`, - `| Requests/sec | ${formatNumber(latencyResults.summary.requestsPerSec)} | ${formatNumber(throughputResults.summary.requestsPerSec)} |`, - `| Mean Latency | ${formatNumber(latencyResults.summary.average * 1000)}ms | ${formatNumber(throughputResults.summary.average * 1000)}ms |`, - `| p95 Latency | ${formatNumber(latencyResults.latencyPercentiles.p95 * 1000)}ms | ${formatNumber(throughputResults.latencyPercentiles.p95 * 1000)}ms |`, - `| p99 Latency | ${formatNumber(latencyResults.latencyPercentiles.p99 * 1000)}ms | ${formatNumber(throughputResults.latencyPercentiles.p99 * 1000)}ms |`, - `| Max Latency | ${formatNumber(latencyResults.summary.slowest * 1000)}ms | ${formatNumber(throughputResults.summary.slowest * 1000)}ms |`, - "", - "_Note: Tests run against the /ping endpoint for 60 seconds each._", - "", - `*Last updated: ${new Date().toISOString()}*`, - "" // Add empty line at the end - ].join("\n"); - - fs.writeFileSync("test-results/table.md", table); - ' - - # Save table content to outputs - echo "performance_results<> $GITHUB_OUTPUT - cat test-results/table.md >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - - name: Find Performance Results Comment - uses: peter-evans/find-comment@v3 - id: find-comment - with: - issue-number: ${{ github.event.pull_request.number }} - comment-author: 'github-actions[bot]' - body-includes: '### 🚀 Performance Test Results' - - - name: Post Performance Results Comment - uses: peter-evans/create-or-update-comment@v4 - with: - comment-id: ${{ steps.find-comment.outputs.comment-id }} - edit-mode: replace - issue-number: ${{ github.event.pull_request.number }} - body: ${{ steps.perf-test.outputs.performance_results }} + uses: ./.github/workflows/performance-test.yml + with: + pr_number: ${{ github.event.pull_request.number }} create-status-checks: needs: [deploy, smoke-test, performance-test] diff --git a/.github/workflows/perf-test-only.yml b/.github/workflows/perf-test-only.yml new file mode 100644 index 00000000..d8436a23 --- /dev/null +++ b/.github/workflows/perf-test-only.yml @@ -0,0 +1,27 @@ +name: Performance Test Only + +on: + pull_request: + types: [opened, synchronize, reopened, labeled] + +jobs: + check-label: + runs-on: ubuntu-latest + outputs: + should-run: ${{ contains(github.event.pull_request.labels.*.name, 'PERF-TEST-ONLY') }} + steps: + - name: Check for PERF-TEST-ONLY label + id: check + run: | + if [[ "${{ contains(github.event.pull_request.labels.*.name, 'PERF-TEST-ONLY') }}" == "true" ]]; then + echo "Label PERF-TEST-ONLY is present" + else + echo "Label PERF-TEST-ONLY is not present" + fi + + perf-test: + needs: check-label + if: needs.check-label.outputs.should-run == 'true' + uses: ./.github/workflows/performance-test.yml + with: + pr_number: ${{ github.event.pull_request.number }} diff --git a/.github/workflows/performance-test.yml b/.github/workflows/performance-test.yml new file mode 100644 index 00000000..5e9f616b --- /dev/null +++ b/.github/workflows/performance-test.yml @@ -0,0 +1,95 @@ +name: Performance Test + +on: + workflow_call: + inputs: + pr_number: + required: true + type: string + description: 'PR number, used to construct the test URL' + +jobs: + performance-test: + runs-on: ubuntu-latest + steps: + - name: Install oha + run: | + wget https://github.com/hatoo/oha/releases/download/v0.5.8/oha-linux-amd64 -O oha + chmod +x oha + sudo mv oha /usr/local/bin/ + + - name: Get Test URL + id: get-url + run: | + if [ "${{ inputs.pr_number }}" != "" ]; then + echo "url=https://lambdadispatch-pr-${{ inputs.pr_number }}.ghpublic.pwrdrvr.com" >> $GITHUB_OUTPUT + else + echo "url=https://lambdadispatch.ghpublic.pwrdrvr.com" >> $GITHUB_OUTPUT + fi + + - name: Run Performance Tests + id: perf-test + run: | + # Create results directory + mkdir -p test-results + + # Run performance tests and save results + echo "Running latency test (20 concurrent, 60s)..." + oha --no-tui -j -c 20 -z 60s ${{ steps.get-url.outputs.url }}/ping > test-results/latency.json + cat test-results/latency.json + + echo "Running throughput test (100 concurrent, 60s)..." + oha --no-tui -j -c 100 -z 60s ${{ steps.get-url.outputs.url }}/ping > test-results/throughput.json + cat test-results/throughput.json + + # Parse results and create markdown table + node -e ' + const fs = require("fs"); + const latencyResults = JSON.parse(fs.readFileSync("test-results/latency.json")); + const throughputResults = JSON.parse(fs.readFileSync("test-results/throughput.json")); + + const formatNumber = (num) => Number(num).toLocaleString(undefined, { maximumFractionDigits: 2 }); + + const table = [ + "### 🚀 Performance Test Results", + "", + "| Metric | Latency Test (20 concurrent) | Throughput Test (100 concurrent) |", + "|--------|----------------------------|--------------------------------|", + `| Duration | ${formatNumber(latencyResults.summary.total)} | ${formatNumber(throughputResults.summary.total)} |`, + `| Total Requests | ${formatNumber(latencyResults.summary.total * latencyResults.summary.requestsPerSec)} | ${formatNumber(throughputResults.summary.total * throughputResults.summary.requestsPerSec)} |`, + `| Total Success | ${formatNumber(latencyResults.statusCodeDistribution["200"])} | ${formatNumber(throughputResults.statusCodeDistribution["200"])} |`, + `| Requests/sec | ${formatNumber(latencyResults.summary.requestsPerSec)} | ${formatNumber(throughputResults.summary.requestsPerSec)} |`, + `| Mean Latency | ${formatNumber(latencyResults.summary.average * 1000)}ms | ${formatNumber(throughputResults.summary.average * 1000)}ms |`, + `| p95 Latency | ${formatNumber(latencyResults.latencyPercentiles.p95 * 1000)}ms | ${formatNumber(throughputResults.latencyPercentiles.p95 * 1000)}ms |`, + `| p99 Latency | ${formatNumber(latencyResults.latencyPercentiles.p99 * 1000)}ms | ${formatNumber(throughputResults.latencyPercentiles.p99 * 1000)}ms |`, + `| Max Latency | ${formatNumber(latencyResults.summary.slowest * 1000)}ms | ${formatNumber(throughputResults.summary.slowest * 1000)}ms |`, + "", + "_Note: Tests run against the /ping endpoint for 60 seconds each._", + "", + `*Last updated: ${new Date().toISOString()}*`, + "" // Add empty line at the end + ].join("\n"); + + fs.writeFileSync("test-results/table.md", table); + ' + + # Save table content to outputs + echo "performance_results<> $GITHUB_OUTPUT + cat test-results/table.md >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + - name: Find Performance Results Comment + uses: peter-evans/find-comment@v3 + id: find-comment + with: + issue-number: ${{ inputs.pr_number }} + comment-author: 'github-actions[bot]' + body-includes: '### 🚀 Performance Test Results' + + - name: Post Performance Results Comment + uses: peter-evans/create-or-update-comment@v4 + with: + comment-id: ${{ steps.find-comment.outputs.comment-id }} + edit-mode: replace + issue-number: ${{ inputs.pr_number }} + body: ${{ steps.perf-test.outputs.performance_results }} From cccf09c8e88ad6b743a12774a4cc137ac62eedfb Mon Sep 17 00:00:00 2001 From: Harold Hunt Date: Sat, 12 Apr 2025 13:40:06 -0400 Subject: [PATCH 6/9] Perf Tests - Skip deploy if whole build skipped --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9d9b075a..948a0fb1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -650,10 +650,11 @@ jobs: install-deps: needs: + - check-skip - build-demoapp - merge-router runs-on: ubuntu-latest - if: ${{ !failure() && (needs.build-demoapp.result == 'skipped' || needs.build-demoapp.result == 'success') && (needs.merge-router.result == 'skipped' || needs.merge-router.result == 'success') }} + if: ${{ !failure() && needs.check-skip.result != 'skipped' && (needs.build-demoapp.result == 'skipped' || needs.build-demoapp.result == 'success') && (needs.merge-router.result == 'skipped' || needs.merge-router.result == 'success') }} steps: - uses: actions/checkout@v4 - uses: ./.github/actions/configure-nodejs From 47a7fb0c8c2a893464da9cfd8eea879fd7c501cb Mon Sep 17 00:00:00 2001 From: Harold Hunt Date: Sat, 12 Apr 2025 13:42:40 -0400 Subject: [PATCH 7/9] Perf Tests - Fix skip check --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 948a0fb1..865addf9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -654,7 +654,7 @@ jobs: - build-demoapp - merge-router runs-on: ubuntu-latest - if: ${{ !failure() && needs.check-skip.result != 'skipped' && (needs.build-demoapp.result == 'skipped' || needs.build-demoapp.result == 'success') && (needs.merge-router.result == 'skipped' || needs.merge-router.result == 'success') }} + if: ${{ !failure() && needs.check-skip.outputs.should-skip != 'true' && (needs.build-demoapp.result == 'skipped' || needs.build-demoapp.result == 'success') && (needs.merge-router.result == 'skipped' || needs.merge-router.result == 'success') }} steps: - uses: actions/checkout@v4 - uses: ./.github/actions/configure-nodejs From 552368b27f50fca8f953a7d8b0d7c2bb74d3bcdb Mon Sep 17 00:00:00 2001 From: Harold Hunt Date: Sat, 12 Apr 2025 13:49:00 -0400 Subject: [PATCH 8/9] Perf Tests - Try try again --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 865addf9..597a99ea 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -676,7 +676,7 @@ jobs: outputs: stack-url-suffix: ${{ steps.getDeployUrl.outputs.stack-url-suffix }} url: https://lambdadispatch${{ steps.getDeployUrl.outputs.stack-url-suffix }}.ghpublic.pwrdrvr.com - if: ${{ !cancelled() && needs.install-deps.result != 'failed' }} + if: ${{ needs.install-deps.result == 'success' }} env: DEMO_APP_REGISTRY_IMAGE: public.ecr.aws/pwrdrvr/lambda-dispatch-demo-app${{ github.event_name == 'pull_request' && '-dev' || '' }} ROUTER_REGISTRY_IMAGE: public.ecr.aws/pwrdrvr/lambda-dispatch-router${{ github.event_name == 'pull_request' && '-dev' || '' }} @@ -723,7 +723,7 @@ jobs: smoke-test: needs: [deploy] runs-on: ubuntu-latest - if: ${{ !cancelled() && needs.deploy.result != 'failed' }} + if: ${{ needs.deploy.result == 'success' }} steps: - name: Smoke Test run: | @@ -744,7 +744,7 @@ jobs: needs: - smoke-test - deploy - if: ${{ !cancelled() && needs.smoke-test.result != 'failed' && github.event_name == 'pull_request' }} + if: ${{ needs.smoke-test.result == 'success' && github.event_name == 'pull_request' }} uses: ./.github/workflows/performance-test.yml with: pr_number: ${{ github.event.pull_request.number }} @@ -752,7 +752,7 @@ jobs: create-status-checks: needs: [deploy, smoke-test, performance-test] runs-on: ubuntu-latest - if: ${{ !cancelled() && needs.deploy.result != 'failed' && github.event_name == 'pull_request' }} + if: ${{ needs.deploy.result == 'success' && github.event_name == 'pull_request' }} steps: - name: Generate URLs id: generate-urls From c3956a3a88878217f487a1cafb75583cbcd25a1c Mon Sep 17 00:00:00 2001 From: Harold Hunt Date: Sat, 12 Apr 2025 13:51:28 -0400 Subject: [PATCH 9/9] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 597a99ea..38953967 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -740,6 +740,7 @@ jobs: curl ${BASE_URL}/ping done + # Dummy comment performance-test: needs: - smoke-test