Engine Nightly Checks #552
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 file is auto-generated. Do not edit it manually! | |
| # Edit the enso_build::ci_gen module instead and run `cargo run --package enso-build-ci-gen`. | |
| name: Engine Nightly Checks | |
| on: | |
| schedule: | |
| - cron: 0 3 * * * | |
| workflow_dispatch: | |
| inputs: | |
| clean_build_required: | |
| description: Clean before and after the run. | |
| required: false | |
| type: boolean | |
| default: false | |
| jobs: | |
| enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-linux-amd64: | |
| name: Build Engine Distribution (GraalVM CE) (native,test) (linux, amd64) | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: ./run backend ci-build-engine-distribution | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Archive Engine Distribution | |
| run: tar -cvf built-distribution.tar built-distribution test | |
| - name: Upload Engine Distribution | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (linux, amd64) | |
| path: built-distribution.tar | |
| - name: Cleanup Archive | |
| run: rm built-distribution.tar | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| ENSO_LAUNCHER: native,test | |
| GRAAL_EDITION: GraalVM CE | |
| enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-macos-aarch64: | |
| name: Build Engine Distribution (GraalVM CE) (native,test) (macos, aarch64) | |
| runs-on: | |
| - self-hosted | |
| - macOS | |
| - ARM64 | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: ./run backend ci-build-engine-distribution | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Archive Engine Distribution | |
| run: tar -cvf built-distribution.tar built-distribution test | |
| - name: Upload Engine Distribution | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (macos, aarch64) | |
| path: built-distribution.tar | |
| - name: Cleanup Archive | |
| run: rm built-distribution.tar | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| ENSO_LAUNCHER: native,test | |
| GRAAL_EDITION: GraalVM CE | |
| enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-windows-amd64: | |
| name: Build Engine Distribution (GraalVM CE) (native,test) (windows, amd64) | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: ./run backend ci-build-engine-distribution | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Archive Engine Distribution | |
| run: tar -cvf built-distribution.tar built-distribution test | |
| - name: Upload Engine Distribution | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (windows, amd64) | |
| path: built-distribution.tar | |
| - name: Cleanup Archive | |
| run: rm built-distribution.tar | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| ENSO_LAUNCHER: native,test | |
| GRAAL_EDITION: GraalVM CE | |
| enso-build-ci-gen-job-build-engine-distribution-oracle-graal-vm-linux-amd64: | |
| name: Build Engine Distribution (Oracle GraalVM) (native,test) (linux, amd64) | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: ./run backend ci-build-engine-distribution | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Archive Engine Distribution | |
| run: tar -cvf built-distribution.tar built-distribution test | |
| - name: Upload Engine Distribution | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Engine Distribution (Oracle GraalVM) (native,test) (linux, amd64) | |
| path: built-distribution.tar | |
| - name: Cleanup Archive | |
| run: rm built-distribution.tar | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| ENSO_LAUNCHER: native,test | |
| GRAAL_EDITION: Oracle GraalVM | |
| enso-build-ci-gen-job-enso-code-lint-check-linux-amd64: | |
| name: Enso Code Lint (linux, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-linux-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Check syntax | |
| run: ./run libraries check-syntax | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (linux, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run libraries lint | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| ENSO_LINT_ENABLE_GITHUB_ANNOTATIONS: "true" | |
| enso-build-ci-gen-job-jvm-tests-graal-vm-ce-linux-amd64: | |
| name: JVM Tests (GraalVM CE) (linux, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-linux-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (linux, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test jvm | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (JVM Tests, linux, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Engine Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Engine Tests Report (GraalVM CE, linux, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| permissions: | |
| checks: write | |
| enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-aarch64: | |
| name: JVM Tests (GraalVM CE) (macos, aarch64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-macos-aarch64 | |
| runs-on: | |
| - self-hosted | |
| - macOS | |
| - ARM64 | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (macos, aarch64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test jvm | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (JVM Tests, macos, aarch64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Engine Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Engine Tests Report (GraalVM CE, macos, aarch64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| permissions: | |
| checks: write | |
| enso-build-ci-gen-job-jvm-tests-graal-vm-ce-windows-amd64: | |
| name: JVM Tests (GraalVM CE) (windows, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-windows-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (windows, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test jvm | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (JVM Tests, windows, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Engine Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Engine Tests Report (GraalVM CE, windows, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| permissions: | |
| checks: write | |
| enso-build-ci-gen-job-jvm-tests-oracle-graal-vm-linux-amd64: | |
| name: JVM Tests (Oracle GraalVM) (linux, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-oracle-graal-vm-linux-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (Oracle GraalVM) (native,test) (linux, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test jvm | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (JVM Tests, linux, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Engine Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Engine Tests Report (Oracle GraalVM, linux, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: Oracle GraalVM | |
| permissions: | |
| checks: write | |
| enso-build-ci-gen-job-standard-library-api-check-linux-amd64: | |
| name: Standard Library API check (linux, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-linux-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (linux, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend stdlib-api-check | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| stdlib-graal-vm-ce-standard-library-in-native-linux-amd64: | |
| name: Standard Library Native Tests (GraalVM CE) (linux, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-linux-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (linux, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test standard-library-in-native | |
| env: | |
| ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }} | |
| ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }} | |
| ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Standard Library Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Standard Library Tests Report (GraalVM CE, linux, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (Standard Library Native Tests, linux, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| permissions: | |
| checks: write | |
| stdlib-graal-vm-ce-standard-library-in-native-macos-aarch64: | |
| name: Standard Library Native Tests (GraalVM CE) (macos, aarch64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-macos-aarch64 | |
| runs-on: | |
| - self-hosted | |
| - macOS | |
| - ARM64 | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (macos, aarch64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test standard-library-in-native | |
| env: | |
| ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }} | |
| ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }} | |
| ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Standard Library Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Standard Library Tests Report (GraalVM CE, macos, aarch64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (Standard Library Native Tests, macos, aarch64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| permissions: | |
| checks: write | |
| stdlib-graal-vm-ce-standard-library-in-native-windows-amd64: | |
| name: Standard Library Native Tests (GraalVM CE) (windows, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-windows-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (windows, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test standard-library-in-native | |
| env: | |
| ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }} | |
| ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }} | |
| ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Standard Library Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Standard Library Tests Report (GraalVM CE, windows, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (Standard Library Native Tests, windows, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| permissions: | |
| checks: write | |
| stdlib-graal-vm-ce-standard-library-linux-amd64: | |
| name: Standard Library JVM Tests (GraalVM CE) (linux, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-linux-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (linux, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test standard-library | |
| env: | |
| ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }} | |
| ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }} | |
| ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Standard Library Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Standard Library Tests Report (GraalVM CE, linux, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (Standard Library JVM Tests, linux, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| permissions: | |
| checks: write | |
| stdlib-graal-vm-ce-standard-library-macos-aarch64: | |
| name: Standard Library JVM Tests (GraalVM CE) (macos, aarch64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-macos-aarch64 | |
| runs-on: | |
| - self-hosted | |
| - macOS | |
| - ARM64 | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (macos, aarch64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test standard-library | |
| env: | |
| ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }} | |
| ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }} | |
| ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Standard Library Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Standard Library Tests Report (GraalVM CE, macos, aarch64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (Standard Library JVM Tests, macos, aarch64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| permissions: | |
| checks: write | |
| stdlib-graal-vm-ce-standard-library-windows-amd64: | |
| name: Standard Library JVM Tests (GraalVM CE) (windows, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-windows-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Windows | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (windows, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test standard-library | |
| env: | |
| ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }} | |
| ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }} | |
| ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Standard Library Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Standard Library Tests Report (GraalVM CE, windows, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (Standard Library JVM Tests, windows, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| permissions: | |
| checks: write | |
| stdlib-graal-vm-ce-std-microsoft-linux-amd64: | |
| name: Standard Library Microsoft Tests (GraalVM CE) (linux, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-graal-vm-ce-linux-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (GraalVM CE) (native,test) (linux, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test std-microsoft | |
| env: | |
| ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }} | |
| ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }} | |
| ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Standard Library Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Standard Library Tests Report (GraalVM CE, linux, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (Standard Library Microsoft Tests, linux, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| permissions: | |
| checks: write | |
| stdlib-oracle-graal-vm-standard-library-in-native-linux-amd64: | |
| name: Standard Library Native Tests (Oracle GraalVM) (linux, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-oracle-graal-vm-linux-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (Oracle GraalVM) (native,test) (linux, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test standard-library-in-native | |
| env: | |
| ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }} | |
| ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }} | |
| ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Standard Library Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Standard Library Tests Report (Oracle GraalVM, linux, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (Standard Library Native Tests, linux, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: Oracle GraalVM | |
| permissions: | |
| checks: write | |
| stdlib-oracle-graal-vm-standard-library-linux-amd64: | |
| name: Standard Library JVM Tests (Oracle GraalVM) (linux, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-oracle-graal-vm-linux-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (Oracle GraalVM) (native,test) (linux, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test standard-library | |
| env: | |
| ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }} | |
| ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }} | |
| ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Standard Library Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Standard Library Tests Report (Oracle GraalVM, linux, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (Standard Library JVM Tests, linux, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: Oracle GraalVM | |
| permissions: | |
| checks: write | |
| stdlib-oracle-graal-vm-std-microsoft-linux-amd64: | |
| name: Standard Library Microsoft Tests (Oracle GraalVM) (linux, amd64) | |
| needs: | |
| - enso-build-ci-gen-job-build-engine-distribution-oracle-graal-vm-linux-amd64 | |
| runs-on: | |
| - self-hosted | |
| - Linux | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: "${{ (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: rm -rf built-distribution test | |
| shell: bash | |
| - name: Download Engine Distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: Engine Distribution (Oracle GraalVM) (native,test) (linux, amd64) | |
| - run: ls -l built-distribution.tar | |
| shell: bash | |
| - name: Unpack Engine Distribution | |
| run: |- | |
| tar -xvf built-distribution.tar -C . | |
| rm built-distribution.tar | |
| - run: ./run backend test std-microsoft | |
| env: | |
| ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }} | |
| ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }} | |
| ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Standard Library Test Reporter | |
| uses: dorny/test-reporter@v1 | |
| with: | |
| max-annotations: 50 | |
| name: Standard Library Tests Report (Oracle GraalVM, linux, amd64) | |
| path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml | |
| path-replace-backslashes: true | |
| reporter: java-junit | |
| - if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) | |
| name: Upload Heap Dumps | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: ignore | |
| name: Heap dumps (Standard Library Microsoft Tests, linux, amd64) | |
| path: |- | |
| test/**/*.hprof | |
| engine/**/*.hprof | |
| retention-days: 3 | |
| - if: "${{ (always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || (github.ref == 'refs/heads/develop') || inputs.clean_build_required) }}" | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: Oracle GraalVM | |
| permissions: | |
| checks: write | |
| env: | |
| ENSO_BUILD_SKIP_VERSION_CHECK: "true" |