Skip to content

Checks

Checks #1077

Workflow file for this run

#
# Copyright (c) 2024 Elide Technologies, Inc.
#
# Licensed under the MIT license (the "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://opensource.org/license/mit/
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under the License.
#
name: Checks
"on":
workflow_dispatch: {}
schedule:
- cron: "0 0-23/2 * * *"
env:
BUILDLESS_APIKEY: ${{ secrets.BUILDLESS_APIKEY }}
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: "Setup: Harden Runner"
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
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: "Setup: Harden Runner"
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- name: "Setup: Docker"
uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0
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: "Setup: Harden Runner"
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- name: "Setup: Docker"
uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0
id: buildx
with:
install: true
- name: "Setup: Checkout"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: "Setup: GraalVM (Java 20)"
uses: graalvm/setup-graalvm@2f25c0caae5b220866f732832d5e3e29ff493338 # v1.2.1
with:
distribution: "graalvm"
java-version: 21
check-for-updates: ${{ matrix.os == 'ubuntu' }}
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: "Setup: Node"
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 21
- name: "Setup: Yarn"
run: npm install -g yarn@1.22.19 && yarn
- id: "auth"
name: "Setup: Authorize Service Account"
uses: google-github-actions/auth@a6e2e39c0a0331da29f7fd2c2a20a427e8d3ad1f # v2.1.1
with:
credentials_json: "${{ secrets.BUILDBOT_SERVICE_ACCOUNT }}"
create_credentials_file: true
export_environment_variables: true
cleanup_credentials: true
- name: "🛠️ Build"
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
id: gradlebuild
continue-on-error: ${{ matrix.mode == 'labs' }}
env:
CI: true
with:
cache-read-only: true
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=21