enso/.github/workflows/scala-new.yml
Michał Wawrzyniec Urbańczyk b8dd92e9dc
CI and build script update (#3677)
* added polyfill globals plugin to fix issue with missing types like Buffer that was affecting nightly releases;
* fixed exit code propagation for Windows build script wrapper;
* bumped the build script and refreshed the generated workflows.

Includes https://github.com/enso-org/ci-build/pull/8
2022-09-02 22:02:44 +02:00

222 lines
8.2 KiB
YAML

name: Engine CI
on:
push:
branches:
- develop
pull_request: {}
workflow_dispatch: {}
jobs:
enso-build-cli-ci-gen-job-cancel-workflow-linux:
name: Cancel Previous Runs
runs-on:
- X64
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.9.1
with:
access_token: ${{ github.token }}
enso-build-cli-ci-gen-job-ci-check-backend-linux:
name: Engine (linux)
runs-on:
- self-hosted
- Linux
- engine
steps:
- name: Setup conda (GH runners only)
uses: s-weigand/setup-conda@v1.0.5
if:
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
Agent')
with:
update-conda: false
conda-channels: anaconda, conda-forge
- name: Installing wasm-pack
uses: jetli/wasm-pack-action@v0.3.0
if:
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
Agent')
with:
version: v0.10.2
- name: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: |-
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
run:
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|| :"'
if: runner.os == 'Windows'
shell: cmd
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
run:
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
hash-object -t tree /dev/null) < /dev/null) || :"
if: runner.os != 'Windows'
shell: bash
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: false
submodules: recursive
- name: Build Script Setup
run: ./run --help
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run backend ci-check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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: failure() && runner.os != 'Windows'
- name: Stdlib test report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: Enso Standard Library Tests (linux)
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/**/*.xml
path-replace-backslashes: "true"
reporter: java-junit
enso-build-cli-ci-gen-job-ci-check-backend-macos:
name: Engine (macos)
runs-on:
- macos-latest
steps:
- name: Setup conda (GH runners only)
uses: s-weigand/setup-conda@v1.0.5
if:
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
Agent')
with:
update-conda: false
conda-channels: anaconda, conda-forge
- name: Installing wasm-pack
uses: jetli/wasm-pack-action@v0.3.0
if:
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
Agent')
with:
version: v0.10.2
- name: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: |-
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
run:
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|| :"'
if: runner.os == 'Windows'
shell: cmd
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
run:
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
hash-object -t tree /dev/null) < /dev/null) || :"
if: runner.os != 'Windows'
shell: bash
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: false
submodules: recursive
- name: Build Script Setup
run: ./run --help
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run backend ci-check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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: failure() && runner.os != 'Windows'
- name: Stdlib test report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: Enso Standard Library Tests (macos)
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/**/*.xml
path-replace-backslashes: "true"
reporter: java-junit
enso-build-cli-ci-gen-job-ci-check-backend-windows:
name: Engine (windows)
runs-on:
- self-hosted
- Windows
- engine
steps:
- name: Setup conda (GH runners only)
uses: s-weigand/setup-conda@v1.0.5
if:
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
Agent')
with:
update-conda: false
conda-channels: anaconda, conda-forge
- name: Installing wasm-pack
uses: jetli/wasm-pack-action@v0.3.0
if:
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
Agent')
with:
version: v0.10.2
- name: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: |-
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
run:
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|| :"'
if: runner.os == 'Windows'
shell: cmd
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
run:
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
hash-object -t tree /dev/null) < /dev/null) || :"
if: runner.os != 'Windows'
shell: bash
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: false
submodules: recursive
- name: Build Script Setup
run: ./run --help
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run backend ci-check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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: failure() && runner.os != 'Windows'
- name: Stdlib test report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: Enso Standard Library Tests (windows)
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/**/*.xml
path-replace-backslashes: "true"
reporter: java-junit
env:
ENSO_BUILD_SKIP_VERSION_CHECK: "true"