Adds cross platform architecture compilation for native image #372
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Validate PR | |
on: | |
pull_request: | |
jobs: | |
validate: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v2 | |
- name: "Running shasum for cache invalidation" | |
run: | | |
shasum build.sbt \ | |
project/plugins.sbt \ | |
project/build.properties > gha.cache.tmp | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('gha.cache.tmp') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Loading coursier cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cache/coursier | |
key: ${{ runner.os }}-coursier-${{ hashFiles('gha.cache.tmp') }} | |
restore-keys: | | |
${{ runner.os }}-coursier- | |
- name: Set up Azul JDK 1.8 and SBT | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.8 | |
- name: Validate | |
run: sbt "^validate" | |
scripted-universal: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Set up Azul JDK 1.8 and SBT | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.8 | |
- name: Validate | |
run: sbt "^validateUniversal" | |
scripted-jar: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Set up Azul JDK 1.8 and SBT | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.8 | |
- name: Validate | |
run: sbt "^validateJar" | |
scripted-bash: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Set up Azul JDK 1.8 and SBT | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.8 | |
- name: Validate | |
run: sbt "^validateBash" | |
scripted-ash: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Set up Azul JDK 1.8 and SBT | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.8 | |
- name: Validate | |
run: sbt "^validateAsh" | |
scripted-rpm: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Set up Azul JDK 1.8 and SBT | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.8 | |
- name: Validate | |
run: sbt "^validateRpm" | |
scripted-debian: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Set up Azul JDK 1.8 and SBT | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.8 | |
- name: Validate | |
run: sbt "^validateDebian" | |
scripted-jdk-packager: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Download JDK 1.8 | |
run: wget -O zulu-jdk.tar.gz https://cdn.azul.com/zulu/bin/zulu8.38.0.13-ca-fx-jdk8.0.212-linux_x64.tar.gz | |
- name: Set up JDK 1.8 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 1.8 | |
# the standard zulu dist doesn't include javafx | |
jdkFile: 'zulu-jdk.tar.gz' | |
- name: Validate | |
run: sbt "^validateJdkPackagerTravis" | |
scripted-docker: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Set up Azul JDK 1.8 and SBT | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.8 | |
- name: Validate | |
run: sbt "^validateDocker" | |
scripted-jlink: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Set up JDK 1.11.0-2 | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.11 | |
- name: Validate | |
run: sbt "^validateJlink" | |
scripted-graavlvm: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Setup GraalVM environment | |
uses: graalvm/setup-graalvm@v1 | |
with: | |
java-version: 17.0.8 | |
distribution: 'graalvm' | |
cache: 'sbt' | |
- name: Docker Setup Buildx | |
uses: docker/setup-buildx-action@v2.9.1 | |
- name: Validate | |
run: sbt "^validateGraalVMNativeImage" | |
scripted-macos: | |
runs-on: macos-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Set up Azul JDK 1.8 and SBT | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.8 | |
- name: Validate | |
run: sbt "^validate" "^validateMacOS" | |
scripted-windows: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
needs: [ validate ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Loading ivy cache | |
uses: actions/cache@v1 | |
with: | |
path: ~/.ivy2/cache | |
key: ${{ runner.os }}-ivy-${{ hashFiles('**/*.sbt') }} | |
restore-keys: | | |
${{ runner.os }}-ivy- | |
- name: Set up Azul JDK 1.8 and SBT | |
uses: olafurpg/setup-scala@v10 | |
with: | |
java-version: zulu@1.8 | |
- name: Validate | |
run: sbt validateWindows |