Use Environment Files in Actions (#1218)

Updates and/or pins versions of some of the GitHub Actions that we use.
This commit is contained in:
Radosław Waśko 2020-10-21 16:48:05 +02:00 committed by GitHub
parent 207aaaccf5
commit 0740905306
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 55 additions and 49 deletions

View File

@ -10,11 +10,13 @@ on:
- "*" - "*"
env: env:
# Please ensure that this is in sync with graalAPIVersion in build.sbt # Please ensure that this is in sync with graalVersion in build.sbt
graalVersion: 20.2.0 graalVersion: 20.2.0
javaVersion: java11 # Please ensure that this is in sync with javaVersion in build.sbt
javaVersion: 11
# Please ensure that this is in sync with project/build.properties # Please ensure that this is in sync with project/build.properties
sbtVersion: 1.3.13 sbtVersion: 1.3.13
# Please ensure that this is in sync with rustVersion in build.sbt
rustToolchain: nightly-2019-11-04 rustToolchain: nightly-2019-11-04
jobs: jobs:
@ -43,26 +45,27 @@ jobs:
# Set Up Environment # Set Up Environment
- name: Install Rust - name: Install Rust
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1.0.6
with: with:
toolchain: ${{ env.rustToolchain }} toolchain: ${{ env.rustToolchain }}
override: true override: true
- name: Setup conda - name: Setup conda
uses: s-weigand/setup-conda@v1 uses: s-weigand/setup-conda@v1.0.5
with: with:
update-conda: false update-conda: false
conda-channels: anaconda, conda-forge conda-channels: anaconda, conda-forge
- name: Install FlatBuffers Compiler - name: Install FlatBuffers Compiler
run: conda install --freeze-installed flatbuffers=1.12.0 run: conda install --freeze-installed flatbuffers=1.12.0
- name: Setup GraalVM Environment - name: Setup GraalVM Environment
uses: DeLaGuardo/setup-graalvm@2.0 uses: ayltai/setup-graalvm@v1
with: with:
graalvm-version: ${{ env.graalVersion }}.${{ env.javaVersion }} graalvm-version: ${{ env.graalVersion }}
java-version: ${{ env.javaVersion }}
- name: Set Up SBT - name: Set Up SBT
run: | run: |
curl --retry 4 --retry-connrefused -fsSL -o sbt.tgz https://github.com/sbt/sbt/releases/download/v${{env.sbtVersion}}/sbt-${{env.sbtVersion}}.tgz curl --retry 4 --retry-connrefused -fsSL -o sbt.tgz https://github.com/sbt/sbt/releases/download/v${{env.sbtVersion}}/sbt-${{env.sbtVersion}}.tgz
tar -xzf sbt.tgz tar -xzf sbt.tgz
echo ::add-path::$GITHUB_WORKSPACE/sbt/bin/ echo $GITHUB_WORKSPACE/sbt/bin/ >> $GITHUB_PATH
# Caches # Caches
- name: Cache SBT - name: Cache SBT

View File

@ -54,7 +54,7 @@ jobs:
-UdpIPv6 -UdpIPv6
# TODO [RW] Rust will be needed by #1187 # TODO [RW] Rust will be needed by #1187
# - name: Install Rust # - name: Install Rust
# uses: actions-rs/toolchain@v1 # uses: actions-rs/toolchain@v1.0.6
# with: # with:
# toolchain: ${{ env.rustToolchain }} # toolchain: ${{ env.rustToolchain }}
# override: true # override: true
@ -69,7 +69,7 @@ jobs:
run: | run: |
curl --retry 4 --retry-connrefused -fsSL -o sbt.tgz https://github.com/sbt/sbt/releases/download/v${{env.sbtVersion}}/sbt-${{env.sbtVersion}}.tgz curl --retry 4 --retry-connrefused -fsSL -o sbt.tgz https://github.com/sbt/sbt/releases/download/v${{env.sbtVersion}}/sbt-${{env.sbtVersion}}.tgz
tar -xzf sbt.tgz tar -xzf sbt.tgz
echo ::add-path::$GITHUB_WORKSPACE/sbt/bin/ echo $GITHUB_WORKSPACE/sbt/bin/ >> $GITHUB_PATH
# Caches # Caches
- name: Cache SBT - name: Cache SBT

View File

@ -19,15 +19,13 @@ jobs:
run: | run: |
ref=${{ github.ref }} ref=${{ github.ref }}
tag=${ref#"refs/tags/"} tag=${ref#"refs/tags/"}
echo ::set-env name=TAG::$tag echo "TAG=$tag" >> $GITHUB_ENV
- name: Check if Broken Mark is Present - name: Check if Broken Mark is Present
shell: bash shell: bash
run: | run: |
BROKEN="::set-env name=IS_BROKEN::true"
NOT_BROKEN="::set-env name=IS_BROKEN::false"
curl https://api.github.com/repos/${{ github.repository }}/releases/tags/${{ env.TAG }} > release.json curl https://api.github.com/repos/${{ github.repository }}/releases/tags/${{ env.TAG }} > release.json
./repo/tools/ci/releases/is-broken.js release.json > url.txt && echo $BROKEN || echo $NOT_BROKEN ./repo/tools/ci/releases/is-broken.js release.json > url.txt && echo IS_BROKEN=true >> $GITHUB_ENV || echo IS_BROKEN=false >> $GITHUB_ENV
echo ::set-env name=BROKEN_URL::$(cat url.txt) echo "BROKEN_URL=$(cat url.txt)" >> $GITHUB_ENV
- name: Prepare AWS Session - name: Prepare AWS Session
if: env.IS_BROKEN == 'true' if: env.IS_BROKEN == 'true'
shell: bash shell: bash

View File

@ -31,7 +31,7 @@ jobs:
with: with:
path: repo path: repo
- name: Enable Developer Command Prompt (Windows) - name: Enable Developer Command Prompt (Windows)
uses: ilammy/msvc-dev-cmd@v1.3.0 uses: ilammy/msvc-dev-cmd@v1.4.1
- name: Disable TCP/UDP Offloading (macOS) - name: Disable TCP/UDP Offloading (macOS)
if: runner.os == 'macOS' if: runner.os == 'macOS'
shell: bash shell: bash
@ -49,12 +49,12 @@ jobs:
Disable-NetAdapterChecksumOffload -Name * -TcpIPv4 -UdpIPv4 -TcpIPv6 Disable-NetAdapterChecksumOffload -Name * -TcpIPv4 -UdpIPv4 -TcpIPv6
-UdpIPv6 -UdpIPv6
- name: Install Rust - name: Install Rust
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1.0.6
with: with:
toolchain: ${{ env.rustToolchain }} toolchain: ${{ env.rustToolchain }}
override: true override: true
- name: Setup conda - name: Setup conda
uses: s-weigand/setup-conda@v1 uses: s-weigand/setup-conda@v1.0.5
with: with:
update-conda: true update-conda: true
conda-channels: anaconda, conda-forge conda-channels: anaconda, conda-forge
@ -75,10 +75,11 @@ jobs:
java-version: ${{ env.javaVersion }} java-version: ${{ env.javaVersion }}
native-image: true native-image: true
- name: Set Up SBT - name: Set Up SBT
shell: bash
run: | run: |
curl -fsSL -o sbt.tgz https://github.com/sbt/sbt/releases/download/v${{env.sbtVersion}}/sbt-${{env.sbtVersion}}.tgz curl -fsSL -o sbt.tgz https://github.com/sbt/sbt/releases/download/v${{env.sbtVersion}}/sbt-${{env.sbtVersion}}.tgz
tar -xzf sbt.tgz tar -xzf sbt.tgz
echo ::add-path::$GITHUB_WORKSPACE/sbt/bin/ echo $GITHUB_WORKSPACE/sbt/bin/ >> $GITHUB_PATH
# Caches # Caches
- name: Cache SBT - name: Cache SBT
@ -93,7 +94,8 @@ jobs:
# Bootstrap # Bootstrap
- name: Enable Release Mode - name: Enable Release Mode
run: echo ::set-env name=ENSO_RELEASE_MODE::true shell: bash
run: echo "ENSO_RELEASE_MODE=true" >> $GITHUB_ENV
- name: Bootstrap the Project - name: Bootstrap the Project
working-directory: repo working-directory: repo
run: | run: |
@ -145,7 +147,7 @@ jobs:
run: | run: |
chmod +x enso chmod +x enso
DIST_VERSION=$(./enso version --json --only-launcher | jq -r '.version') DIST_VERSION=$(./enso version --json --only-launcher | jq -r '.version')
echo ::set-env name=DIST_VERSION::$DIST_VERSION echo "DIST_VERSION=$DIST_VERSION" >> $GITHUB_ENV
- name: Prepare Distribution Version (Windows) - name: Prepare Distribution Version (Windows)
working-directory: repo working-directory: repo
@ -153,7 +155,7 @@ jobs:
shell: bash shell: bash
run: | run: |
DIST_VERSION=$(./enso.exe version --json --only-launcher | jq -r '.version') DIST_VERSION=$(./enso.exe version --json --only-launcher | jq -r '.version')
echo ::set-env name=DIST_VERSION::$DIST_VERSION echo "DIST_VERSION=$DIST_VERSION" >> $GITHUB_ENV
# Currently the only architecture supported by Github runners is amd64 # Currently the only architecture supported by Github runners is amd64
- name: Prepare Distribution Environment - name: Prepare Distribution Environment
@ -166,10 +168,10 @@ jobs:
LAUNCHER_DIST_DIR=$LAUNCHER_DIST_ROOT/enso LAUNCHER_DIST_DIR=$LAUNCHER_DIST_ROOT/enso
ENGINE_DIST_ROOT=enso-engine-$DIST_VERSION-$DIST_OS-$DIST_ARCH ENGINE_DIST_ROOT=enso-engine-$DIST_VERSION-$DIST_OS-$DIST_ARCH
ENGINE_DIST_DIR=$ENGINE_DIST_ROOT/enso-$DIST_VERSION ENGINE_DIST_DIR=$ENGINE_DIST_ROOT/enso-$DIST_VERSION
echo ::set-env name=LAUNCHER_DIST_DIR::$LAUNCHER_DIST_DIR echo "LAUNCHER_DIST_DIR=$LAUNCHER_DIST_DIR" >> $GITHUB_ENV
echo ::set-env name=LAUNCHER_DIST_ROOT::$LAUNCHER_DIST_ROOT echo "LAUNCHER_DIST_ROOT=$LAUNCHER_DIST_ROOT" >> $GITHUB_ENV
echo ::set-env name=ENGINE_DIST_DIR::$ENGINE_DIST_DIR echo "ENGINE_DIST_DIR=$ENGINE_DIST_DIR" >> $GITHUB_ENV
echo ::set-env name=ENGINE_DIST_ROOT::$ENGINE_DIST_ROOT echo "ENGINE_DIST_ROOT=$ENGINE_DIST_ROOT" >> $GITHUB_ENV
- name: Prepare Launcher Distribution (Common) - name: Prepare Launcher Distribution (Common)
working-directory: repo working-directory: repo
@ -297,7 +299,7 @@ jobs:
ref=${{ github.ref }} ref=${{ github.ref }}
DIST_VERSION=${ref#"refs/tags/enso-"} DIST_VERSION=${ref#"refs/tags/enso-"}
echo "Preparing release for $DIST_VERSION" echo "Preparing release for $DIST_VERSION"
echo ::set-env name=DIST_VERSION::$DIST_VERSION echo "DIST_VERSION=$DIST_VERSION" >> $GITHUB_ENV
- name: Download GraalVM for Bundles - name: Download GraalVM for Bundles
shell: bash shell: bash

View File

@ -24,7 +24,7 @@ jobs:
# Install Tooling # Install Tooling
- name: Install Rust - name: Install Rust
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1.0.6
with: with:
toolchain: ${{ env.rustToolchain }} toolchain: ${{ env.rustToolchain }}
override: true override: true
@ -47,7 +47,7 @@ jobs:
# Lint # Lint
- name: Check Code - name: Check Code
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1.0.1
with: with:
command: check command: check
@ -64,7 +64,7 @@ jobs:
# Install Tooling # Install Tooling
- name: Install Rust - name: Install Rust
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1.0.6
with: with:
toolchain: ${{ env.rustToolchain }} toolchain: ${{ env.rustToolchain }}
override: true override: true
@ -87,7 +87,7 @@ jobs:
# Lint # Lint
- name: Lint Code - name: Lint Code
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1.0.1
with: with:
command: clippy command: clippy
@ -106,7 +106,7 @@ jobs:
# Install Tooling # Install Tooling
- name: Install Rust - name: Install Rust
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1.0.6
with: with:
toolchain: ${{ env.rustToolchain }} toolchain: ${{ env.rustToolchain }}
override: true override: true
@ -127,7 +127,7 @@ jobs:
# Tests # Tests
- name: Test Native - name: Test Native
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1.0.1
with: with:
command: test command: test
@ -144,7 +144,7 @@ jobs:
# Install Tooling # Install Tooling
- name: Install Rust - name: Install Rust
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1.0.6
with: with:
toolchain: ${{ env.rustToolchain }} toolchain: ${{ env.rustToolchain }}
override: true override: true

View File

@ -39,7 +39,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Enable Developer Command Prompt (Windows) - name: Enable Developer Command Prompt (Windows)
uses: ilammy/msvc-dev-cmd@v1.3.0 uses: ilammy/msvc-dev-cmd@v1.4.1
- name: Disable TCP/UDP Offloading (macOS) - name: Disable TCP/UDP Offloading (macOS)
if: runner.os == 'macOS' if: runner.os == 'macOS'
shell: bash shell: bash
@ -57,12 +57,12 @@ jobs:
Disable-NetAdapterChecksumOffload -Name * -TcpIPv4 -UdpIPv4 -TcpIPv6 Disable-NetAdapterChecksumOffload -Name * -TcpIPv4 -UdpIPv4 -TcpIPv6
-UdpIPv6 -UdpIPv6
- name: Install Rust - name: Install Rust
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1.0.6
with: with:
toolchain: ${{ env.rustToolchain }} toolchain: ${{ env.rustToolchain }}
override: true override: true
- name: Setup conda - name: Setup conda
uses: s-weigand/setup-conda@v1 uses: s-weigand/setup-conda@v1.0.5
with: with:
update-conda: false update-conda: false
conda-channels: anaconda, conda-forge conda-channels: anaconda, conda-forge
@ -83,10 +83,11 @@ jobs:
java-version: ${{ env.javaVersion }} java-version: ${{ env.javaVersion }}
native-image: true native-image: true
- name: Set Up SBT - name: Set Up SBT
shell: bash
run: | run: |
curl --retry 4 --retry-connrefused -fsSL -o sbt.tgz https://github.com/sbt/sbt/releases/download/v${{env.sbtVersion}}/sbt-${{env.sbtVersion}}.tgz curl --retry 4 --retry-connrefused -fsSL -o sbt.tgz https://github.com/sbt/sbt/releases/download/v${{env.sbtVersion}}/sbt-${{env.sbtVersion}}.tgz
tar -xzf sbt.tgz tar -xzf sbt.tgz
echo ::add-path::$GITHUB_WORKSPACE/sbt/bin/ echo $GITHUB_WORKSPACE/sbt/bin/ >> $GITHUB_PATH
# Caches # Caches
- name: Cache SBT - name: Cache SBT
@ -112,22 +113,24 @@ jobs:
# Tests # Tests
- name: Setup Tests on Windows - name: Setup Tests on Windows
if: runner.os == 'Windows' if: runner.os == 'Windows'
shell: bash
run: | run: |
echo '::set-env name=CI_TEST_TIMEFACTOR::2' echo "CI_TEST_TIMEFACTOR=2" >> $GITHUB_ENV
echo '::set-env name=CI_TEST_FLAKY_ENABLE::true' echo "CI_TEST_FLAKY_ENABLE=true" >> $GITHUB_ENV
- name: Build Base Java Extensions - name: Build Base Java Extensions
shell: bash shell: bash
run: | run: |
sleep 1 sleep 1
sbt --no-colors std-bits/package sbt --no-colors std-bits/package
- name: Build the Launcher - name: Build the Launcher
shell: bash
run: | run: |
sleep 1 sleep 1
sbt --no-colors launcher/buildNativeImage sbt --no-colors launcher/buildNativeImage
# Prevents launcher/test from re-building the Native Image during # Prevents launcher/test from re-building the Native Image during
# test run. It is built before starting the tests to conserve system # test run. It is built before starting the tests to conserve system
# memory # memory
echo '::set-env name=LAUNCHER_NATIVE_IMAGE_TEST_SKIP_BUILD::true' echo "LAUNCHER_NATIVE_IMAGE_TEST_SKIP_BUILD=true" >> $GITHUB_ENV
- name: Test Enso - name: Test Enso
run: | run: |
sleep 1 sleep 1
@ -176,14 +179,14 @@ jobs:
shell: bash shell: bash
run: | run: |
DIST_VERSION=$(./enso version --json --only-launcher | jq -r '.version') DIST_VERSION=$(./enso version --json --only-launcher | jq -r '.version')
echo ::set-env name=DIST_VERSION::$DIST_VERSION echo "DIST_VERSION=$DIST_VERSION" >> $GITHUB_ENV
- name: Prepare Distribution Version (Windows) - name: Prepare Distribution Version (Windows)
if: runner.os == 'Windows' if: runner.os == 'Windows'
shell: bash shell: bash
run: | run: |
DIST_VERSION=$(./enso.exe version --json --only-launcher | jq -r '.version') DIST_VERSION=$(./enso.exe version --json --only-launcher | jq -r '.version')
echo ::set-env name=DIST_VERSION::$DIST_VERSION echo "DIST_VERSION=$DIST_VERSION" >> $GITHUB_ENV
# Currently the only architecture supported by Github runners is amd64 # Currently the only architecture supported by Github runners is amd64
- name: Prepare Distribution Environment - name: Prepare Distribution Environment
@ -195,10 +198,10 @@ jobs:
LAUNCHER_DIST_DIR=$LAUNCHER_DIST_ROOT/enso LAUNCHER_DIST_DIR=$LAUNCHER_DIST_ROOT/enso
ENGINE_DIST_ROOT=enso-engine-$DIST_VERSION-$DIST_OS-$DIST_ARCH ENGINE_DIST_ROOT=enso-engine-$DIST_VERSION-$DIST_OS-$DIST_ARCH
ENGINE_DIST_DIR=$ENGINE_DIST_ROOT/enso-$DIST_VERSION ENGINE_DIST_DIR=$ENGINE_DIST_ROOT/enso-$DIST_VERSION
echo ::set-env name=LAUNCHER_DIST_DIR::$LAUNCHER_DIST_DIR echo "LAUNCHER_DIST_DIR=$LAUNCHER_DIST_DIR" >> $GITHUB_ENV
echo ::set-env name=LAUNCHER_DIST_ROOT::$LAUNCHER_DIST_ROOT echo "LAUNCHER_DIST_ROOT=$LAUNCHER_DIST_ROOT" >> $GITHUB_ENV
echo ::set-env name=ENGINE_DIST_DIR::$ENGINE_DIST_DIR echo "ENGINE_DIST_DIR=$ENGINE_DIST_DIR" >> $GITHUB_ENV
echo ::set-env name=ENGINE_DIST_ROOT::$ENGINE_DIST_ROOT echo "ENGINE_DIST_ROOT=$ENGINE_DIST_ROOT" >> $GITHUB_ENV
- name: Prepare Launcher Distribution (Common) - name: Prepare Launcher Distribution (Common)
shell: bash shell: bash
@ -259,7 +262,7 @@ jobs:
# Publish # Publish
- name: Publish the Engine Distribution Artifact - name: Publish the Engine Distribution Artifact
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v2
with: with:
name: ${{ env.ENGINE_DIST_ROOT }} name: ${{ env.ENGINE_DIST_ROOT }}
path: ${{ env.ENGINE_DIST_ROOT }} path: ${{ env.ENGINE_DIST_ROOT }}
@ -279,7 +282,7 @@ jobs:
zip -r -m -ll "fbs-upload/fbs-schema.zip" "fbs-upload/fbs-schema/" zip -r -m -ll "fbs-upload/fbs-schema.zip" "fbs-upload/fbs-schema/"
- name: Publish the FlatBuffers Schemas - name: Publish the FlatBuffers Schemas
if: runner.os == 'Linux' if: runner.os == 'Linux'
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v2
with: with:
name: Engine Protocol FlatBuffers Schemas name: Engine Protocol FlatBuffers Schemas
path: ./fbs-upload/fbs-schema.zip path: ./fbs-upload/fbs-schema.zip
@ -290,7 +293,7 @@ jobs:
cp ./target/scala-parser.js parser-upload cp ./target/scala-parser.js parser-upload
- name: Publish the Parser JS Bundle - name: Publish the Parser JS Bundle
if: runner.os == 'Linux' if: runner.os == 'Linux'
uses: actions/upload-artifact@v1.0.0 uses: actions/upload-artifact@v2
with: with:
name: Parser JS Bundle name: Parser JS Bundle
path: ./target/scala-parser.js path: ./target/scala-parser.js