diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4ed5ed7b..6e2f4a85 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -234,7 +234,7 @@ jobs: cp -r /tmp/digests-router-amd64/private/* /tmp/digests-router/private/ || true cp -r /tmp/digests-router-arm64/public/* /tmp/digests-router/public/ || true cp -r /tmp/digests-router-arm64/private/* /tmp/digests-router/private/ || true - + # List files to verify echo "Public digests:" ls -la /tmp/digests-router/public/ || true @@ -432,7 +432,7 @@ jobs: run: | mkdir -p /tmp/digests rm -rf /tmp/digests/* || true - + - name: Download x86_64 digests uses: actions/download-artifact@v4 with: @@ -444,13 +444,13 @@ jobs: with: name: digests-extension-aarch64 path: /tmp/digests-aarch64 - + - name: Merge digests run: | # Copy files from platform-specific folders to the main folder cp -r /tmp/digests-x86_64/* /tmp/digests/ || true cp -r /tmp/digests-aarch64/* /tmp/digests/ || true - + # List files to verify echo "Extension digests:" ls -la /tmp/digests/ || true @@ -659,7 +659,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: ${{ always() && needs.install-deps.result != 'failed' }} + if: ${{ !cancelled() && needs.install-deps.result != 'failed' }} 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' || '' }} @@ -706,7 +706,7 @@ jobs: smoke-test: needs: [deploy] runs-on: ubuntu-latest - if: ${{ always() && needs.deploy.result != 'failed' }} + if: ${{ !cancelled() && needs.deploy.result != 'failed' }} steps: - name: Smoke Test run: | @@ -722,11 +722,11 @@ jobs: for i in {1..5}; do curl ${BASE_URL}/ping done - + create-status-checks: needs: [deploy, smoke-test] runs-on: ubuntu-latest - if: ${{ always() && needs.deploy.result != 'failed' && github.event_name == 'pull_request' }} + if: ${{ !cancelled() && needs.deploy.result != 'failed' && github.event_name == 'pull_request' }} steps: - name: Generate URLs id: generate-urls @@ -737,7 +737,7 @@ jobs: echo "alb_demoapp=https://lambdadispatch-demoapp-pr-${PR_NUMBER}.ghpublic.pwrdrvr.com" >> $GITHUB_OUTPUT echo "nlb_router=https://lambdadispatch-nlb-pr-${PR_NUMBER}.ghpublic.pwrdrvr.com" >> $GITHUB_OUTPUT echo "nlb_demoapp=https://lambdadispatch-nlb-demoapp-pr-${PR_NUMBER}.ghpublic.pwrdrvr.com" >> $GITHUB_OUTPUT - + - name: Find Deployment URLs Comment uses: peter-evans/find-comment@v3 id: find-comment @@ -745,7 +745,7 @@ jobs: issue-number: ${{ github.event.pull_request.number }} comment-author: 'github-actions[bot]' body-includes: '### ๐Ÿš€ Deployment URLs' - + - name: Post Deployment URLs Comment uses: peter-evans/create-or-update-comment@v4 with: @@ -754,55 +754,55 @@ jobs: issue-number: ${{ github.event.pull_request.number }} body: | ### ๐Ÿš€ Deployment URLs - + #### Application Load Balancer (ALB) - **Router**: [${{ steps.generate-urls.outputs.alb_router }}](${{ steps.generate-urls.outputs.alb_router }}) - **Demo App**: [${{ steps.generate-urls.outputs.alb_demoapp }}](${{ steps.generate-urls.outputs.alb_demoapp }}) - + #### Network Load Balancer (NLB) - **Router (Port ${{ github.event.pull_request.number }})**: [${{ steps.generate-urls.outputs.nlb_router }}](${{ steps.generate-urls.outputs.nlb_router }}) - **Demo App (Port ${{ github.event.pull_request.number }}+10000)**: [${{ steps.generate-urls.outputs.nlb_demoapp }}](${{ steps.generate-urls.outputs.nlb_demoapp }}) - + ### ๐Ÿงช Test Endpoints - + #### Basic Tests ```bash # Simple ping test curl -v ${{ steps.generate-urls.outputs.alb_router }}/ping - + # View request headers curl ${{ steps.generate-urls.outputs.alb_router }}/headers - + # Delayed response (milliseconds) curl ${{ steps.generate-urls.outputs.alb_router }}/delay?delay=500 ``` - + #### Load/Performance Tests ```bash # Ping test with 100 concurrent requests (Hey) hey -h2 -c 100 -n 10000 ${{ steps.generate-urls.outputs.alb_router }}/ping - + # Ping test with controlled concurrency (oha) oha -c 20 -z 60s ${{ steps.generate-urls.outputs.alb_router }}/ping - + # Post and echo data curl -X POST -H "Content-Type: text/plain" --data "Hello World" ${{ steps.generate-urls.outputs.alb_router }}/echo ``` - + #### Advanced Features ```bash # Chunked/streaming response curl ${{ steps.generate-urls.outputs.alb_router }}/chunked-response - + # Read from S3 curl ${{ steps.generate-urls.outputs.alb_router }}/read-s3 - + # Read from DynamoDB curl ${{ steps.generate-urls.outputs.alb_router }}/read ``` - + *Deployment updated: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}* - + # Create a single environment for the main deployment URL to show in PR checks - name: Update Main Environment env: