Repository navigation
feat(plugin): add user function outcome enum #1355
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
| name: E2E Tests | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - '.github/**' # for testing Github Actions | |
| - 'sdk/**' | |
| - 'sdk-testing/**' | |
| - 'sdk-integration-tests/**' | |
| - 'examples/**' | |
| - 'pom.xml' | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - '.github/**' | |
| - 'sdk/**' | |
| - 'sdk-testing/**' | |
| - 'sdk-integration-tests/**' | |
| - 'examples/**' | |
| - 'pom.xml' | |
| concurrency: | |
| group: e2e-tests | |
| cancel-in-progress: false | |
| # permission can be added at job level or workflow level | |
| permissions: | |
| id-token: write # This is required for requesting the JWT | |
| contents: read # This is required for actions/checkout | |
| jobs: | |
| e2e-tests: | |
| env: | |
| AWS_REGION: us-west-2 | |
| E2E_TEST_PARALLELISM: 4 | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| java: | |
| - 17 | |
| - 21 | |
| - 25 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Setup AWS SAM CLI | |
| uses: aws-actions/setup-sam@v3 | |
| with: | |
| use-installer: true | |
| # token: ${{ secrets.GITHUB_TOKEN }} # only enable if we run into throughput issues | |
| - name: Configure AWS credentials | |
| uses: aws-actions/configure-aws-credentials@e6de054238d6b7531b4efff3b6587d9aade6a06c # v6.2.3 | |
| with: | |
| role-to-assume: "${{ secrets.TEST_ROLE_ARN }}" | |
| role-session-name: java-language-sdk-test | |
| aws-region: ${{ env.AWS_REGION }} | |
| allowed-account-ids: ${{ secrets.TEST_ACCOUNT_ID }} | |
| - name: Setup Java ${{ matrix.java }} | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: corretto | |
| java-version: ${{ matrix.java }} | |
| cache: maven | |
| - name: Build locally | |
| run: mvn -B -q -Dmaven.test.skip=true install --file pom.xml | |
| - name: Generate SAM template | |
| run: python3 generate-template.py | |
| working-directory: ./examples | |
| - name: sam build | |
| env: | |
| MAVEN_OPTS: -DskipTests=true -Dmaven.test.skip=true | |
| run: | # add --no-cached if debugging sam build | |
| sam build --debug --parameter-overrides \ | |
| 'ParameterKey=Architecture,ParameterValue=x86_64 ParameterKey=JavaVersion,ParameterValue=java${{ matrix.java }} ParameterKey=FunctionNamePrefix,ParameterValue=Java${{ matrix.java }}- ParameterKey=RoleArn,ParameterValue=${{ secrets.TEST_LAMBDA_EXECUTION_ROLE_ARN }}' | |
| working-directory: ./examples | |
| - name: Clean up unmanaged Lambda log groups | |
| run: | | |
| # TODO: Remove this one-time migration cleanup after existing e2e stacks adopt managed log groups. | |
| .github/scripts/cleanup_e2e_unmanaged_log_groups.sh --execute \ | |
| --stack-name Java${{ matrix.java }}-JavaSDKCloudBasedIntegrationTestStack | |
| - name: sam deploy | |
| run: | | |
| sam deploy --stack-name Java${{ matrix.java }}-JavaSDKCloudBasedIntegrationTestStack \ | |
| --resolve-image-repos --resolve-s3 --parameter-overrides \ | |
| 'ParameterKey=Architecture,ParameterValue=x86_64 ParameterKey=JavaVersion,ParameterValue=java${{ matrix.java }} ParameterKey=FunctionNamePrefix,ParameterValue=Java${{ matrix.java }}- ParameterKey=RoleArn,ParameterValue=${{ secrets.TEST_LAMBDA_EXECUTION_ROLE_ARN }}' | |
| working-directory: ./examples | |
| - name: Cloud Based Integration Tests | |
| run: | | |
| mvn clean test -B \ | |
| -Dtest.cloud.enabled=true \ | |
| -Dtest.aws.account='${{ secrets.TEST_ACCOUNT_ID }}' \ | |
| -Dtest=CloudBasedIntegrationTest \ | |
| -Dtest.function.name.prefix='Java${{ matrix.java }}-' \ | |
| -Djunit.jupiter.execution.parallel.enabled=true \ | |
| -Djunit.jupiter.execution.parallel.mode.default=concurrent \ | |
| -Djunit.jupiter.execution.parallel.mode.classes.default=concurrent \ | |
| -Djunit.jupiter.execution.parallel.config.strategy=fixed \ | |
| -Djunit.jupiter.execution.parallel.config.fixed.parallelism=${{ env.E2E_TEST_PARALLELISM }} | |
| working-directory: ./examples | |
| - name: Publish test case summary | |
| if: always() | |
| env: | |
| JAVA_VERSION: ${{ matrix.java }} | |
| run: python3 ../.github/scripts/publish_e2e_test_summary.py | |
| working-directory: ./examples |