Skip to content

[#7] Implement bitmasks #40

[#7] Implement bitmasks

[#7] Implement bitmasks #40

name: Linux extension
on:
push:
branches: [ master, '*-ci' ]
pull_request:
branches: [ master, '*-ci' ]
workflow_dispatch:
jobs:
zserio:
strategy:
fail-fast: false
matrix:
include:
- { os: "ubuntu-20.04", java-version: 8 }
- { os: "ubuntu-20.04", java-version: 11 }
- { os: "ubuntu-22.04", java-version: 17 }
runs-on: ${{matrix.os}}
name: ${{matrix.os}}-java${{matrix.java-version}}
steps:
- name: "Set up environment"
run: |
if [[ "${{matrix.os}}" == "ubuntu-22.04" ]] ; then
echo "CLANG_FORMAT_BIN=clang-format-14" >> ${GITHUB_ENV}
fi
echo "SPOTBUGS_HOME=${RUNNER_WORKSPACE}/spotbugs-4.8.2" >> ${GITHUB_ENV}
- name: Apt update # with workaround for 'Unable to connect to ppa.launchpad.net' failure
run: sudo apt-get update --option Acquire::Retries=100 --option Acquire::http::Timeout="300"
- name: Set up Java ${{matrix.java-version}}
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{matrix.java-version}}
- name: Install clang-format-14 tool
if: ${{ env.CLANG_FORMAT_BIN != '' }}
run: |
sudo apt-get install clang-format-14
- name: Install specific version of Java static code analysis tool (spotbugs)
run: |
wget https://repo.maven.apache.org/maven2/com/github/spotbugs/spotbugs/4.8.2/spotbugs-4.8.2.zip \
-P "${RUNNER_WORKSPACE}"
unzip "${RUNNER_WORKSPACE}"/spotbugs-4.8.2.zip -d "${RUNNER_WORKSPACE}"
- name: "Checkout"
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build Zserio C++17 extension and Zserio bundle
run: |
scripts/build.sh cpp zserio
- name: Upload Zserio C++17 extension artifact
# update when https://github.com/actions/upload-artifact/issues/543 is fixed
uses: actions/upload-artifact@v3
with:
name: "zserio-cpp17-java${{matrix.java-version}}"
path: distr/zserio_cpp17*.jar
- name: Upload Zserio bundle with C++17 extension
# update when https://github.com/actions/upload-artifact/issues/543 is fixed
uses: actions/upload-artifact@v3
with:
name: "zserio-java${{matrix.java-version}}"
path: distr/zserio.jar