Fix streaming test request parsing #33
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
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| checks: write | |
| id-token: write | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Set up SAM CLI | |
| uses: aws-actions/setup-sam@v2 | |
| - name: Build layer (amd64) | |
| run: make build-amd64 | |
| - name: Run ShellSpec (smoke) | |
| id: shellspec_smoke | |
| continue-on-error: true | |
| run: SHELLSPEC_ARGS='--output junit --shell /bin/sh --reportdir report/smoke' make test-smoke | |
| - name: Run ShellSpec (unit) | |
| id: shellspec_unit | |
| continue-on-error: true | |
| run: SHELLSPEC_ARGS='--output junit --shell /bin/sh --reportdir report/unit' make test-unit | |
| - name: Run ShellSpec (integration) | |
| id: shellspec_integration | |
| continue-on-error: true | |
| run: SHELLSPEC_ARGS='--output junit --shell /bin/sh --reportdir report/integration' make test-int | |
| - name: Upload smoke test report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: shellspec-smoke-junit | |
| path: report/smoke/results_junit.xml | |
| if-no-files-found: warn | |
| - name: Upload unit test report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: shellspec-unit-junit | |
| path: report/unit/results_junit.xml | |
| if-no-files-found: warn | |
| - name: Upload integration test report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: shellspec-integration-junit | |
| path: report/integration/results_junit.xml | |
| if-no-files-found: warn | |
| - name: Publish smoke test report | |
| if: always() | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| name: shellspec-smoke | |
| path: report/smoke/results_junit.xml | |
| reporter: java-junit | |
| fail-on-error: false | |
| - name: Publish unit test report | |
| if: always() | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| name: shellspec-unit | |
| path: report/unit/results_junit.xml | |
| reporter: java-junit | |
| fail-on-error: false | |
| - name: Publish integration test report | |
| if: always() | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| name: shellspec-integration | |
| path: report/integration/results_junit.xml | |
| reporter: java-junit | |
| fail-on-error: false | |
| - name: Fail if tests failed | |
| if: steps.shellspec_smoke.outcome != 'success' || steps.shellspec_unit.outcome != 'success' || steps.shellspec_integration.outcome != 'success' | |
| run: exit 1 | |
| - name: Configure AWS credentials (OIDC) | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: ${{ secrets.AWS_ROLE_ARN }} | |
| aws-region: ${{ vars.AWS_REGION }} | |
| - name: Log AWS caller identity | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| run: aws sts get-caller-identity | |
| - name: Publish and deploy dev SAR (amd64) | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' && steps.shellspec_smoke.outcome == 'success' && steps.shellspec_unit.outcome == 'success' && steps.shellspec_integration.outcome == 'success' | |
| env: | |
| ENV: dev | |
| run: | | |
| make delete-sar ARCH=amd64 | |
| make publish-sar ARCH=amd64 | |
| make deploy-sar ARCH=amd64 |