Don't update PR if target is correct (#78) #259
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: build | |
on: | |
pull_request: {} | |
workflow_dispatch: {} | |
push: | |
branches: | |
- 'main' | |
tags-ignore: | |
- '**' | |
env: | |
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false" | |
jobs: | |
build_deps: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# TODO: Linking is not working on linux. | |
# - os: ubuntu-latest | |
# cmake-arch: x86_64 | |
# openssl-arch: linux-x86_64 | |
# sqlite-arch: x64-gnu-linux | |
# task: linkReleaseExecutableLinuxX64 | |
- os: macOS-latest | |
cmake-arch: x86_64 | |
openssl-arch: darwin64-x86_64-cc | |
sqlite-arch: x64-apple-macos | |
task: linkReleaseExecutableMacosX64 | |
# TODO: Cross-compilation is not working. There's so many dependencies that need to be manually built. | |
# - os: macOS-latest | |
# cmake-arch: arm64 | |
# openssl-arch: darwin64-arm64-cc | |
# sqlite-arch: arm64-apple-macos | |
# task: linkReleaseExecutableMacosArm64 | |
# TODO: build on 'windows-latest' | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 21 | |
- uses: gradle/gradle-build-action@v2 | |
# Don't spend more than 5m rehydrating the cache. Otherwise just move on. | |
timeout-minutes: 5 | |
continue-on-error: true | |
- name: Build native libraries | |
run: ./build-deps.sh -c ${{ matrix.cmake-arch }} -o ${{ matrix.openssl-arch }} -s ${{ matrix.sqlite-arch }} | |
- run: ./gradlew ${{ matrix.task }} | |
- name: Upload distribution | |
uses: actions/upload-artifact@v3 | |
with: | |
name: bin | |
path: build/bin | |
if-no-files-found: error |