Skip to content

Checks

Checks #663

name: Checks
on:
workflow_dispatch: {}
push:
branches:
- stable
- v3
- feat/js-runtime-v3
schedule:
- cron: '0 0-23/2 * * *'
env:
GRADLE_CACHE_LOCAL: false
GRADLE_CACHE_REMOTE: true
GRADLE_CACHE_PUSH: true
BUILDLESS_APIKEY: ${{ secrets.BUILDLESS_APIKEY }}
GRADLE_OPTS: "-Xmx6g -XX:MaxMetaspaceSize=1024m -XX:+UseParallelGC"
permissions:
contents: read
jobs:
##
## Job: Check Repo Pull-ability
##
check-repos:
name: "Repositories: Clone Test"
runs-on: "ubuntu-latest"
continue-on-error: true
permissions:
contents: "read"
id-token: "write"
checks: "write"
pull-requests: "write"
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: "Setup: Test Area"
run: mkdir -p repos
- name: "Clone: Elide"
run: git clone https://github.com/elide-dev/v3.git ./repos/elide
- name: "Clone: Runtime"
continue-on-error: true
run: git clone https://github.com/elide-dev/runtime.git ./repos/runtime
- name: "Clone: Build Tools"
run: git clone https://github.com/elide-dev/buildtools.git ./repos/buildtools
##
## Job: Check Image Pull-ability
##
check-images:
name: "Images: Pull Test"
runs-on: "ubuntu-latest"
permissions:
contents: "read"
id-token: "write"
checks: "write"
pull-requests: "write"
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: "Setup: Docker"
uses: docker/setup-buildx-action@4c0219f9ac95b02789c1075625400b2acbff50b1 # v2.9.1
id: buildx
with:
install: true
## Image: CLI
- name: "Pull: CLI (DockerHub)"
run: docker pull elidetools/elide:latest
- name: "Pull: CLI (GitHub)"
run: docker pull ghcr.io/elide-dev/elide:latest
## Image: Base
- name: "Pull: Base (DockerHub)"
run: docker pull elidetools/base:latest
- name: "Pull: Base (GitHub)"
run: docker pull ghcr.io/elide-dev/base:latest
## Image: Base (Alpine)
- name: "Pull: Base - Alpine (DockerHub)"
run: docker pull elidetools/base-alpine:latest
- name: "Pull: Base - Alpine (GitHub)"
run: docker pull ghcr.io/elide-dev/base/alpine:latest
## Image: Runtime (JVM11)
- name: "Pull: Runtime - JVM11 (DockerHub)"
run: docker pull elidetools/jvm11:latest
- name: "Pull: Runtime - JVM11 (GitHub)"
run: docker pull ghcr.io/elide-dev/runtime/jvm11:latest
## Image: Runtime (JVM17)
- name: "Pull: Runtime - JVM17 (DockerHub)"
run: docker pull elidetools/jvm17:latest
- name: "Pull: Runtime - JVM17 (GitHub)"
run: docker pull ghcr.io/elide-dev/runtime/jvm17:latest
## Image: Runtime (JVM19)
- name: "Pull: Runtime - JVM19 (DockerHub)"
run: docker pull elidetools/jvm19:latest
- name: "Pull: Runtime - JVM19 (GitHub)"
run: docker pull ghcr.io/elide-dev/runtime/jvm19:latest
## Image: Runtime (Native)
- name: "Pull: Runtime - Native (DockerHub)"
run: docker pull elidetools/native:latest
- name: "Pull: Runtime - Native (GitHub)"
run: docker pull ghcr.io/elide-dev/runtime/native:latest
## Image: Runtime (Native Alpine)
- name: "Pull: Runtime - Native Alpine (DockerHub)"
run: docker pull elidetools/native-alpine:latest
- name: "Pull: Runtime - Native Alpine (GitHub)"
run: docker pull ghcr.io/elide-dev/runtime/native/alpine:latest
##
## Job: Check Cached Build
##
check-build:
name: "Quick-build"
runs-on: "ubuntu-latest"
permissions:
contents: "read"
id-token: "write"
checks: "write"
pull-requests: "write"
defaults:
run:
shell: bash
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: "Setup: Docker"
uses: docker/setup-buildx-action@4c0219f9ac95b02789c1075625400b2acbff50b1 # v2.9.1
id: buildx
with:
install: true
- name: "Setup: Checkout"
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
- name: "Setup: GraalVM (Java 20)"
uses: graalvm/setup-graalvm@0a27862568a8481fbfd3e2ce38c6445e34c0bed4 # v1.1.4
with:
components: "native-image,js,wasm"
distribution: 'graalvm'
java-version: 20
check-for-updates: ${{ matrix.os == 'ubuntu' }}
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: "Setup: Node"
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1
with:
node-version: 18
cache: "yarn"
- name: "Setup: Yarn"
run: npm install -g [email protected] && yarn
- id: "auth"
name: "Setup: Authorize Service Account"
uses: google-github-actions/auth@35b0e87d162680511bf346c299f71c9c5c379033 # v1.1.1
with:
credentials_json: "${{ secrets.BUILDBOT_SERVICE_ACCOUNT }}"
create_credentials_file: true
export_environment_variables: true
cleanup_credentials: true
- name: "🛠️ Build"
uses: gradle/gradle-build-action@b5126f31dbc19dd434c3269bf8c28c315e121da2 # v2.8.1
id: gradlebuild
continue-on-error: ${{ matrix.mode == 'labs' }}
env:
CI: true
with:
cache-read-only: false
arguments: |
build
-x check
-x test
-x jvmTest
-x jsTest
-x jsBrowserTest
-x nativeCompile
--scan
--no-daemon
--warning-mode=none
--dependency-verification=lenient
-Pelide.ci=true
-PbuildSamples=false
-PbuildDocsSite=false
-PbuildDocs=false
-Pversions.java.minimum=11
-Pversions.java.language=19