Skip to content

feat: sort schemas topologically #153

feat: sort schemas topologically

feat: sort schemas topologically #153

Workflow file for this run

name: Build and Test
on:
workflow_dispatch:
workflow_call:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build-jar:
name: Build jar
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Java 11
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
- name: Setup Clojure
uses: DeLaGuardo/[email protected]
with:
cli: latest
- name: Cache clojure dependencies
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: cljdeps-${{ hashFiles('**/deps.edn') }}
restore-keys: cljdeps-
- name: Run tests
run: clojure -M:test -m kaocha.runner --skip-meta :snapshot
- name: Build uberjar
run: clojure -T:build uberjar :jar-name aidbox-sdk
- name: Upload jar artifact
uses: actions/upload-artifact@v4
with:
name: build-jar
path: target/aidbox-sdk.jar
# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- #
build-native:
name: Build for ${{ matrix.os }}
runs-on: ${{ matrix.os }}
needs: build-jar
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
steps:
- uses: actions/checkout@v4
- name: Download jar artifact
uses: actions/download-artifact@v4
with:
name: build-jar
path: ./
- name: Setup GraalVM
uses: graalvm/setup-graalvm@v1
with:
java-version: "21"
distribution: "graalvm"
github-token: ${{ secrets.GITHUB_TOKEN }}
native-image-job-reports: "true"
- name: Compile to native binary
run: |
make compile-native-image project_dir=${{ github.workspace }} jar_path=aidbox-sdk.jar image_name=aidbox-sdk-${{ matrix.os }}
chmod +x aidbox-sdk-${{ matrix.os }}
- name: Upload amd64 binary artifact
uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.os }}
path: ./aidbox-sdk-*