Skip to content

Update CI matrix to exclude specific OS and arch combos #106

Update CI matrix to exclude specific OS and arch combos

Update CI matrix to exclude specific OS and arch combos #106

Workflow file for this run

name: CI
on:
push:
tags:
- '*'
pull_request:
defaults:
run:
shell: bash
jobs:
build:
name: Build
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
java-version: '17'
java-package: jdk
- name: Validate gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Checkout Gradle Build Cache
uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
!~/.gradle/wrapper/dists/**/gradle*.zip
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Build Debug
run: ./gradlew build -x test
changelog:
name: Changelog
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build Changelog
id: github_release
uses: mikepenz/release-changelog-builder-action@v1
with:
configuration: ".github/config/configuration.json"
commitMode: true
ignorePreReleases: ${{ !contains(github.ref, '-') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Release
uses: softprops/action-gh-release@91409e712cf565ce9eff10c87a8d1b11b81757ae
with:
body: ${{steps.github_release.outputs.changelog}}
prerelease: ${{ contains(github.event.inputs.version, '-rc') || contains(github.event.inputs.version, '-b') || contains(github.event.inputs.version, '-a') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release:
name: Release
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest, macos-arm64]
arch: [x64, arm64]
exclude:
- { os: macos-latest, arch: arm64 }
- { os: windows-latest, arch: arm64 }
- { os: ubuntu-latest, arch: arm64 }
- { os: macos-arm64, arch: x64 }
runs-on: ${{ matrix.os }}
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
java-version: '17'
java-package: jdk
- name: Validate gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Checkout Gradle Build Cache
uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
!~/.gradle/wrapper/dists/**/gradle*.zip
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Build Debug
run: ./gradlew build -x test
- name: Build Release App
run: |
./gradlew packageUberJarForCurrentOS
./gradlew packageDistributionForCurrentOS
- name: Archive Artifacts
uses: actions/upload-artifact@v4
with:
name: distributable-${{ matrix.os }}
if-no-files-found: ignore
path: |
build/**/*.deb
build/**/*.msi
build/compose/jars/*.jar
- name: Release
uses: softprops/action-gh-release@91409e712cf565ce9eff10c87a8d1b11b81757ae
with:
prerelease: ${{ contains(github.event.inputs.version, '-rc') || contains(github.event.inputs.version, '-b') || contains(github.event.inputs.version, '-a') }}
files: |
build/**/*.deb
build/**/*.msi
build/compose/jars/*.jar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}