mirror of
https://github.com/enso-org/enso.git
synced 2024-12-20 23:11:35 +03:00
1a76f6383d
This PR allows requesting a clean build when triggering the workflow through the manual dispatch. Previously it was possible only by creating PR and adding the label to it.
247 lines
9.9 KiB
YAML
247 lines
9.9 KiB
YAML
# This file is auto-generated. Do not edit it manually!
|
|
# Edit the enso_build::ci_gen module instead and run `cargo run --package enso-build-ci-gen`.
|
|
|
|
name: Engine CI
|
|
on:
|
|
push:
|
|
branches:
|
|
- develop
|
|
pull_request: {}
|
|
workflow_dispatch:
|
|
inputs:
|
|
clean_build_required:
|
|
description: Clean before and after the run.
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
jobs:
|
|
enso-build-ci-gen-job-cancel-workflow-linux-x86_64:
|
|
name: Cancel Previous Runs
|
|
if: github.ref != 'refs/heads/develop'
|
|
runs-on:
|
|
- ubuntu-latest
|
|
steps:
|
|
- name: Cancel Previous Runs
|
|
uses: styfle/cancel-workflow-action@0.12.1
|
|
with:
|
|
access_token: ${{ github.token }}
|
|
permissions:
|
|
actions: write
|
|
enso-build-ci-gen-job-ci-check-backend-linux-x86_64:
|
|
name: Engine (linux, x86_64)
|
|
runs-on:
|
|
- self-hosted
|
|
- Linux
|
|
steps:
|
|
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
|
name: Setup conda (GH runners only)
|
|
uses: s-weigand/setup-conda@v1.2.1
|
|
with:
|
|
update-conda: false
|
|
conda-channels: anaconda, conda-forge
|
|
- 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
|
|
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:
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }}
|
|
AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }}
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- if: success() || failure()
|
|
name: Engine Test Reporter
|
|
uses: dorny/test-reporter@v1
|
|
with:
|
|
max-annotations: 50
|
|
name: Engine Tests (linux, x86_64)
|
|
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml
|
|
path-replace-backslashes: true
|
|
reporter: java-junit
|
|
- if: success() || failure()
|
|
name: Standard Library Test Reporter
|
|
uses: dorny/test-reporter@v1
|
|
with:
|
|
max-annotations: 50
|
|
name: Standard Library Tests (linux, x86_64)
|
|
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 }}
|
|
permissions:
|
|
checks: write
|
|
enso-build-ci-gen-job-ci-check-backend-macos-x86_64:
|
|
name: Engine (macos, x86_64)
|
|
runs-on:
|
|
- macos-latest
|
|
steps:
|
|
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
|
name: Setup conda (GH runners only)
|
|
uses: s-weigand/setup-conda@v1.2.1
|
|
with:
|
|
update-conda: false
|
|
conda-channels: anaconda, conda-forge
|
|
- 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
|
|
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:
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }}
|
|
AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }}
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- if: success() || failure()
|
|
name: Engine Test Reporter
|
|
uses: dorny/test-reporter@v1
|
|
with:
|
|
max-annotations: 50
|
|
name: Engine Tests (macos, x86_64)
|
|
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml
|
|
path-replace-backslashes: true
|
|
reporter: java-junit
|
|
- if: success() || failure()
|
|
name: Standard Library Test Reporter
|
|
uses: dorny/test-reporter@v1
|
|
with:
|
|
max-annotations: 50
|
|
name: Standard Library Tests (macos, x86_64)
|
|
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 }}
|
|
permissions:
|
|
checks: write
|
|
enso-build-ci-gen-job-ci-check-backend-windows-x86_64:
|
|
name: Engine (windows, x86_64)
|
|
runs-on:
|
|
- self-hosted
|
|
- Windows
|
|
steps:
|
|
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
|
name: Setup conda (GH runners only)
|
|
uses: s-weigand/setup-conda@v1.2.1
|
|
with:
|
|
update-conda: false
|
|
conda-channels: anaconda, conda-forge
|
|
- 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
|
|
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:
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }}
|
|
AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }}
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- if: success() || failure()
|
|
name: Engine Test Reporter
|
|
uses: dorny/test-reporter@v1
|
|
with:
|
|
max-annotations: 50
|
|
name: Engine Tests (windows, x86_64)
|
|
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml
|
|
path-replace-backslashes: true
|
|
reporter: java-junit
|
|
- if: success() || failure()
|
|
name: Standard Library Test Reporter
|
|
uses: dorny/test-reporter@v1
|
|
with:
|
|
max-annotations: 50
|
|
name: Standard Library Tests (windows, x86_64)
|
|
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 }}
|
|
permissions:
|
|
checks: write
|
|
env:
|
|
ENSO_BUILD_SKIP_VERSION_CHECK: "true"
|