From 6dfe2f2e96b30d93f9af666b41eaa113f53f1ebd Mon Sep 17 00:00:00 2001 From: Dmitry Bushev Date: Fri, 23 Aug 2024 14:18:43 +0100 Subject: [PATCH 1/8] DRAFT: aarch64 --- .github/workflows/engine-benchmark.yml | 2 +- .github/workflows/engine-nightly.yml | 70 +++---- .github/workflows/extra-nightly-tests.yml | 6 +- .github/workflows/gui-tests.yml | 18 +- .github/workflows/gui.yml | 209 ++++++++++++++++++--- .github/workflows/promote.yml | 8 +- .github/workflows/release.yml | 118 ++++++------ .github/workflows/scala-new.yml | 217 +++++++++++++++++++--- .github/workflows/std-libs-benchmark.yml | 2 +- build/build/src/ci_gen.rs | 8 +- 10 files changed, 495 insertions(+), 163 deletions(-) diff --git a/.github/workflows/engine-benchmark.yml b/.github/workflows/engine-benchmark.yml index dc808eca5aa5..dfc90c528710 100644 --- a/.github/workflows/engine-benchmark.yml +++ b/.github/workflows/engine-benchmark.yml @@ -13,7 +13,7 @@ on: type: boolean default: false jobs: - benchmark-engine-graal-vm-ce: + benchmark-engine-(graal-vm-ce): name: Benchmark Engine (GraalVM CE) runs-on: - benchmark diff --git a/.github/workflows/engine-nightly.yml b/.github/workflows/engine-nightly.yml index 95875f589b76..9a4041214ef6 100644 --- a/.github/workflows/engine-nightly.yml +++ b/.github/workflows/engine-nightly.yml @@ -13,8 +13,8 @@ on: type: boolean default: false jobs: - enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-linux-x86_64: - name: Engine (GraalVM CE) (linux, x86_64) + enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-linux-amd64: + name: Engine (GraalVM CE) (linux, amd64) runs-on: - self-hosted - Linux @@ -58,7 +58,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-aarch64: + enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-macos-aarch64: name: Engine (GraalVM CE) (macos, aarch64) runs-on: - self-hosted @@ -104,8 +104,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-x86_64: - name: Engine (GraalVM CE) (macos, x86_64) + enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-macos-amd64: + name: Engine (GraalVM CE) (macos, amd64) runs-on: - macos-12 steps: @@ -148,8 +148,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-windows-x86_64: - name: Engine (GraalVM CE) (windows, x86_64) + enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-windows-amd64: + name: Engine (GraalVM CE) (windows, amd64) runs-on: - self-hosted - Windows @@ -193,8 +193,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build-ci-gen-job-ci-check-backend-oracle-graal-vm-linux-x86_64: - name: Engine (Oracle GraalVM) (linux, x86_64) + enso-build::ci-gen::job::ci-check-backend-oracle-graal-vm-linux-amd64: + name: Engine (Oracle GraalVM) (linux, amd64) runs-on: - self-hosted - Linux @@ -238,8 +238,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: Oracle GraalVM - enso-build-ci-gen-job-jvm-tests-graal-vm-ce-linux-x86_64: - name: JVM Tests (GraalVM CE) (linux, x86_64) + enso-build::ci-gen::job::jvm-tests-graal-vm-ce-linux-amd64: + name: JVM Tests (GraalVM CE) (linux, amd64) runs-on: - self-hosted - Linux @@ -275,7 +275,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Engine Tests Report (GraalVM CE, linux, x86_64) + name: Engine Tests Report (GraalVM CE, linux, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml path-replace-backslashes: true reporter: java-junit @@ -294,7 +294,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-aarch64: + enso-build::ci-gen::job::jvm-tests-graal-vm-ce-macos-aarch64: name: JVM Tests (GraalVM CE) (macos, aarch64) runs-on: - self-hosted @@ -351,8 +351,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-x86_64: - name: JVM Tests (GraalVM CE) (macos, x86_64) + enso-build::ci-gen::job::jvm-tests-graal-vm-ce-macos-amd64: + name: JVM Tests (GraalVM CE) (macos, amd64) runs-on: - macos-12 steps: @@ -387,7 +387,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Engine Tests Report (GraalVM CE, macos, x86_64) + name: Engine Tests Report (GraalVM CE, macos, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml path-replace-backslashes: true reporter: java-junit @@ -406,8 +406,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-jvm-tests-graal-vm-ce-windows-x86_64: - name: JVM Tests (GraalVM CE) (windows, x86_64) + enso-build::ci-gen::job::jvm-tests-graal-vm-ce-windows-amd64: + name: JVM Tests (GraalVM CE) (windows, amd64) runs-on: - self-hosted - Windows @@ -443,7 +443,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Engine Tests Report (GraalVM CE, windows, x86_64) + name: Engine Tests Report (GraalVM CE, windows, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml path-replace-backslashes: true reporter: java-junit @@ -462,8 +462,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-jvm-tests-oracle-graal-vm-linux-x86_64: - name: JVM Tests (Oracle GraalVM) (linux, x86_64) + enso-build::ci-gen::job::jvm-tests-oracle-graal-vm-linux-amd64: + name: JVM Tests (Oracle GraalVM) (linux, amd64) runs-on: - self-hosted - Linux @@ -499,7 +499,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Engine Tests Report (Oracle GraalVM, linux, x86_64) + name: Engine Tests Report (Oracle GraalVM, linux, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml path-replace-backslashes: true reporter: java-junit @@ -518,8 +518,8 @@ jobs: GRAAL_EDITION: Oracle GraalVM permissions: checks: write - enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-linux-x86_64: - name: Standard Library Tests (GraalVM CE) (linux, x86_64) + enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-linux-amd64: + name: Standard Library Tests (GraalVM CE) (linux, amd64) runs-on: - self-hosted - Linux @@ -558,7 +558,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Standard Library Tests Report (GraalVM CE, linux, x86_64) + name: Standard Library Tests Report (GraalVM CE, linux, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml path-replace-backslashes: true reporter: java-junit @@ -577,7 +577,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-aarch64: + enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-macos-aarch64: name: Standard Library Tests (GraalVM CE) (macos, aarch64) runs-on: - self-hosted @@ -637,8 +637,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-x86_64: - name: Standard Library Tests (GraalVM CE) (macos, x86_64) + enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-macos-amd64: + name: Standard Library Tests (GraalVM CE) (macos, amd64) runs-on: - macos-12 steps: @@ -676,7 +676,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Standard Library Tests Report (GraalVM CE, macos, x86_64) + name: Standard Library Tests Report (GraalVM CE, macos, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml path-replace-backslashes: true reporter: java-junit @@ -695,8 +695,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-windows-x86_64: - name: Standard Library Tests (GraalVM CE) (windows, x86_64) + enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-windows-amd64: + name: Standard Library Tests (GraalVM CE) (windows, amd64) runs-on: - self-hosted - Windows @@ -735,7 +735,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Standard Library Tests Report (GraalVM CE, windows, x86_64) + name: Standard Library Tests Report (GraalVM CE, windows, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml path-replace-backslashes: true reporter: java-junit @@ -754,8 +754,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-standard-library-tests-oracle-graal-vm-linux-x86_64: - name: Standard Library Tests (Oracle GraalVM) (linux, x86_64) + enso-build::ci-gen::job::standard-library-tests-oracle-graal-vm-linux-amd64: + name: Standard Library Tests (Oracle GraalVM) (linux, amd64) runs-on: - self-hosted - Linux @@ -794,7 +794,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Standard Library Tests Report (Oracle GraalVM, linux, x86_64) + name: Standard Library Tests Report (Oracle GraalVM, linux, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml path-replace-backslashes: true reporter: java-junit diff --git a/.github/workflows/extra-nightly-tests.yml b/.github/workflows/extra-nightly-tests.yml index ed3b1a77aec8..b373075f1d89 100644 --- a/.github/workflows/extra-nightly-tests.yml +++ b/.github/workflows/extra-nightly-tests.yml @@ -13,8 +13,8 @@ on: type: boolean default: false jobs: - enso-build-ci-gen-job-snowflake-tests-linux-x86_64: - name: Snowflake Tests (linux, x86_64) + enso-build::ci-gen::job::snowflake-tests-linux-amd64: + name: Snowflake Tests (linux, amd64) runs-on: - self-hosted - Linux @@ -56,7 +56,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Extra Library Tests Report (GraalVM CE, linux, x86_64) + name: Extra Library Tests Report (GraalVM CE, linux, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml path-replace-backslashes: true reporter: java-junit diff --git a/.github/workflows/gui-tests.yml b/.github/workflows/gui-tests.yml index e422a03b9031..43e9474493ff 100644 --- a/.github/workflows/gui-tests.yml +++ b/.github/workflows/gui-tests.yml @@ -15,7 +15,7 @@ on: type: boolean default: false jobs: - enso-build-ci-gen-job-cancel-workflow-linux-x86_64: + enso-build::ci-gen::job::cancel-workflow-linux-amd64: name: Cancel Previous Runs if: github.ref != 'refs/heads/develop' runs-on: @@ -27,8 +27,8 @@ jobs: access_token: ${{ github.token }} permissions: actions: write - enso-build-ci-gen-job-gui-check-linux-x86_64: - name: GUI tests (linux, x86_64) + enso-build::ci-gen::job::gui-check-linux-amd64: + name: GUI tests (linux, amd64) runs-on: - self-hosted - Linux @@ -70,8 +70,8 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-lint-linux-x86_64: - name: Lint (linux, x86_64) + enso-build::ci-gen::job::lint-linux-amd64: + name: Lint (linux, amd64) runs-on: - self-hosted - Linux @@ -113,8 +113,8 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-native-test-linux-x86_64: - name: Native Rust tests (linux, x86_64) + enso-build::ci-gen::job::native-test-linux-amd64: + name: Native Rust tests (linux, amd64) runs-on: - self-hosted - Linux @@ -156,8 +156,8 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-wasm-test-linux-x86_64: - name: WASM tests (linux, x86_64) + enso-build::ci-gen::job::wasm-test-linux-amd64: + name: WASM tests (linux, amd64) runs-on: - self-hosted - Linux diff --git a/.github/workflows/gui.yml b/.github/workflows/gui.yml index cd4e0a35f654..1280af1a60df 100644 --- a/.github/workflows/gui.yml +++ b/.github/workflows/gui.yml @@ -15,8 +15,8 @@ on: type: boolean default: false jobs: - enso-build-ci-gen-job-build-backend-linux-x86_64: - name: Build Backend (linux, x86_64) + enso-build::ci-gen::job::build-backend-linux-amd64: + name: Build Backend (linux, amd64) runs-on: - self-hosted - Linux @@ -58,8 +58,52 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-build-backend-macos-x86_64: - name: Build Backend (macos, x86_64) + enso-build::ci-gen::job::build-backend-macos-aarch64: + name: Build Backend (macos, aarch64) + runs-on: + - self-hosted + - macOS + - ARM64 + steps: + - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') + name: Installing wasm-pack + uses: jetli/wasm-pack-action@v0.4.0 + with: + version: v0.10.2 + - 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 + submodules: recursive + - 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') || inputs.clean_build_required)" + name: Clean before + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: ./run backend get + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - if: failure() && runner.os == 'Windows' + name: List files if failed (Windows) + run: Get-ChildItem -Force -Recurse + - if: failure() && runner.os != 'Windows' + name: List files if failed (non-Windows) + run: ls -lAR + - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" + name: Clean after + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + enso-build::ci-gen::job::build-backend-macos-amd64: + name: Build Backend (macos, amd64) runs-on: - macos-12 steps: @@ -100,8 +144,8 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-build-backend-windows-x86_64: - name: Build Backend (windows, x86_64) + enso-build::ci-gen::job::build-backend-windows-amd64: + name: Build Backend (windows, amd64) runs-on: - self-hosted - Windows @@ -143,7 +187,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-cancel-workflow-linux-x86_64: + enso-build::ci-gen::job::cancel-workflow-linux-amd64: name: Cancel Previous Runs if: github.ref != 'refs/heads/develop' runs-on: @@ -155,8 +199,8 @@ jobs: access_token: ${{ github.token }} permissions: actions: write - enso-build-ci-gen-job-gui-build-linux-x86_64: - name: GUI build (linux, x86_64) + enso-build::ci-gen::job::gui-build-linux-amd64: + name: GUI build (linux, amd64) runs-on: - self-hosted - Linux @@ -210,8 +254,64 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-gui-build-macos-x86_64: - name: GUI build (macos, x86_64) + enso-build::ci-gen::job::gui-build-macos-aarch64: + name: GUI build (macos, aarch64) + runs-on: + - self-hosted + - macOS + - ARM64 + steps: + - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') + name: Installing wasm-pack + uses: jetli/wasm-pack-action@v0.4.0 + with: + version: v0.10.2 + - 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 + submodules: recursive + - 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') || inputs.clean_build_required)" + name: Clean before + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: ./run gui build + env: + ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }} + ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }} + ENSO_CLOUD_COGNITO_DOMAIN: ${{ vars.ENSO_CLOUD_COGNITO_DOMAIN }} + ENSO_CLOUD_COGNITO_REGION: ${{ vars.ENSO_CLOUD_COGNITO_REGION }} + ENSO_CLOUD_COGNITO_USER_POOL_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_ID }} + ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID }} + ENSO_CLOUD_ENVIRONMENT: ${{ vars.ENSO_CLOUD_ENVIRONMENT }} + ENSO_CLOUD_GOOGLE_ANALYTICS_TAG: ${{ vars.ENSO_CLOUD_GOOGLE_ANALYTICS_TAG }} + ENSO_CLOUD_SENTRY_DSN: ${{ vars.ENSO_CLOUD_SENTRY_DSN }} + ENSO_CLOUD_STRIPE_KEY: ${{ vars.ENSO_CLOUD_STRIPE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VITE_ENSO_AG_GRID_LICENSE_KEY: ${{ vars.ENSO_AG_GRID_LICENSE_KEY }} + VITE_ENSO_MAPBOX_API_TOKEN: ${{ vars.ENSO_MAPBOX_API_TOKEN }} + - if: failure() && runner.os == 'Windows' + name: List files if failed (Windows) + run: Get-ChildItem -Force -Recurse + - if: failure() && runner.os != 'Windows' + name: List files if failed (non-Windows) + run: ls -lAR + - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" + name: Clean after + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + enso-build::ci-gen::job::gui-build-macos-amd64: + name: GUI build (macos, amd64) runs-on: - macos-12 steps: @@ -264,8 +364,8 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-gui-build-windows-x86_64: - name: GUI build (windows, x86_64) + enso-build::ci-gen::job::gui-build-windows-amd64: + name: GUI build (windows, amd64) runs-on: - self-hosted - Windows @@ -319,10 +419,10 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-package-ide-linux-x86_64: - name: Package New IDE (linux, x86_64) + enso-build::ci-gen::job::package-ide-linux-amd64: + name: Package New IDE (linux, amd64) needs: - - enso-build-ci-gen-job-build-backend-linux-x86_64 + - enso-build::ci-gen::job::build-backend-linux-amd64 runs-on: - self-hosted - Linux @@ -376,10 +476,75 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-package-ide-macos-x86_64: - name: Package New IDE (macos, x86_64) + enso-build::ci-gen::job::package-ide-macos-aarch64: + name: Package New IDE (macos, aarch64) + needs: + - enso-build::ci-gen::job::build-backend-macos-aarch64 + runs-on: + - self-hosted + - macOS + - ARM64 + steps: + - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') + name: Installing wasm-pack + uses: jetli/wasm-pack-action@v0.4.0 + with: + version: v0.10.2 + - 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 + submodules: recursive + - 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') || inputs.clean_build_required)" + name: Clean before + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: ./run ide build --backend-source current-ci-run --gui-upload-artifact false + env: + APPLEID: ${{ secrets.APPLE_NOTARIZATION_USERNAME }} + APPLEIDPASS: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }} + APPLETEAMID: ${{ secrets.APPLE_NOTARIZATION_TEAM_ID }} + CSC_FOR_PULL_REQUEST: "true" + CSC_IDENTITY_AUTO_DISCOVERY: "true" + CSC_KEY_PASSWORD: ${{ secrets.APPLE_CODE_SIGNING_CERT_PASSWORD }} + CSC_LINK: ${{ secrets.APPLE_CODE_SIGNING_CERT }} + ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }} + ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }} + ENSO_CLOUD_COGNITO_DOMAIN: ${{ vars.ENSO_CLOUD_COGNITO_DOMAIN }} + ENSO_CLOUD_COGNITO_REGION: ${{ vars.ENSO_CLOUD_COGNITO_REGION }} + ENSO_CLOUD_COGNITO_USER_POOL_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_ID }} + ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID }} + ENSO_CLOUD_ENVIRONMENT: ${{ vars.ENSO_CLOUD_ENVIRONMENT }} + ENSO_CLOUD_GOOGLE_ANALYTICS_TAG: ${{ vars.ENSO_CLOUD_GOOGLE_ANALYTICS_TAG }} + ENSO_CLOUD_SENTRY_DSN: ${{ vars.ENSO_CLOUD_SENTRY_DSN }} + ENSO_CLOUD_STRIPE_KEY: ${{ vars.ENSO_CLOUD_STRIPE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VITE_ENSO_AG_GRID_LICENSE_KEY: ${{ vars.ENSO_AG_GRID_LICENSE_KEY }} + VITE_ENSO_MAPBOX_API_TOKEN: ${{ vars.ENSO_MAPBOX_API_TOKEN }} + - if: failure() && runner.os == 'Windows' + name: List files if failed (Windows) + run: Get-ChildItem -Force -Recurse + - if: failure() && runner.os != 'Windows' + name: List files if failed (non-Windows) + run: ls -lAR + - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" + name: Clean after + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + enso-build::ci-gen::job::package-ide-macos-amd64: + name: Package New IDE (macos, amd64) needs: - - enso-build-ci-gen-job-build-backend-macos-x86_64 + - enso-build::ci-gen::job::build-backend-macos-amd64 runs-on: - macos-12 steps: @@ -439,10 +604,10 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-package-ide-windows-x86_64: - name: Package New IDE (windows, x86_64) + enso-build::ci-gen::job::package-ide-windows-amd64: + name: Package New IDE (windows, amd64) needs: - - enso-build-ci-gen-job-build-backend-windows-x86_64 + - enso-build::ci-gen::job::build-backend-windows-amd64 runs-on: - self-hosted - Windows diff --git a/.github/workflows/promote.yml b/.github/workflows/promote.yml index 68f1a25a3f39..202682625781 100644 --- a/.github/workflows/promote.yml +++ b/.github/workflows/promote.yml @@ -21,8 +21,8 @@ on: required: true type: string jobs: - enso-build-ci-gen-promote-release-job-linux-x86_64: - name: Promote release (linux, x86_64) + enso-build::ci-gen::promote-release-job-linux-amd64: + name: Promote release (linux, amd64) runs-on: - self-hosted - Linux @@ -72,10 +72,10 @@ jobs: release: name: Release needs: - - enso-build-ci-gen-promote-release-job-linux-x86_64 + - enso-build::ci-gen::promote-release-job-linux-amd64 uses: ./.github/workflows/release.yml with: - version: ${{ needs.enso-build-ci-gen-promote-release-job-linux-x86_64.outputs.ENSO_VERSION }} + version: ${{ needs.enso-build::ci-gen::promote-release-job-linux-amd64.outputs.ENSO_VERSION }} secrets: inherit env: ENSO_BUILD_SKIP_VERSION_CHECK: "true" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c86d188d9ab9..a8b837a499d4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ on: required: true type: string jobs: - enso-build-ci-gen-draft-release-linux-x86_64: + enso-build::ci-gen::draft-release-linux-amd64: name: Create a release draft. runs-on: - self-hosted @@ -47,11 +47,11 @@ jobs: outputs: ENSO_RELEASE_ID: ${{ steps.prepare.outputs.ENSO_RELEASE_ID }} ENSO_VERSION: ${{ steps.prepare.outputs.ENSO_VERSION }} - enso-build-ci-gen-job-deploy-runtime-linux-x86_64: - name: Upload Runtime to ECR (linux, x86_64) + enso-build::ci-gen::job::deploy-runtime-linux-amd64: + name: Upload Runtime to ECR (linux, amd64) needs: - - enso-build-ci-gen-draft-release-linux-x86_64 - - enso-build-ci-gen-job-upload-backend-linux-x86_64 + - enso-build::ci-gen::draft-release-linux-amd64 + - enso-build::ci-gen::job::upload-backend-linux-amd64 runs-on: - self-hosted - Linux @@ -98,12 +98,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }} - enso-build-ci-gen-job-upload-backend-linux-x86_64: - name: Upload Backend (linux, x86_64) + ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build::ci-gen::job::upload-backend-linux-amd64: + name: Upload Backend (linux, amd64) needs: - - enso-build-ci-gen-draft-release-linux-x86_64 + - enso-build::ci-gen::draft-release-linux-amd64 runs-on: - self-hosted - Linux @@ -146,12 +146,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }} - enso-build-ci-gen-job-upload-backend-macos-aarch64: + ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build::ci-gen::job::upload-backend-macos-aarch64: name: Upload Backend (macos, aarch64) needs: - - enso-build-ci-gen-draft-release-linux-x86_64 + - enso-build::ci-gen::draft-release-linux-amd64 runs-on: - self-hosted - macOS @@ -195,12 +195,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }} - enso-build-ci-gen-job-upload-backend-macos-x86_64: - name: Upload Backend (macos, x86_64) + ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build::ci-gen::job::upload-backend-macos-amd64: + name: Upload Backend (macos, amd64) needs: - - enso-build-ci-gen-draft-release-linux-x86_64 + - enso-build::ci-gen::draft-release-linux-amd64 runs-on: - macos-12 steps: @@ -242,12 +242,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }} - enso-build-ci-gen-job-upload-backend-windows-x86_64: - name: Upload Backend (windows, x86_64) + ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build::ci-gen::job::upload-backend-windows-amd64: + name: Upload Backend (windows, amd64) needs: - - enso-build-ci-gen-draft-release-linux-x86_64 + - enso-build::ci-gen::draft-release-linux-amd64 runs-on: - self-hosted - Windows @@ -290,17 +290,17 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }} - enso-build-ci-gen-publish-release-linux-x86_64: - name: Publish release (linux, x86_64) + ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build::ci-gen::publish-release-linux-amd64: + name: Publish release (linux, amd64) needs: - - enso-build-ci-gen-draft-release-linux-x86_64 - - enso-build-ci-gen-job-deploy-runtime-linux-x86_64 - - enso-build-ci-gen-upload-ide-linux-x86_64 - - enso-build-ci-gen-upload-ide-macos-aarch64 - - enso-build-ci-gen-upload-ide-macos-x86_64 - - enso-build-ci-gen-upload-ide-windows-x86_64 + - enso-build::ci-gen::draft-release-linux-amd64 + - enso-build::ci-gen::job::deploy-runtime-linux-amd64 + - enso-build::ci-gen::upload-ide-linux-amd64 + - enso-build::ci-gen::upload-ide-macos-aarch64 + - enso-build::ci-gen::upload-ide-macos-amd64 + - enso-build::ci-gen::upload-ide-windows-amd64 runs-on: - self-hosted - Linux @@ -346,13 +346,13 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.ARTEFACT_S3_ACCESS_KEY_ID }} AWS_REGION: us-west-1 AWS_SECRET_ACCESS_KEY: ${{ secrets.ARTEFACT_S3_SECRET_ACCESS_KEY }} - ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }} - enso-build-ci-gen-upload-ide-linux-x86_64: - name: Build IDE (linux, x86_64) + ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build::ci-gen::upload-ide-linux-amd64: + name: Build IDE (linux, amd64) needs: - - enso-build-ci-gen-draft-release-linux-x86_64 - - enso-build-ci-gen-job-upload-backend-linux-x86_64 + - enso-build::ci-gen::draft-release-linux-amd64 + - enso-build::ci-gen::job::upload-backend-linux-amd64 runs-on: - self-hosted - Linux @@ -407,13 +407,13 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }} - enso-build-ci-gen-upload-ide-macos-aarch64: + ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build::ci-gen::upload-ide-macos-aarch64: name: Build IDE (macos, aarch64) needs: - - enso-build-ci-gen-draft-release-linux-x86_64 - - enso-build-ci-gen-job-upload-backend-macos-aarch64 + - enso-build::ci-gen::draft-release-linux-amd64 + - enso-build::ci-gen::job::upload-backend-macos-aarch64 runs-on: - self-hosted - macOS @@ -476,13 +476,13 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }} - enso-build-ci-gen-upload-ide-macos-x86_64: - name: Build IDE (macos, x86_64) + ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build::ci-gen::upload-ide-macos-amd64: + name: Build IDE (macos, amd64) needs: - - enso-build-ci-gen-draft-release-linux-x86_64 - - enso-build-ci-gen-job-upload-backend-macos-x86_64 + - enso-build::ci-gen::draft-release-linux-amd64 + - enso-build::ci-gen::job::upload-backend-macos-amd64 runs-on: - macos-12 steps: @@ -543,13 +543,13 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }} - enso-build-ci-gen-upload-ide-windows-x86_64: - name: Build IDE (windows, x86_64) + ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build::ci-gen::upload-ide-windows-amd64: + name: Build IDE (windows, amd64) needs: - - enso-build-ci-gen-draft-release-linux-x86_64 - - enso-build-ci-gen-job-upload-backend-windows-x86_64 + - enso-build::ci-gen::draft-release-linux-amd64 + - enso-build::ci-gen::job::upload-backend-windows-amd64 runs-on: - self-hosted - Windows @@ -606,8 +606,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }} + ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} env: ENSO_BUILD_SKIP_VERSION_CHECK: "true" ENSO_EDITION: ${{ inputs.version }} diff --git a/.github/workflows/scala-new.yml b/.github/workflows/scala-new.yml index b929ba63186b..ea9be7c085d1 100644 --- a/.github/workflows/scala-new.yml +++ b/.github/workflows/scala-new.yml @@ -15,7 +15,7 @@ on: type: boolean default: false jobs: - enso-build-ci-gen-job-cancel-workflow-linux-x86_64: + enso-build::ci-gen::job::cancel-workflow-linux-amd64: name: Cancel Previous Runs if: github.ref != 'refs/heads/develop' runs-on: @@ -27,8 +27,8 @@ jobs: access_token: ${{ github.token }} permissions: actions: write - enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-linux-x86_64: - name: Engine (GraalVM CE) (linux, x86_64) + enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-linux-amd64: + name: Engine (GraalVM CE) (linux, amd64) runs-on: - self-hosted - Linux @@ -72,8 +72,54 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-x86_64: - name: Engine (GraalVM CE) (macos, x86_64) + enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-macos-aarch64: + name: Engine (GraalVM CE) (macos, aarch64) + runs-on: + - self-hosted + - macOS + - ARM64 + steps: + - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') + name: Installing wasm-pack + uses: jetli/wasm-pack-action@v0.4.0 + with: + version: v0.10.2 + - 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 + submodules: recursive + - 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') || inputs.clean_build_required)" + name: Clean before + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: ./run backend ci-check + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - if: failure() && runner.os == 'Windows' + name: List files if failed (Windows) + run: Get-ChildItem -Force -Recurse + - if: failure() && runner.os != 'Windows' + name: List files if failed (non-Windows) + run: ls -lAR + - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" + name: Clean after + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + env: + GRAAL_EDITION: GraalVM CE + enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-macos-amd64: + name: Engine (GraalVM CE) (macos, amd64) runs-on: - macos-12 steps: @@ -116,8 +162,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-windows-x86_64: - name: Engine (GraalVM CE) (windows, x86_64) + enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-windows-amd64: + name: Engine (GraalVM CE) (windows, amd64) runs-on: - self-hosted - Windows @@ -161,8 +207,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build-ci-gen-job-jvm-tests-graal-vm-ce-linux-x86_64: - name: JVM Tests (GraalVM CE) (linux, x86_64) + enso-build::ci-gen::job::jvm-tests-graal-vm-ce-linux-amd64: + name: JVM Tests (GraalVM CE) (linux, amd64) runs-on: - self-hosted - Linux @@ -198,7 +244,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Engine Tests Report (GraalVM CE, linux, x86_64) + name: Engine Tests Report (GraalVM CE, linux, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml path-replace-backslashes: true reporter: java-junit @@ -217,8 +263,65 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-x86_64: - name: JVM Tests (GraalVM CE) (macos, x86_64) + enso-build::ci-gen::job::jvm-tests-graal-vm-ce-macos-aarch64: + name: JVM Tests (GraalVM CE) (macos, aarch64) + runs-on: + - self-hosted + - macOS + - ARM64 + steps: + - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') + name: Installing wasm-pack + uses: jetli/wasm-pack-action@v0.4.0 + with: + version: v0.10.2 + - 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 + submodules: recursive + - 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') || inputs.clean_build_required)" + name: Clean before + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: ./run backend test jvm + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - if: (success() || failure()) && 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: failure() && runner.os == 'Windows' + name: List files if failed (Windows) + run: Get-ChildItem -Force -Recurse + - if: failure() && runner.os != 'Windows' + name: List files if failed (non-Windows) + run: ls -lAR + - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" + name: Clean after + run: ./run git-clean + 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-amd64: + name: JVM Tests (GraalVM CE) (macos, amd64) runs-on: - macos-12 steps: @@ -253,7 +356,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Engine Tests Report (GraalVM CE, macos, x86_64) + name: Engine Tests Report (GraalVM CE, macos, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml path-replace-backslashes: true reporter: java-junit @@ -272,8 +375,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-jvm-tests-graal-vm-ce-windows-x86_64: - name: JVM Tests (GraalVM CE) (windows, x86_64) + enso-build::ci-gen::job::jvm-tests-graal-vm-ce-windows-amd64: + name: JVM Tests (GraalVM CE) (windows, amd64) runs-on: - self-hosted - Windows @@ -309,7 +412,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Engine Tests Report (GraalVM CE, windows, x86_64) + name: Engine Tests Report (GraalVM CE, windows, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml path-replace-backslashes: true reporter: java-junit @@ -328,8 +431,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-linux-x86_64: - name: Standard Library Tests (GraalVM CE) (linux, x86_64) + enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-linux-amd64: + name: Standard Library Tests (GraalVM CE) (linux, amd64) runs-on: - self-hosted - Linux @@ -368,7 +471,67 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Standard Library Tests Report (GraalVM CE, linux, x86_64) + name: Standard Library Tests Report (GraalVM CE, linux, amd64) + path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml + path-replace-backslashes: true + reporter: java-junit + - if: failure() && runner.os == 'Windows' + name: List files if failed (Windows) + run: Get-ChildItem -Force -Recurse + - if: failure() && runner.os != 'Windows' + name: List files if failed (non-Windows) + run: ls -lAR + - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" + name: Clean after + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + env: + GRAAL_EDITION: GraalVM CE + permissions: + checks: write + enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-macos-aarch64: + name: Standard Library Tests (GraalVM CE) (macos, aarch64) + runs-on: + - self-hosted + - macOS + - ARM64 + steps: + - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') + name: Installing wasm-pack + uses: jetli/wasm-pack-action@v0.4.0 + with: + version: v0.10.2 + - 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 + submodules: recursive + - 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') || inputs.clean_build_required)" + name: Clean before + run: ./run git-clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - 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.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 @@ -387,8 +550,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-x86_64: - name: Standard Library Tests (GraalVM CE) (macos, x86_64) + enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-macos-amd64: + name: Standard Library Tests (GraalVM CE) (macos, amd64) runs-on: - macos-12 steps: @@ -426,7 +589,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Standard Library Tests Report (GraalVM CE, macos, x86_64) + name: Standard Library Tests Report (GraalVM CE, macos, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml path-replace-backslashes: true reporter: java-junit @@ -445,8 +608,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-windows-x86_64: - name: Standard Library Tests (GraalVM CE) (windows, x86_64) + enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-windows-amd64: + name: Standard Library Tests (GraalVM CE) (windows, amd64) runs-on: - self-hosted - Windows @@ -485,7 +648,7 @@ jobs: uses: dorny/test-reporter@v1 with: max-annotations: 50 - name: Standard Library Tests Report (GraalVM CE, windows, x86_64) + name: Standard Library Tests Report (GraalVM CE, windows, amd64) path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml path-replace-backslashes: true reporter: java-junit @@ -504,8 +667,8 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-verify-license-packages-linux-x86_64: - name: Verify License Packages (linux, x86_64) + enso-build::ci-gen::job::verify-license-packages-linux-amd64: + name: Verify License Packages (linux, amd64) runs-on: - self-hosted - Linux diff --git a/.github/workflows/std-libs-benchmark.yml b/.github/workflows/std-libs-benchmark.yml index dbac651715c2..e902b3dd023c 100644 --- a/.github/workflows/std-libs-benchmark.yml +++ b/.github/workflows/std-libs-benchmark.yml @@ -13,7 +13,7 @@ on: type: boolean default: false jobs: - benchmark-standard-libraries-graal-vm-ce: + benchmark-standard-libraries-(graal-vm-ce): name: Benchmark Standard Libraries (GraalVM CE) runs-on: - benchmark diff --git a/build/build/src/ci_gen.rs b/build/build/src/ci_gen.rs index 8754e175356f..a87bcc0f0c63 100644 --- a/build/build/src/ci_gen.rs +++ b/build/build/src/ci_gen.rs @@ -75,8 +75,12 @@ pub const RELEASE_TARGETS: [(OS, Arch); 4] = [ /// Targets for which we run PR checks. /// /// The macOS AArch64 is intentionally omitted, as the runner availability is limited. -pub const PR_CHECKED_TARGETS: [(OS, Arch); 3] = - [(OS::Windows, Arch::X86_64), (OS::Linux, Arch::X86_64), (OS::MacOS, Arch::X86_64)]; +pub const PR_CHECKED_TARGETS: [(OS, Arch); 4] = [ + (OS::Windows, Arch::X86_64), + (OS::Linux, Arch::X86_64), + (OS::MacOS, Arch::X86_64), + (OS::MacOS, Arch::AArch64), +]; pub const DEFAULT_BRANCH_NAME: &str = "develop"; From 46cfd5776ba2d58a8f5d59969e0a4563d6847d72 Mon Sep 17 00:00:00 2001 From: Dmitry Bushev Date: Fri, 23 Aug 2024 15:28:37 +0100 Subject: [PATCH 2/8] fix: workflow name generation --- .github/workflows/engine-benchmark.yml | 2 +- .github/workflows/engine-nightly.yml | 30 +++--- .github/workflows/extra-nightly-tests.yml | 2 +- .github/workflows/gui-tests.yml | 10 +- .github/workflows/gui.yml | 34 +++--- .github/workflows/promote.yml | 6 +- .github/workflows/release.yml | 102 +++++++++--------- .github/workflows/scala-new.yml | 28 ++--- .github/workflows/std-libs-benchmark.yml | 2 +- build/build/src/ci_gen/job.rs | 9 +- .../src/actions/workflow/definition.rs | 7 +- build/ci_utils/src/convert_case.rs | 18 ++++ build/ci_utils/src/lib.rs | 1 + 13 files changed, 134 insertions(+), 117 deletions(-) create mode 100644 build/ci_utils/src/convert_case.rs diff --git a/.github/workflows/engine-benchmark.yml b/.github/workflows/engine-benchmark.yml index dfc90c528710..dc808eca5aa5 100644 --- a/.github/workflows/engine-benchmark.yml +++ b/.github/workflows/engine-benchmark.yml @@ -13,7 +13,7 @@ on: type: boolean default: false jobs: - benchmark-engine-(graal-vm-ce): + benchmark-engine-graal-vm-ce: name: Benchmark Engine (GraalVM CE) runs-on: - benchmark diff --git a/.github/workflows/engine-nightly.yml b/.github/workflows/engine-nightly.yml index 9a4041214ef6..5997a095d712 100644 --- a/.github/workflows/engine-nightly.yml +++ b/.github/workflows/engine-nightly.yml @@ -13,7 +13,7 @@ on: type: boolean default: false jobs: - enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-linux-amd64: + enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-linux-amd64: name: Engine (GraalVM CE) (linux, amd64) runs-on: - self-hosted @@ -58,7 +58,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-macos-aarch64: + enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-aarch64: name: Engine (GraalVM CE) (macos, aarch64) runs-on: - self-hosted @@ -104,7 +104,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-macos-amd64: + enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-amd64: name: Engine (GraalVM CE) (macos, amd64) runs-on: - macos-12 @@ -148,7 +148,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-windows-amd64: + enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-windows-amd64: name: Engine (GraalVM CE) (windows, amd64) runs-on: - self-hosted @@ -193,7 +193,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build::ci-gen::job::ci-check-backend-oracle-graal-vm-linux-amd64: + enso-build-ci-gen-job-ci-check-backend-oracle-graal-vm-linux-amd64: name: Engine (Oracle GraalVM) (linux, amd64) runs-on: - self-hosted @@ -238,7 +238,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: Oracle GraalVM - enso-build::ci-gen::job::jvm-tests-graal-vm-ce-linux-amd64: + enso-build-ci-gen-job-jvm-tests-graal-vm-ce-linux-amd64: name: JVM Tests (GraalVM CE) (linux, amd64) runs-on: - self-hosted @@ -294,7 +294,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::jvm-tests-graal-vm-ce-macos-aarch64: + enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-aarch64: name: JVM Tests (GraalVM CE) (macos, aarch64) runs-on: - self-hosted @@ -351,7 +351,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::jvm-tests-graal-vm-ce-macos-amd64: + enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-amd64: name: JVM Tests (GraalVM CE) (macos, amd64) runs-on: - macos-12 @@ -406,7 +406,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::jvm-tests-graal-vm-ce-windows-amd64: + enso-build-ci-gen-job-jvm-tests-graal-vm-ce-windows-amd64: name: JVM Tests (GraalVM CE) (windows, amd64) runs-on: - self-hosted @@ -462,7 +462,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::jvm-tests-oracle-graal-vm-linux-amd64: + enso-build-ci-gen-job-jvm-tests-oracle-graal-vm-linux-amd64: name: JVM Tests (Oracle GraalVM) (linux, amd64) runs-on: - self-hosted @@ -518,7 +518,7 @@ jobs: GRAAL_EDITION: Oracle GraalVM permissions: checks: write - enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-linux-amd64: + enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-linux-amd64: name: Standard Library Tests (GraalVM CE) (linux, amd64) runs-on: - self-hosted @@ -577,7 +577,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-macos-aarch64: + enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-aarch64: name: Standard Library Tests (GraalVM CE) (macos, aarch64) runs-on: - self-hosted @@ -637,7 +637,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-macos-amd64: + enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-amd64: name: Standard Library Tests (GraalVM CE) (macos, amd64) runs-on: - macos-12 @@ -695,7 +695,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-windows-amd64: + enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-windows-amd64: name: Standard Library Tests (GraalVM CE) (windows, amd64) runs-on: - self-hosted @@ -754,7 +754,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::standard-library-tests-oracle-graal-vm-linux-amd64: + enso-build-ci-gen-job-standard-library-tests-oracle-graal-vm-linux-amd64: name: Standard Library Tests (Oracle GraalVM) (linux, amd64) runs-on: - self-hosted diff --git a/.github/workflows/extra-nightly-tests.yml b/.github/workflows/extra-nightly-tests.yml index b373075f1d89..120c3dc72204 100644 --- a/.github/workflows/extra-nightly-tests.yml +++ b/.github/workflows/extra-nightly-tests.yml @@ -13,7 +13,7 @@ on: type: boolean default: false jobs: - enso-build::ci-gen::job::snowflake-tests-linux-amd64: + enso-build-ci-gen-job-snowflake-tests-linux-amd64: name: Snowflake Tests (linux, amd64) runs-on: - self-hosted diff --git a/.github/workflows/gui-tests.yml b/.github/workflows/gui-tests.yml index 43e9474493ff..b12694f05afa 100644 --- a/.github/workflows/gui-tests.yml +++ b/.github/workflows/gui-tests.yml @@ -15,7 +15,7 @@ on: type: boolean default: false jobs: - enso-build::ci-gen::job::cancel-workflow-linux-amd64: + enso-build-ci-gen-job-cancel-workflow-linux-amd64: name: Cancel Previous Runs if: github.ref != 'refs/heads/develop' runs-on: @@ -27,7 +27,7 @@ jobs: access_token: ${{ github.token }} permissions: actions: write - enso-build::ci-gen::job::gui-check-linux-amd64: + enso-build-ci-gen-job-gui-check-linux-amd64: name: GUI tests (linux, amd64) runs-on: - self-hosted @@ -70,7 +70,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::lint-linux-amd64: + enso-build-ci-gen-job-lint-linux-amd64: name: Lint (linux, amd64) runs-on: - self-hosted @@ -113,7 +113,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::native-test-linux-amd64: + enso-build-ci-gen-job-native-test-linux-amd64: name: Native Rust tests (linux, amd64) runs-on: - self-hosted @@ -156,7 +156,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::wasm-test-linux-amd64: + enso-build-ci-gen-job-wasm-test-linux-amd64: name: WASM tests (linux, amd64) runs-on: - self-hosted diff --git a/.github/workflows/gui.yml b/.github/workflows/gui.yml index 1280af1a60df..623818247c17 100644 --- a/.github/workflows/gui.yml +++ b/.github/workflows/gui.yml @@ -15,7 +15,7 @@ on: type: boolean default: false jobs: - enso-build::ci-gen::job::build-backend-linux-amd64: + enso-build-ci-gen-job-build-backend-linux-amd64: name: Build Backend (linux, amd64) runs-on: - self-hosted @@ -58,7 +58,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::build-backend-macos-aarch64: + enso-build-ci-gen-job-build-backend-macos-aarch64: name: Build Backend (macos, aarch64) runs-on: - self-hosted @@ -102,7 +102,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::build-backend-macos-amd64: + enso-build-ci-gen-job-build-backend-macos-amd64: name: Build Backend (macos, amd64) runs-on: - macos-12 @@ -144,7 +144,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::build-backend-windows-amd64: + enso-build-ci-gen-job-build-backend-windows-amd64: name: Build Backend (windows, amd64) runs-on: - self-hosted @@ -187,7 +187,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::cancel-workflow-linux-amd64: + enso-build-ci-gen-job-cancel-workflow-linux-amd64: name: Cancel Previous Runs if: github.ref != 'refs/heads/develop' runs-on: @@ -199,7 +199,7 @@ jobs: access_token: ${{ github.token }} permissions: actions: write - enso-build::ci-gen::job::gui-build-linux-amd64: + enso-build-ci-gen-job-gui-build-linux-amd64: name: GUI build (linux, amd64) runs-on: - self-hosted @@ -254,7 +254,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::gui-build-macos-aarch64: + enso-build-ci-gen-job-gui-build-macos-aarch64: name: GUI build (macos, aarch64) runs-on: - self-hosted @@ -310,7 +310,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::gui-build-macos-amd64: + enso-build-ci-gen-job-gui-build-macos-amd64: name: GUI build (macos, amd64) runs-on: - macos-12 @@ -364,7 +364,7 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::gui-build-windows-amd64: + enso-build-ci-gen-job-gui-build-windows-amd64: name: GUI build (windows, amd64) runs-on: - self-hosted @@ -419,10 +419,10 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::package-ide-linux-amd64: + enso-build-ci-gen-job-package-ide-linux-amd64: name: Package New IDE (linux, amd64) needs: - - enso-build::ci-gen::job::build-backend-linux-amd64 + - enso-build-ci-gen-job-build-backend-linux-amd64 runs-on: - self-hosted - Linux @@ -476,10 +476,10 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::package-ide-macos-aarch64: + enso-build-ci-gen-job-package-ide-macos-aarch64: name: Package New IDE (macos, aarch64) needs: - - enso-build::ci-gen::job::build-backend-macos-aarch64 + - enso-build-ci-gen-job-build-backend-macos-aarch64 runs-on: - self-hosted - macOS @@ -541,10 +541,10 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::package-ide-macos-amd64: + enso-build-ci-gen-job-package-ide-macos-amd64: name: Package New IDE (macos, amd64) needs: - - enso-build::ci-gen::job::build-backend-macos-amd64 + - enso-build-ci-gen-job-build-backend-macos-amd64 runs-on: - macos-12 steps: @@ -604,10 +604,10 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build::ci-gen::job::package-ide-windows-amd64: + enso-build-ci-gen-job-package-ide-windows-amd64: name: Package New IDE (windows, amd64) needs: - - enso-build::ci-gen::job::build-backend-windows-amd64 + - enso-build-ci-gen-job-build-backend-windows-amd64 runs-on: - self-hosted - Windows diff --git a/.github/workflows/promote.yml b/.github/workflows/promote.yml index 202682625781..5fbbfbd21a1b 100644 --- a/.github/workflows/promote.yml +++ b/.github/workflows/promote.yml @@ -21,7 +21,7 @@ on: required: true type: string jobs: - enso-build::ci-gen::promote-release-job-linux-amd64: + enso-build-ci-gen-promote-release-job-linux-amd64: name: Promote release (linux, amd64) runs-on: - self-hosted @@ -72,10 +72,10 @@ jobs: release: name: Release needs: - - enso-build::ci-gen::promote-release-job-linux-amd64 + - enso-build-ci-gen-promote-release-job-linux-amd64 uses: ./.github/workflows/release.yml with: - version: ${{ needs.enso-build::ci-gen::promote-release-job-linux-amd64.outputs.ENSO_VERSION }} + version: ${{ needs.enso-build-ci-gen-promote-release-job-linux-amd64.outputs.ENSO_VERSION }} secrets: inherit env: ENSO_BUILD_SKIP_VERSION_CHECK: "true" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a8b837a499d4..9336bc045592 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ on: required: true type: string jobs: - enso-build::ci-gen::draft-release-linux-amd64: + enso-build-ci-gen-draft-release-linux-amd64: name: Create a release draft. runs-on: - self-hosted @@ -47,11 +47,11 @@ jobs: outputs: ENSO_RELEASE_ID: ${{ steps.prepare.outputs.ENSO_RELEASE_ID }} ENSO_VERSION: ${{ steps.prepare.outputs.ENSO_VERSION }} - enso-build::ci-gen::job::deploy-runtime-linux-amd64: + enso-build-ci-gen-job-deploy-runtime-linux-amd64: name: Upload Runtime to ECR (linux, amd64) needs: - - enso-build::ci-gen::draft-release-linux-amd64 - - enso-build::ci-gen::job::upload-backend-linux-amd64 + - enso-build-ci-gen-draft-release-linux-amd64 + - enso-build-ci-gen-job-upload-backend-linux-amd64 runs-on: - self-hosted - Linux @@ -98,12 +98,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} - enso-build::ci-gen::job::upload-backend-linux-amd64: + ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build-ci-gen-job-upload-backend-linux-amd64: name: Upload Backend (linux, amd64) needs: - - enso-build::ci-gen::draft-release-linux-amd64 + - enso-build-ci-gen-draft-release-linux-amd64 runs-on: - self-hosted - Linux @@ -146,12 +146,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} - enso-build::ci-gen::job::upload-backend-macos-aarch64: + ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build-ci-gen-job-upload-backend-macos-aarch64: name: Upload Backend (macos, aarch64) needs: - - enso-build::ci-gen::draft-release-linux-amd64 + - enso-build-ci-gen-draft-release-linux-amd64 runs-on: - self-hosted - macOS @@ -195,12 +195,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} - enso-build::ci-gen::job::upload-backend-macos-amd64: + ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build-ci-gen-job-upload-backend-macos-amd64: name: Upload Backend (macos, amd64) needs: - - enso-build::ci-gen::draft-release-linux-amd64 + - enso-build-ci-gen-draft-release-linux-amd64 runs-on: - macos-12 steps: @@ -242,12 +242,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} - enso-build::ci-gen::job::upload-backend-windows-amd64: + ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build-ci-gen-job-upload-backend-windows-amd64: name: Upload Backend (windows, amd64) needs: - - enso-build::ci-gen::draft-release-linux-amd64 + - enso-build-ci-gen-draft-release-linux-amd64 runs-on: - self-hosted - Windows @@ -290,17 +290,17 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} - enso-build::ci-gen::publish-release-linux-amd64: + ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build-ci-gen-publish-release-linux-amd64: name: Publish release (linux, amd64) needs: - - enso-build::ci-gen::draft-release-linux-amd64 - - enso-build::ci-gen::job::deploy-runtime-linux-amd64 - - enso-build::ci-gen::upload-ide-linux-amd64 - - enso-build::ci-gen::upload-ide-macos-aarch64 - - enso-build::ci-gen::upload-ide-macos-amd64 - - enso-build::ci-gen::upload-ide-windows-amd64 + - enso-build-ci-gen-draft-release-linux-amd64 + - enso-build-ci-gen-job-deploy-runtime-linux-amd64 + - enso-build-ci-gen-upload-ide-linux-amd64 + - enso-build-ci-gen-upload-ide-macos-aarch64 + - enso-build-ci-gen-upload-ide-macos-amd64 + - enso-build-ci-gen-upload-ide-windows-amd64 runs-on: - self-hosted - Linux @@ -346,13 +346,13 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.ARTEFACT_S3_ACCESS_KEY_ID }} AWS_REGION: us-west-1 AWS_SECRET_ACCESS_KEY: ${{ secrets.ARTEFACT_S3_SECRET_ACCESS_KEY }} - ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} - enso-build::ci-gen::upload-ide-linux-amd64: + ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build-ci-gen-upload-ide-linux-amd64: name: Build IDE (linux, amd64) needs: - - enso-build::ci-gen::draft-release-linux-amd64 - - enso-build::ci-gen::job::upload-backend-linux-amd64 + - enso-build-ci-gen-draft-release-linux-amd64 + - enso-build-ci-gen-job-upload-backend-linux-amd64 runs-on: - self-hosted - Linux @@ -407,13 +407,13 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} - enso-build::ci-gen::upload-ide-macos-aarch64: + ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build-ci-gen-upload-ide-macos-aarch64: name: Build IDE (macos, aarch64) needs: - - enso-build::ci-gen::draft-release-linux-amd64 - - enso-build::ci-gen::job::upload-backend-macos-aarch64 + - enso-build-ci-gen-draft-release-linux-amd64 + - enso-build-ci-gen-job-upload-backend-macos-aarch64 runs-on: - self-hosted - macOS @@ -476,13 +476,13 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} - enso-build::ci-gen::upload-ide-macos-amd64: + ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build-ci-gen-upload-ide-macos-amd64: name: Build IDE (macos, amd64) needs: - - enso-build::ci-gen::draft-release-linux-amd64 - - enso-build::ci-gen::job::upload-backend-macos-amd64 + - enso-build-ci-gen-draft-release-linux-amd64 + - enso-build-ci-gen-job-upload-backend-macos-amd64 runs-on: - macos-12 steps: @@ -543,13 +543,13 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} - enso-build::ci-gen::upload-ide-windows-amd64: + ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_VERSION }} + enso-build-ci-gen-upload-ide-windows-amd64: name: Build IDE (windows, amd64) needs: - - enso-build::ci-gen::draft-release-linux-amd64 - - enso-build::ci-gen::job::upload-backend-windows-amd64 + - enso-build-ci-gen-draft-release-linux-amd64 + - enso-build-ci-gen-job-upload-backend-windows-amd64 runs-on: - self-hosted - Windows @@ -606,8 +606,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: - ENSO_RELEASE_ID: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} - ENSO_VERSION: ${{ needs.enso-build::ci-gen::draft-release-linux-amd64.outputs.ENSO_VERSION }} + ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_RELEASE_ID }} + ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-amd64.outputs.ENSO_VERSION }} env: ENSO_BUILD_SKIP_VERSION_CHECK: "true" ENSO_EDITION: ${{ inputs.version }} diff --git a/.github/workflows/scala-new.yml b/.github/workflows/scala-new.yml index ea9be7c085d1..63999855b177 100644 --- a/.github/workflows/scala-new.yml +++ b/.github/workflows/scala-new.yml @@ -15,7 +15,7 @@ on: type: boolean default: false jobs: - enso-build::ci-gen::job::cancel-workflow-linux-amd64: + enso-build-ci-gen-job-cancel-workflow-linux-amd64: name: Cancel Previous Runs if: github.ref != 'refs/heads/develop' runs-on: @@ -27,7 +27,7 @@ jobs: access_token: ${{ github.token }} permissions: actions: write - enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-linux-amd64: + enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-linux-amd64: name: Engine (GraalVM CE) (linux, amd64) runs-on: - self-hosted @@ -72,7 +72,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-macos-aarch64: + enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-aarch64: name: Engine (GraalVM CE) (macos, aarch64) runs-on: - self-hosted @@ -118,7 +118,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-macos-amd64: + enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-amd64: name: Engine (GraalVM CE) (macos, amd64) runs-on: - macos-12 @@ -162,7 +162,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build::ci-gen::job::ci-check-backend-graal-vm-ce-windows-amd64: + enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-windows-amd64: name: Engine (GraalVM CE) (windows, amd64) runs-on: - self-hosted @@ -207,7 +207,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build::ci-gen::job::jvm-tests-graal-vm-ce-linux-amd64: + enso-build-ci-gen-job-jvm-tests-graal-vm-ce-linux-amd64: name: JVM Tests (GraalVM CE) (linux, amd64) runs-on: - self-hosted @@ -263,7 +263,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::jvm-tests-graal-vm-ce-macos-aarch64: + enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-aarch64: name: JVM Tests (GraalVM CE) (macos, aarch64) runs-on: - self-hosted @@ -320,7 +320,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::jvm-tests-graal-vm-ce-macos-amd64: + enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-amd64: name: JVM Tests (GraalVM CE) (macos, amd64) runs-on: - macos-12 @@ -375,7 +375,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::jvm-tests-graal-vm-ce-windows-amd64: + enso-build-ci-gen-job-jvm-tests-graal-vm-ce-windows-amd64: name: JVM Tests (GraalVM CE) (windows, amd64) runs-on: - self-hosted @@ -431,7 +431,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-linux-amd64: + enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-linux-amd64: name: Standard Library Tests (GraalVM CE) (linux, amd64) runs-on: - self-hosted @@ -490,7 +490,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-macos-aarch64: + enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-aarch64: name: Standard Library Tests (GraalVM CE) (macos, aarch64) runs-on: - self-hosted @@ -550,7 +550,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-macos-amd64: + enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-amd64: name: Standard Library Tests (GraalVM CE) (macos, amd64) runs-on: - macos-12 @@ -608,7 +608,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::standard-library-tests-graal-vm-ce-windows-amd64: + enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-windows-amd64: name: Standard Library Tests (GraalVM CE) (windows, amd64) runs-on: - self-hosted @@ -667,7 +667,7 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build::ci-gen::job::verify-license-packages-linux-amd64: + enso-build-ci-gen-job-verify-license-packages-linux-amd64: name: Verify License Packages (linux, amd64) runs-on: - self-hosted diff --git a/.github/workflows/std-libs-benchmark.yml b/.github/workflows/std-libs-benchmark.yml index e902b3dd023c..dbac651715c2 100644 --- a/.github/workflows/std-libs-benchmark.yml +++ b/.github/workflows/std-libs-benchmark.yml @@ -13,7 +13,7 @@ on: type: boolean default: false jobs: - benchmark-standard-libraries-(graal-vm-ce): + benchmark-standard-libraries-graal-vm-ce: name: Benchmark Standard Libraries (GraalVM CE) runs-on: - benchmark diff --git a/build/build/src/ci_gen/job.rs b/build/build/src/ci_gen/job.rs index 556593d0b346..1e0fccc92065 100644 --- a/build/build/src/ci_gen/job.rs +++ b/build/build/src/ci_gen/job.rs @@ -13,8 +13,6 @@ use crate::engine::env; use crate::ide::web::env::VITE_ENSO_AG_GRID_LICENSE_KEY; use crate::ide::web::env::VITE_ENSO_MAPBOX_API_TOKEN; -use convert_case::Case; -use convert_case::Casing; use ide_ci::actions::workflow::definition::cancel_workflow_action; use ide_ci::actions::workflow::definition::Access; use ide_ci::actions::workflow::definition::Job; @@ -25,6 +23,7 @@ use ide_ci::actions::workflow::definition::Step; use ide_ci::actions::workflow::definition::Strategy; use ide_ci::actions::workflow::definition::Target; use ide_ci::cache::goodie::graalvm; +use ide_ci::convert_case::ToKebabCase; @@ -207,7 +206,7 @@ impl JobArchetype for JvmTests { format!( "{}-{}-{os}-{arch}", self.id_key_base(), - self.graal_edition.to_string().to_case(Case::Kebab) + self.graal_edition.to_string().to_kebab_case() ) } } @@ -252,7 +251,7 @@ impl JobArchetype for StandardLibraryTests { format!( "{}-{}-{os}-{arch}", self.id_key_base(), - self.graal_edition.to_string().to_case(Case::Kebab) + self.graal_edition.to_string().to_kebab_case() ) } } @@ -492,7 +491,7 @@ impl JobArchetype for CiCheckBackend { format!( "{}-{}-{os}-{arch}", self.id_key_base(), - self.graal_edition.to_string().to_case(Case::Kebab) + self.graal_edition.to_string().to_kebab_case() ) } } diff --git a/build/ci_utils/src/actions/workflow/definition.rs b/build/ci_utils/src/actions/workflow/definition.rs index 074c1c49d86e..e3178ff6372d 100644 --- a/build/ci_utils/src/actions/workflow/definition.rs +++ b/build/ci_utils/src/actions/workflow/definition.rs @@ -2,10 +2,9 @@ use crate::prelude::*; +use crate::convert_case::ToKebabCase; use crate::env::accessor::RawVariable; -use convert_case::Case; -use convert_case::Casing; use std::collections::btree_map::Entry; use std::collections::BTreeMap; use std::convert::identity; @@ -238,7 +237,7 @@ impl Workflow { impl Workflow { pub fn add_job(&mut self, job: Job) -> String { - let key = job.name.to_case(Case::Kebab); + let key = job.name.to_kebab_case(); if self.jobs.insert(key.clone(), job).is_some() { warn!("Job with name {key} already exists."); } @@ -1061,7 +1060,7 @@ pub fn checkout_repo_step() -> impl IntoIterator { pub trait JobArchetype { fn id_key_base(&self) -> String { - std::any::type_name::().to_case(Case::Kebab) + std::any::type_name::().to_kebab_case() } fn key(&self, (os, arch): Target) -> String { diff --git a/build/ci_utils/src/convert_case.rs b/build/ci_utils/src/convert_case.rs new file mode 100644 index 000000000000..6921d1f71264 --- /dev/null +++ b/build/ci_utils/src/convert_case.rs @@ -0,0 +1,18 @@ +use convert_case::Case; +use convert_case::Casing; + + + +/// Describes items that can be converted into the kebab case. +pub trait ToKebabCase> { + /// Convert string into the kebab case. + fn to_kebab_case(&self) -> String; +} + +impl> ToKebabCase for T +where String: PartialEq +{ + fn to_kebab_case(&self) -> String { + self.to_case(Case::Kebab).replace("::", "-").replace("(", "").replace(")", "") + } +} diff --git a/build/ci_utils/src/lib.rs b/build/ci_utils/src/lib.rs index 838ff9039092..f53fa388f54d 100644 --- a/build/ci_utils/src/lib.rs +++ b/build/ci_utils/src/lib.rs @@ -10,6 +10,7 @@ pub mod actions; pub mod archive; pub mod cache; pub mod ci; +pub mod convert_case; pub mod deploy; pub mod env; pub mod extensions; From 2458f42bb75f15445cca237c6741cc81738b3fb5 Mon Sep 17 00:00:00 2001 From: Dmitry Bushev Date: Mon, 26 Aug 2024 12:52:53 +0100 Subject: [PATCH 3/8] feat: github-hosted arm64 runner --- .github/workflows/engine-nightly.yml | 12 +++--------- .github/workflows/gui.yml | 12 +++--------- .github/workflows/release.yml | 8 ++------ .github/workflows/scala-new.yml | 12 +++--------- build/build/src/ci_gen/job.rs | 6 +----- 5 files changed, 12 insertions(+), 38 deletions(-) diff --git a/.github/workflows/engine-nightly.yml b/.github/workflows/engine-nightly.yml index 5997a095d712..3d021aa5706b 100644 --- a/.github/workflows/engine-nightly.yml +++ b/.github/workflows/engine-nightly.yml @@ -61,9 +61,7 @@ jobs: enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-aarch64: name: Engine (GraalVM CE) (macos, aarch64) runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -297,9 +295,7 @@ jobs: enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-aarch64: name: JVM Tests (GraalVM CE) (macos, aarch64) runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -580,9 +576,7 @@ jobs: enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-aarch64: name: Standard Library Tests (GraalVM CE) (macos, aarch64) runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack diff --git a/.github/workflows/gui.yml b/.github/workflows/gui.yml index 623818247c17..f63993efe87b 100644 --- a/.github/workflows/gui.yml +++ b/.github/workflows/gui.yml @@ -61,9 +61,7 @@ jobs: enso-build-ci-gen-job-build-backend-macos-aarch64: name: Build Backend (macos, aarch64) runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -257,9 +255,7 @@ jobs: enso-build-ci-gen-job-gui-build-macos-aarch64: name: GUI build (macos, aarch64) runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -481,9 +477,7 @@ jobs: needs: - enso-build-ci-gen-job-build-backend-macos-aarch64 runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9336bc045592..3d9cf276b233 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -153,9 +153,7 @@ jobs: needs: - enso-build-ci-gen-draft-release-linux-amd64 runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -415,9 +413,7 @@ jobs: - enso-build-ci-gen-draft-release-linux-amd64 - enso-build-ci-gen-job-upload-backend-macos-aarch64 runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack diff --git a/.github/workflows/scala-new.yml b/.github/workflows/scala-new.yml index 63999855b177..a330655a5b87 100644 --- a/.github/workflows/scala-new.yml +++ b/.github/workflows/scala-new.yml @@ -75,9 +75,7 @@ jobs: enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-aarch64: name: Engine (GraalVM CE) (macos, aarch64) runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -266,9 +264,7 @@ jobs: enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-aarch64: name: JVM Tests (GraalVM CE) (macos, aarch64) runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -493,9 +489,7 @@ jobs: enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-aarch64: name: Standard Library Tests (GraalVM CE) (macos, aarch64) runs-on: - - self-hosted - - macOS - - ARM64 + - macos-latest steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack diff --git a/build/build/src/ci_gen/job.rs b/build/build/src/ci_gen/job.rs index 1e0fccc92065..918e29543d58 100644 --- a/build/build/src/ci_gen/job.rs +++ b/build/build/src/ci_gen/job.rs @@ -88,11 +88,7 @@ impl RunsOn for (OS, Arch) { match self { (OS::MacOS, Arch::X86_64) => vec![RunnerLabel::MacOS12], (os, Arch::X86_64) => runs_on(*os, RunnerType::SelfHosted), - (OS::MacOS, Arch::AArch64) => { - let mut ret = runs_on(OS::MacOS, RunnerType::SelfHosted); - ret.push(RunnerLabel::Arm64); - ret - } + (OS::MacOS, Arch::AArch64) => runs_on(OS::MacOS, RunnerType::GitHubHosted), _ => panic!("Unsupported OS/arch combination: {self:?}"), } } From f98b82f04bba19fda1cb4788990be4f3d4515bad Mon Sep 17 00:00:00 2001 From: Dmitry Bushev Date: Mon, 26 Aug 2024 15:17:44 +0100 Subject: [PATCH 4/8] Revert "feat: github-hosted arm64 runner" This reverts commit 2458f42bb75f15445cca237c6741cc81738b3fb5. --- .github/workflows/engine-nightly.yml | 12 +++++++++--- .github/workflows/gui.yml | 12 +++++++++--- .github/workflows/release.yml | 8 ++++++-- .github/workflows/scala-new.yml | 12 +++++++++--- build/build/src/ci_gen/job.rs | 6 +++++- 5 files changed, 38 insertions(+), 12 deletions(-) diff --git a/.github/workflows/engine-nightly.yml b/.github/workflows/engine-nightly.yml index 3d021aa5706b..5997a095d712 100644 --- a/.github/workflows/engine-nightly.yml +++ b/.github/workflows/engine-nightly.yml @@ -61,7 +61,9 @@ jobs: enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-aarch64: name: Engine (GraalVM CE) (macos, aarch64) runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -295,7 +297,9 @@ jobs: enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-aarch64: name: JVM Tests (GraalVM CE) (macos, aarch64) runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -576,7 +580,9 @@ jobs: enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-aarch64: name: Standard Library Tests (GraalVM CE) (macos, aarch64) runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack diff --git a/.github/workflows/gui.yml b/.github/workflows/gui.yml index f63993efe87b..623818247c17 100644 --- a/.github/workflows/gui.yml +++ b/.github/workflows/gui.yml @@ -61,7 +61,9 @@ jobs: enso-build-ci-gen-job-build-backend-macos-aarch64: name: Build Backend (macos, aarch64) runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -255,7 +257,9 @@ jobs: enso-build-ci-gen-job-gui-build-macos-aarch64: name: GUI build (macos, aarch64) runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -477,7 +481,9 @@ jobs: needs: - enso-build-ci-gen-job-build-backend-macos-aarch64 runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3d9cf276b233..9336bc045592 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -153,7 +153,9 @@ jobs: needs: - enso-build-ci-gen-draft-release-linux-amd64 runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -413,7 +415,9 @@ jobs: - enso-build-ci-gen-draft-release-linux-amd64 - enso-build-ci-gen-job-upload-backend-macos-aarch64 runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack diff --git a/.github/workflows/scala-new.yml b/.github/workflows/scala-new.yml index a330655a5b87..63999855b177 100644 --- a/.github/workflows/scala-new.yml +++ b/.github/workflows/scala-new.yml @@ -75,7 +75,9 @@ jobs: enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-aarch64: name: Engine (GraalVM CE) (macos, aarch64) runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -264,7 +266,9 @@ jobs: enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-aarch64: name: JVM Tests (GraalVM CE) (macos, aarch64) runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack @@ -489,7 +493,9 @@ jobs: enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-aarch64: name: Standard Library Tests (GraalVM CE) (macos, aarch64) runs-on: - - macos-latest + - self-hosted + - macOS + - ARM64 steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack diff --git a/build/build/src/ci_gen/job.rs b/build/build/src/ci_gen/job.rs index 918e29543d58..1e0fccc92065 100644 --- a/build/build/src/ci_gen/job.rs +++ b/build/build/src/ci_gen/job.rs @@ -88,7 +88,11 @@ impl RunsOn for (OS, Arch) { match self { (OS::MacOS, Arch::X86_64) => vec![RunnerLabel::MacOS12], (os, Arch::X86_64) => runs_on(*os, RunnerType::SelfHosted), - (OS::MacOS, Arch::AArch64) => runs_on(OS::MacOS, RunnerType::GitHubHosted), + (OS::MacOS, Arch::AArch64) => { + let mut ret = runs_on(OS::MacOS, RunnerType::SelfHosted); + ret.push(RunnerLabel::Arm64); + ret + } _ => panic!("Unsupported OS/arch combination: {self:?}"), } } From b9176bd0e0518df9148ac011c4fea2cff283463d Mon Sep 17 00:00:00 2001 From: Dmitry Bushev Date: Mon, 26 Aug 2024 17:47:17 +0100 Subject: [PATCH 5/8] test: disable tableau on macos aarch64 --- test/Tableau_Tests/src/Main.enso | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/test/Tableau_Tests/src/Main.enso b/test/Tableau_Tests/src/Main.enso index da72d33f5538..b593a42fb79b 100644 --- a/test/Tableau_Tests/src/Main.enso +++ b/test/Tableau_Tests/src/Main.enso @@ -5,9 +5,19 @@ from Standard.Test import Test import project.Read_Spec import project.Structure_Spec +polyglot java import java.lang.System as Java_System + +## Hyper DB support for Apple Slicon (aarch64) requires macOS 13 or newer. +## CI runner has macOS 12 and should be updated. +skip_on_ci = is_on_ci && is_macos && is_aarch64 +is_on_ci = Java_System.getenv "CI" != Nothing +is_macos = Platform.os == Platform.OS.Mac_OS +is_aarch64 = Java_System.getProperty "os.arch" == "aarch64" + add_specs suite_builder = - Structure_Spec.add_specs suite_builder - Read_Spec.add_specs suite_builder + if skip_on_ci then Nothing else + Structure_Spec.add_specs suite_builder + Read_Spec.add_specs suite_builder main filter=Nothing = suite = Test.build suite_builder-> From 8503a660d0e2e4b3f2ecabbb034c723a9b62f9fe Mon Sep 17 00:00:00 2001 From: Dmitry Bushev Date: Mon, 26 Aug 2024 17:49:44 +0100 Subject: [PATCH 6/8] DEBUG: S3 spec --- test/AWS_Tests/src/S3_Spec.enso | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/AWS_Tests/src/S3_Spec.enso b/test/AWS_Tests/src/S3_Spec.enso index 8d72ee889770..14b5ee140284 100644 --- a/test/AWS_Tests/src/S3_Spec.enso +++ b/test/AWS_Tests/src/S3_Spec.enso @@ -485,7 +485,7 @@ add_specs suite_builder = new_file = S3_File.new "s3://"+bucket_name+"/examples/no-write-permissions-here.txt" credentials=test_credentials r = "Hello".write new_file r.should_fail_with S3_Error - r.catch.to_display_text . should_contain "Access Denied" + r.catch.to_display_text . should_contain "AccessDenied" group_builder.specify "should fail to open an output stream if Output context is not enabled" <| Context.Output.with_disabled <| From 552ebe8b01ad5e244ae9dc0641e5c8c6636ec1ad Mon Sep 17 00:00:00 2001 From: Dmitry Bushev Date: Mon, 26 Aug 2024 18:06:42 +0100 Subject: [PATCH 7/8] misc: typo --- test/Tableau_Tests/src/Main.enso | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Tableau_Tests/src/Main.enso b/test/Tableau_Tests/src/Main.enso index b593a42fb79b..00781cb85833 100644 --- a/test/Tableau_Tests/src/Main.enso +++ b/test/Tableau_Tests/src/Main.enso @@ -7,7 +7,7 @@ import project.Structure_Spec polyglot java import java.lang.System as Java_System -## Hyper DB support for Apple Slicon (aarch64) requires macOS 13 or newer. +## Hyper DB support for Apple Silicon (aarch64) requires macOS 13 or newer. ## CI runner has macOS 12 and should be updated. skip_on_ci = is_on_ci && is_macos && is_aarch64 is_on_ci = Java_System.getenv "CI" != Nothing From ba613fd1880707da6aa4fdd11a70fb5dc726dfac Mon Sep 17 00:00:00 2001 From: Dmitry Bushev Date: Wed, 28 Aug 2024 16:00:40 +0100 Subject: [PATCH 8/8] feat: aarch64 nightly only --- .github/workflows/gui.yml | 165 -------------------------------- .github/workflows/scala-new.yml | 163 ------------------------------- build/build/src/ci_gen.rs | 8 +- 3 files changed, 2 insertions(+), 334 deletions(-) diff --git a/.github/workflows/gui.yml b/.github/workflows/gui.yml index 623818247c17..2ec74a1d5353 100644 --- a/.github/workflows/gui.yml +++ b/.github/workflows/gui.yml @@ -58,50 +58,6 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-build-backend-macos-aarch64: - name: Build Backend (macos, aarch64) - runs-on: - - self-hosted - - macOS - - ARM64 - steps: - - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') - name: Installing wasm-pack - uses: jetli/wasm-pack-action@v0.4.0 - with: - version: v0.10.2 - - 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 - submodules: recursive - - 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') || inputs.clean_build_required)" - name: Clean before - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: ./run backend get - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - if: failure() && runner.os == 'Windows' - name: List files if failed (Windows) - run: Get-ChildItem -Force -Recurse - - if: failure() && runner.os != 'Windows' - name: List files if failed (non-Windows) - run: ls -lAR - - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" - name: Clean after - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} enso-build-ci-gen-job-build-backend-macos-amd64: name: Build Backend (macos, amd64) runs-on: @@ -254,62 +210,6 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-gui-build-macos-aarch64: - name: GUI build (macos, aarch64) - runs-on: - - self-hosted - - macOS - - ARM64 - steps: - - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') - name: Installing wasm-pack - uses: jetli/wasm-pack-action@v0.4.0 - with: - version: v0.10.2 - - 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 - submodules: recursive - - 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') || inputs.clean_build_required)" - name: Clean before - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: ./run gui build - env: - ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }} - ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }} - ENSO_CLOUD_COGNITO_DOMAIN: ${{ vars.ENSO_CLOUD_COGNITO_DOMAIN }} - ENSO_CLOUD_COGNITO_REGION: ${{ vars.ENSO_CLOUD_COGNITO_REGION }} - ENSO_CLOUD_COGNITO_USER_POOL_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_ID }} - ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID }} - ENSO_CLOUD_ENVIRONMENT: ${{ vars.ENSO_CLOUD_ENVIRONMENT }} - ENSO_CLOUD_GOOGLE_ANALYTICS_TAG: ${{ vars.ENSO_CLOUD_GOOGLE_ANALYTICS_TAG }} - ENSO_CLOUD_SENTRY_DSN: ${{ vars.ENSO_CLOUD_SENTRY_DSN }} - ENSO_CLOUD_STRIPE_KEY: ${{ vars.ENSO_CLOUD_STRIPE_KEY }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - VITE_ENSO_AG_GRID_LICENSE_KEY: ${{ vars.ENSO_AG_GRID_LICENSE_KEY }} - VITE_ENSO_MAPBOX_API_TOKEN: ${{ vars.ENSO_MAPBOX_API_TOKEN }} - - if: failure() && runner.os == 'Windows' - name: List files if failed (Windows) - run: Get-ChildItem -Force -Recurse - - if: failure() && runner.os != 'Windows' - name: List files if failed (non-Windows) - run: ls -lAR - - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" - name: Clean after - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} enso-build-ci-gen-job-gui-build-macos-amd64: name: GUI build (macos, amd64) runs-on: @@ -476,71 +376,6 @@ jobs: run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - enso-build-ci-gen-job-package-ide-macos-aarch64: - name: Package New IDE (macos, aarch64) - needs: - - enso-build-ci-gen-job-build-backend-macos-aarch64 - runs-on: - - self-hosted - - macOS - - ARM64 - steps: - - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') - name: Installing wasm-pack - uses: jetli/wasm-pack-action@v0.4.0 - with: - version: v0.10.2 - - 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 - submodules: recursive - - 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') || inputs.clean_build_required)" - name: Clean before - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: ./run ide build --backend-source current-ci-run --gui-upload-artifact false - env: - APPLEID: ${{ secrets.APPLE_NOTARIZATION_USERNAME }} - APPLEIDPASS: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }} - APPLETEAMID: ${{ secrets.APPLE_NOTARIZATION_TEAM_ID }} - CSC_FOR_PULL_REQUEST: "true" - CSC_IDENTITY_AUTO_DISCOVERY: "true" - CSC_KEY_PASSWORD: ${{ secrets.APPLE_CODE_SIGNING_CERT_PASSWORD }} - CSC_LINK: ${{ secrets.APPLE_CODE_SIGNING_CERT }} - ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }} - ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }} - ENSO_CLOUD_COGNITO_DOMAIN: ${{ vars.ENSO_CLOUD_COGNITO_DOMAIN }} - ENSO_CLOUD_COGNITO_REGION: ${{ vars.ENSO_CLOUD_COGNITO_REGION }} - ENSO_CLOUD_COGNITO_USER_POOL_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_ID }} - ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID }} - ENSO_CLOUD_ENVIRONMENT: ${{ vars.ENSO_CLOUD_ENVIRONMENT }} - ENSO_CLOUD_GOOGLE_ANALYTICS_TAG: ${{ vars.ENSO_CLOUD_GOOGLE_ANALYTICS_TAG }} - ENSO_CLOUD_SENTRY_DSN: ${{ vars.ENSO_CLOUD_SENTRY_DSN }} - ENSO_CLOUD_STRIPE_KEY: ${{ vars.ENSO_CLOUD_STRIPE_KEY }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - VITE_ENSO_AG_GRID_LICENSE_KEY: ${{ vars.ENSO_AG_GRID_LICENSE_KEY }} - VITE_ENSO_MAPBOX_API_TOKEN: ${{ vars.ENSO_MAPBOX_API_TOKEN }} - - if: failure() && runner.os == 'Windows' - name: List files if failed (Windows) - run: Get-ChildItem -Force -Recurse - - if: failure() && runner.os != 'Windows' - name: List files if failed (non-Windows) - run: ls -lAR - - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" - name: Clean after - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} enso-build-ci-gen-job-package-ide-macos-amd64: name: Package New IDE (macos, amd64) needs: diff --git a/.github/workflows/scala-new.yml b/.github/workflows/scala-new.yml index 63999855b177..ef44a17fb088 100644 --- a/.github/workflows/scala-new.yml +++ b/.github/workflows/scala-new.yml @@ -72,52 +72,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} env: GRAAL_EDITION: GraalVM CE - enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-aarch64: - name: Engine (GraalVM CE) (macos, aarch64) - runs-on: - - self-hosted - - macOS - - ARM64 - steps: - - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') - name: Installing wasm-pack - uses: jetli/wasm-pack-action@v0.4.0 - with: - version: v0.10.2 - - 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 - submodules: recursive - - 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') || inputs.clean_build_required)" - name: Clean before - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: ./run backend ci-check - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - if: failure() && runner.os == 'Windows' - name: List files if failed (Windows) - run: Get-ChildItem -Force -Recurse - - if: failure() && runner.os != 'Windows' - name: List files if failed (non-Windows) - run: ls -lAR - - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" - name: Clean after - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - env: - GRAAL_EDITION: GraalVM CE enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-amd64: name: Engine (GraalVM CE) (macos, amd64) runs-on: @@ -263,63 +217,6 @@ jobs: 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) - runs-on: - - self-hosted - - macOS - - ARM64 - steps: - - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') - name: Installing wasm-pack - uses: jetli/wasm-pack-action@v0.4.0 - with: - version: v0.10.2 - - 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 - submodules: recursive - - 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') || inputs.clean_build_required)" - name: Clean before - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: ./run backend test jvm - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - if: (success() || failure()) && 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: failure() && runner.os == 'Windows' - name: List files if failed (Windows) - run: Get-ChildItem -Force -Recurse - - if: failure() && runner.os != 'Windows' - name: List files if failed (non-Windows) - run: ls -lAR - - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" - name: Clean after - run: ./run git-clean - 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-amd64: name: JVM Tests (GraalVM CE) (macos, amd64) runs-on: @@ -490,66 +387,6 @@ jobs: GRAAL_EDITION: GraalVM CE permissions: checks: write - enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-aarch64: - name: Standard Library Tests (GraalVM CE) (macos, aarch64) - runs-on: - - self-hosted - - macOS - - ARM64 - steps: - - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') - name: Installing wasm-pack - uses: jetli/wasm-pack-action@v0.4.0 - with: - version: v0.10.2 - - 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 - submodules: recursive - - 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') || inputs.clean_build_required)" - name: Clean before - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - 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.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: failure() && runner.os == 'Windows' - name: List files if failed (Windows) - run: Get-ChildItem -Force -Recurse - - if: failure() && runner.os != 'Windows' - name: List files if failed (non-Windows) - run: ls -lAR - - if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)" - name: Clean after - run: ./run git-clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - env: - GRAAL_EDITION: GraalVM CE - permissions: - checks: write enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-amd64: name: Standard Library Tests (GraalVM CE) (macos, amd64) runs-on: diff --git a/build/build/src/ci_gen.rs b/build/build/src/ci_gen.rs index a87bcc0f0c63..8754e175356f 100644 --- a/build/build/src/ci_gen.rs +++ b/build/build/src/ci_gen.rs @@ -75,12 +75,8 @@ pub const RELEASE_TARGETS: [(OS, Arch); 4] = [ /// Targets for which we run PR checks. /// /// The macOS AArch64 is intentionally omitted, as the runner availability is limited. -pub const PR_CHECKED_TARGETS: [(OS, Arch); 4] = [ - (OS::Windows, Arch::X86_64), - (OS::Linux, Arch::X86_64), - (OS::MacOS, Arch::X86_64), - (OS::MacOS, Arch::AArch64), -]; +pub const PR_CHECKED_TARGETS: [(OS, Arch); 3] = + [(OS::Windows, Arch::X86_64), (OS::Linux, Arch::X86_64), (OS::MacOS, Arch::X86_64)]; pub const DEFAULT_BRANCH_NAME: &str = "develop";