summaryrefslogtreecommitdiff
path: root/.github/workflows/genqrcode-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/genqrcode-ci.yml')
-rw-r--r--.github/workflows/genqrcode-ci.yml71
1 files changed, 71 insertions, 0 deletions
diff --git a/.github/workflows/genqrcode-ci.yml b/.github/workflows/genqrcode-ci.yml
new file mode 100644
index 0000000000..9931f66ec9
--- /dev/null
+++ b/.github/workflows/genqrcode-ci.yml
@@ -0,0 +1,71 @@
+name: "genqrcode: CI"
+
+on:
+ push:
+ paths:
+ - 'genqrcode/**'
+ - '.github/workflows/genqrcode-ci.yml'
+ pull_request:
+ paths:
+ - 'genqrcode/**'
+ - '.github/workflows/genqrcode-ci.yml'
+
+jobs:
+ cmake:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-latest, macos-latest, windows-latest]
+ env:
+ BUILD_TYPE: Release
+ defaults:
+ run:
+ working-directory: genqrcode
+ steps:
+ - uses: actions/checkout@v6
+ - name: Install vcpkg deps (Windows)
+ if: matrix.os == 'windows-latest'
+ uses: lukka/run-vcpkg@v6
+ with:
+ vcpkgArguments: getopt:x64-windows libiconv:x64-windows libpng:x64-windows
+ vcpkgDirectory: '${{ github.workspace }}/vcpkg'
+ vcpkgGitCommitId: '2a42024b53ebb512fb5dd63c523338bf26c8489c'
+ - name: Install deps (macOS)
+ if: matrix.os == 'macos-latest'
+ run: brew install pkg-config libpng
+ - name: Configure CMake
+ if: matrix.os != 'windows-latest'
+ run: cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DWITH_TESTS=yes -DBUILD_SHARED_LIBS=on -S . -B build
+ - name: Configure CMake (Windows)
+ if: matrix.os == 'windows-latest'
+ run: cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DWITH_TESTS=yes -S . -B build
+ - name: Build
+ run: cmake --build build --config $BUILD_TYPE -j 2
+ - name: Test
+ run: ctest --test-dir build -C $BUILD_TYPE
+
+ autotools:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-latest, macos-latest]
+ defaults:
+ run:
+ working-directory: genqrcode
+ steps:
+ - uses: actions/checkout@v6
+ - name: Install deps (macOS)
+ if: matrix.os == 'macos-latest'
+ run: brew install automake autoconf pkg-config libpng
+ - name: Generate configure
+ run: ./autogen.sh
+ - name: Configure
+ run: ./configure --with-tests
+ - name: Build
+ run: make -j 2
+ - name: Test
+ run: make check
+ - name: Distcheck
+ run: make -j 2 distcheck