chore: update mpl #256
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
| # This workflow performs tests in Java. | ||
| name: Library Java tests | ||
| on: | ||
| workflow_call: | ||
| inputs: | ||
| dafny: | ||
| description: "The Dafny version to run" | ||
| required: true | ||
| type: string | ||
| regenerate-code: | ||
| description: "Regenerate code using smithy-dafny" | ||
| required: false | ||
| default: false | ||
| type: boolean | ||
| jobs: | ||
| testJava: | ||
| strategy: | ||
| matrix: | ||
| library: [] | ||
| #AwsEncryptionSDK | ||
| os: [ | ||
| # TODO just test on mac for now | ||
| #windows-latest, | ||
| #ubuntu-22.04, | ||
| macos-15, | ||
| ] | ||
| runs-on: ${{ matrix.os }} | ||
| permissions: | ||
| id-token: write | ||
| contents: read | ||
| steps: | ||
| - name: Support longpaths | ||
| run: | | ||
| git config --global core.longpaths true | ||
| - uses: actions/checkout@v5 | ||
| - name: Init Submodules | ||
| run: | | ||
| git submodule update --init libraries | ||
| git submodule update --init --recursive mpl | ||
| - name: Configure AWS Credentials | ||
| uses: aws-actions/configure-aws-credentials@v5 | ||
| with: | ||
| aws-region: us-west-2 | ||
| role-to-assume: arn:aws:iam::370957321024:role/GitHub-CI-Public-ESDK-Dafny-Role-us-west-2 | ||
| role-session-name: JavaTests | ||
| - name: Setup Dafny | ||
| uses: ./mpl/.github/actions/setup_dafny | ||
| with: | ||
| dafny-version: ${{ inputs.dafny }} | ||
| - name: Install Smithy-Dafny codegen dependencies | ||
| uses: ./.github/actions/install_smithy_dafny_codegen_dependencies | ||
| - name: Regenerate code using smithy-dafny if necessary | ||
| if: ${{ inputs.regenerate-code }} | ||
| uses: ./.github/actions/polymorph_codegen | ||
| with: | ||
| dafny: ${{ env.DAFNY_VERSION }} | ||
| library: ${{ matrix.library }} | ||
| diff-generated-code: false | ||
| update-and-regenerate-mpl: true | ||
| - name: Setup Java 8 | ||
| uses: actions/setup-java@v5 | ||
| with: | ||
| distribution: "corretto" | ||
| java-version: 8 | ||
| - name: Build ${{ matrix.library }} implementation | ||
| shell: bash | ||
| working-directory: ./${{ matrix.library }} | ||
| run: | | ||
| # This works because `node` is installed by default on GHA runners | ||
| CORES=$(node -e 'console.log(os.cpus().length)') | ||
| make build_java CORES=$CORES | ||
| - name: Test ${{ matrix.library }} | ||
| working-directory: ./${{ matrix.library }} | ||
| run: | | ||
| make test_java | ||
| - name: Setup Java 11 | ||
| uses: actions/setup-java@v5 | ||
| with: | ||
| distribution: "corretto" | ||
| java-version: 11 | ||
| - name: Clean for next Java | ||
| uses: gradle/gradle-build-action@v3 | ||
| with: | ||
| arguments: clean | ||
| build-root-directory: ./${{ matrix.library }}/runtimes/java | ||
| - name: Compile Java 11 | ||
| uses: gradle/gradle-build-action@v3 | ||
| with: | ||
| arguments: build | ||
| build-root-directory: ./${{ matrix.library }}/runtimes/java | ||
| - name: Test Java 11 | ||
| uses: gradle/gradle-build-action@v3 | ||
| with: | ||
| arguments: runTests | ||
| build-root-directory: ./${{ matrix.library }}/runtimes/java | ||
| - name: Setup Java 8 | ||
| uses: actions/setup-java@v5 | ||
| with: | ||
| distribution: "corretto" | ||
| java-version: 8 | ||
| - name: Setup Java 17 | ||
| uses: actions/setup-java@v5 | ||
| with: | ||
| distribution: "corretto" | ||
| java-version: 17 | ||
| - name: Clean for next Java | ||
| uses: gradle/gradle-build-action@v3 | ||
| with: | ||
| arguments: clean | ||
| build-root-directory: ./${{ matrix.library }}/runtimes/java | ||
| - name: Compile Java 17 | ||
| uses: gradle/gradle-build-action@v3 | ||
| with: | ||
| arguments: build | ||
| build-root-directory: ./${{ matrix.library }}/runtimes/java | ||
| - name: Test Java 17 | ||
| uses: gradle/gradle-build-action@v3 | ||
| with: | ||
| arguments: runTests | ||
| build-root-directory: ./${{ matrix.library }}/runtimes/java | ||