Scaffold fluent generator and docker command for raw bindings #122
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: CI | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
release: | |
types: [ 'published' ] | |
env: | |
JAVA_OPTS: -Xmx6G | |
jobs: | |
build: | |
name: CI | |
strategy: | |
fail-fast: false | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set Swap Space | |
uses: pierotofy/set-swap-space@master | |
with: | |
swap-size-gb: 10 | |
- uses: coursier/cache-action@v6 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
cache: sbt | |
- uses: sbt/setup-sbt@v1 | |
- name: SBT remote cache | |
id: remote-cache | |
uses: actions/cache@v3 | |
with: | |
path: ./.remote-cache | |
key: ${{ runner.os }}-remote-cache | |
- name: Pull cache | |
run: sbt --client pullRemoteCache || echo 'remote cache not found' | |
- name: apt-get update | |
run: sudo apt-get update | |
- name: Install GTK | |
run: sudo apt-get install | |
libgtk-4-dev | |
libadwaita-1-dev | |
libgirepository1.0-dev | |
- name: Compile | |
run: sbt --client Test/compile | |
- name: Test | |
run: sbt --client test | |
- name: Publish locally | |
run: sbt --client publishLocal | |
- name: Build binary | |
run: sbt --client examples/nativeLink | |
- name: Push cache | |
run: sbt --client pushRemoteCache || echo 'oh well then' | |
- name: Publish ${{ github.ref }} | |
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') | |
run: sbt ci-release # sbt --client won't pick up the env variables from the block below | |
env: | |
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} | |
PGP_SECRET: ${{ secrets.PGP_SECRET }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
gen-check: | |
name: Generator infrastructure | |
strategy: | |
fail-fast: false | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: coursier/cache-action@v6 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
cache: sbt | |
- uses: sbt/setup-sbt@v1 | |
- name: Regenerate raw bindings in docker | |
run: sbt generateRawBindings && git diff | |
- name: Regenerate XSD schema | |
run: sbt generateIntrospectionSchema && git diff | |
- name: Regenerate XSD schema | |
run: sbt generateFluentBindings && git diff | |
mergify-build-checkpoint: | |
runs-on: ubuntu-24.04 | |
needs: [ build, gen-check ] | |
steps: | |
- name: I only exist to please Mergify :( | |
run: echo "It's a sad existence but necessary" |