summaryrefslogtreecommitdiff
path: root/.github/workflows/genqrcode-ci.yml
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 19:30:47 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 19:31:15 +0300
commitb1e34e861b5d732afe828d58aad2c638135061fd (patch)
tree6ab65910221ff147b1fdc49299418d8af04d0a7b /.github/workflows/genqrcode-ci.yml
parentc965a4ebddf98c368edd905324a4ecd79b2aae55 (diff)
downloadProject-Tick-b1e34e861b5d732afe828d58aad2c638135061fd.tar.gz
Project-Tick-b1e34e861b5d732afe828d58aad2c638135061fd.zip
NOISSUE Add GitHub workflows for Project Tick project
- Create CodeQL analysis workflow for security checks on meshmc codebase. - Add container build workflow for meshmc using Podman and Buildah. - Implement scheduled flake update workflow for Nix dependencies. - Introduce merge blocking PR automation to manage dependent PRs. - Set up Nix build workflow for meshmc with multi-platform support. - Add release workflow for publishing MeshMC artifacts on GitHub. - Create CI workflow for tomlplusplus library with multi-compiler support. - Implement CI workflow for uvim with various feature sets and architectures. - Add .gitignore to exclude build artifacts and IDE files. - Create .gitattributes files for various submodules to manage line endings and diff settings. - Add post-receive hook for mirroring pushes to multiple forges. - Include .gitignore files for images4docker and other submodules to manage temporary files. Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
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