name: build # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the master branch on: [push, pull_request] # A workflow run is made up of one or more jobs that can run # sequentially or in parallel jobs: # This workflow contains a single job called "build" build: runs-on: ubuntu-latest strategy: matrix: configure_args: [ "", "--enable-embedded", "--enable-strict", "--enable-strict --enable-static", "--enable-strict --enable-twinserial", "--enable-strict --disable-pcsclite", "--enable-strict --disable-libusb", "--enable-strict --enable-composite-as-multislot", "--enable-strict --enable-zlp", ] # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job # can access it - uses: actions/checkout@v4 - name: setup prerequisites shell: bash run: | sudo apt update sudo apt install \ autoconf-archive \ debhelper-compat \ dpkg-dev \ flex \ libpcsclite-dev \ libusb-1.0-0-dev \ pkg-config git submodule init git submodule update - name: compile shell: bash run: | ./bootstrap export CFLAGS="-Wall -Wextra -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wswitch-enum -Wundef -Wuninitialized -Wunused -Wwrite-strings -Wmissing-noreturn -flto=auto -O2 -Wp,-D_FORTIFY_SOURCE=2" ./configure ${{ matrix.configure_args }} make V=1 - name: distcheck shell: bash run: | make distcheck DESTDIR=/tmp