Skip to content

Avoid getBytes("UTF-8") callback, proper float support (#31) #190

Avoid getBytes("UTF-8") callback, proper float support (#31)

Avoid getBytes("UTF-8") callback, proper float support (#31) #190

---
name: Build and Test
on:
push:
branches:
- dev
- main
pull_request:
branches:
- dev
- main
jobs:
macos-build:
runs-on: macos-latest
strategy:
matrix:
jarch: [aarch64, x86_64]
java: ['8', '11', '15', '17', '20', '25']
include:
- jarch: aarch64
javaarch: arm64
- jarch: x86_64
javaarch: x64
steps:
- name: Set up Doxygen
run: brew install doxygen
- uses: actions/checkout@v6
- name: Set up Java
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java }}
architecture: ${{ matrix.javaarch }}
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-15' && matrix.java == '9' && matrix.jarch == 'x86_64'
- name: Build tagtraum site
run: |
mvn --no-transfer-progress \
--batch-mode \
--activate-profiles ffsampledsp-aarch64-macos \
--file pom.xml \
clean install site:site
if: matrix.os == 'macos-latest' && matrix.java == '9' && matrix.jarch == 'x86_64'
windows-build:
runs-on: windows-latest
strategy:
matrix:
arch: [x64, x86]
java: ['8', '11', '15', '17', '25']
include:
- arch: x64
jarch: x86_64
sys: mingw64
env: x86_64
- arch: x86
jarch: i386
sys: mingw32
env: i686
exclude:
- arch: x86
java: '15'
- arch: x86
java: '17'
- arch: x86
java: '25'
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@v6
- name: Set up Doxygen
run: pacman --noconfirm -S mingw-w64-${{ matrix.env }}-doxygen
- name: Set up Java
uses: actions/setup-java@v5
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: ubuntu-latest
strategy:
matrix:
java: ['8', '11', '15', '17', '20', '25']
arch: [x64]
include:
- arch: x64
jarch: x86_64
skiptests: "false"
steps:
- name: Set up Doxygen and native build dependencies
run: sudo apt-get install -y doxygen libbz2-dev zlib1g-dev
- uses: actions/checkout@v6
- name: Set up Java
uses: actions/setup-java@v5
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
linux-arm-build:
runs-on: ubuntu-24.04-arm
strategy:
matrix:
java: ['8', '11', '15', '17', '20', '25']
steps:
- name: Set up Doxygen and native build dependencies
run: sudo apt-get install -y doxygen libbz2-dev zlib1g-dev
- uses: actions/checkout@v6
- name: Set up Java
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java }}
architecture: arm64
distribution: zulu
cache: maven
- name: Verify Java setup
run: |
echo "JAVA_HOME: $JAVA_HOME"
ls -la "$JAVA_HOME/bin/java"
java -version
which java
gcc --version
- name: Build/test code with Maven
run: |
mvn --activate-profiles ffsampledsp-aarch64-linux \
--no-transfer-progress \
--batch-mode \
--file pom.xml \
install
- name: Print lib dir
if: always()
run: >-
ls -la ffsampledsp-aarch64-linux/target/lib ||
echo "ff_idctdsp_init_aarch64 count:" ||
nm ffsampledsp-aarch64-linux/target/lib/libavcodec.so | grep -c ff_idctdsp_init_aarch64