Run build every month to become aware of rot. #135
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 and Test | |
on: | |
push: | |
pull_request: | |
branches: | |
- dev | |
- main | |
# Run this every month, so that we at least become aware, | |
# if/when it breaks somehow | |
schedule: | |
- cron: "0 0 1 * *" | |
jobs: | |
macos-build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
jarch: [ aarch64, x86_64 ] | |
os: [ macos-12, macos-latest ] | |
java: [ '8', '9', '11', '15', '17', '20' ] | |
steps: | |
- name: Set up Doxygen | |
run: brew install doxygen | |
- uses: actions/checkout@v2 | |
- name: Set up Java | |
uses: actions/setup-java@v2 | |
with: | |
java-version: ${{ matrix.java }} | |
architecture: x64 | |
distribution: 'zulu' | |
cache: 'maven' | |
- name: Build/test code with Maven | |
run: | | |
mvn --activate-profiles ffsampledsp-${{ matrix.jarch }}-macos \ | |
--no-transfer-progress \ | |
--batch-mode \ | |
--file pom.xml \ | |
install | |
- name: Upload CodeCov Report | |
uses: codecov/codecov-action@v2 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
if: matrix.os == 'macos-12' && matrix.java == '9' && matrix.jarch == 'x86_64' | |
- name: Build tagtraum site | |
run: | | |
mvn --no-transfer-progress \ | |
--batch-mode \ | |
--activate-profiles ffsampledsp-x86_64-macos \ | |
--file pom.xml \ | |
clean install site:site | |
if: matrix.os == 'macos-12' && matrix.java == '9' && matrix.jarch == 'x86_64' | |
windows-build: | |
runs-on: windows-2019 | |
strategy: | |
matrix: | |
arch: [x64, x86] | |
java: [ '8', '9', '11', '15', '17' ] | |
include: | |
- arch: x64 | |
jarch: x86_64 | |
sys: mingw64 | |
env: x86_64 | |
- arch: x86 | |
jarch: i386 | |
sys: mingw32 | |
env: i686 | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{ matrix.sys }} | |
install: mingw-w64-${{ matrix.env }}-toolchain | |
path-type: inherit | |
- uses: actions/checkout@v2 | |
- name: Set up Doxygen | |
run: | | |
pacman --noconfirm -S mingw-w64-${{ matrix.env}}-doxygen | |
- name: Set up Java | |
uses: actions/setup-java@v2 | |
with: | |
java-version: ${{ matrix.java }} | |
architecture: ${{ matrix.arch }} | |
distribution: 'zulu' | |
cache: 'maven' | |
- name: Build/test code with Maven | |
run: | | |
mvn --activate-profiles ffsampledsp-${{ matrix.jarch }}-win \ | |
--no-transfer-progress \ | |
--batch-mode \ | |
--file pom.xml \ | |
install | |
- name: Print lib/include dir | |
if: always() | |
run: | | |
ls -la ffsampledsp-${{ matrix.jarch }}-win\\target\\lib | |
ls -la ffsampledsp-${{ matrix.jarch }}-win\\target\\native\\include | |
linux-build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-20.04, ubuntu-latest ] | |
java: [ '8', '9', '11', '15', '17', '20' ] | |
arch: [ x64, aarch64 ] | |
include: | |
- arch: x64 | |
jarch: x86_64 | |
skiptests: 'false' | |
- arch: aarch64 | |
jarch: aarch64 | |
skiptests: 'true' | |
steps: | |
- name: Set up cross compile toolchain | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y g++-aarch64-linux-gnu gcc-aarch64-linux-gnu crossbuild-essential-arm64 | |
- name: Set up Doxygen | |
run: sudo apt-get install -y doxygen | |
- uses: actions/checkout@v2 | |
- name: Set up Java | |
uses: actions/setup-java@v2 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'zulu' | |
cache: 'maven' | |
- name: Build/test code with Maven | |
run: | | |
mvn --activate-profiles ffsampledsp-${{ matrix.jarch }}-linux \ | |
--no-transfer-progress \ | |
--batch-mode \ | |
--file pom.xml \ | |
install \ | |
-Dmaven.test.skip=${{ matrix.skiptests }} | |
- name: Print lib dir | |
if: always() | |
run: ls -la ffsampledsp-${{ matrix.jarch }}-linux/target/lib |