Skip to content

Added libz-dev and libbz2-dev dependencies to make sure they are on t… #136

Added libz-dev and libbz2-dev dependencies to make sure they are on t…

Added libz-dev and libbz2-dev dependencies to make sure they are on t… #136

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
sudo apt-get install -y libbz2-dev libz-dev
- 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