diff --git a/.gitea/workflows/build-cpp.yml b/.gitea/workflows/build-cpp.yml new file mode 100644 index 0000000..ed7a3eb --- /dev/null +++ b/.gitea/workflows/build-cpp.yml @@ -0,0 +1,37 @@ +name: Build (C++) + +on: + pull_request: + +jobs: + build-zshell: + runs-on: alpine + container: node:26-alpine + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install tools + run: | + apk add --no-cache \ + build-base \ + cmake \ + ninja \ + pkgconf \ + qt6-qtbase-dev \ + qt6-qtdeclarative-dev \ + qt6-qtshadertools-dev \ + qt6-qttools-dev \ + pipewire-dev \ + libqalculate-dev \ + glib-dev \ + aubio-dev \ + cava-dev \ + git + + - name: Configure + run: cmake -S . -B build -G Ninja + + - name: Build ZShell + run: cmake --build build --target ZShell diff --git a/.gitea/workflows/lint-cpp.yml b/.gitea/workflows/lint-cpp.yml new file mode 100644 index 0000000..f0602e1 --- /dev/null +++ b/.gitea/workflows/lint-cpp.yml @@ -0,0 +1,27 @@ +name: Lint & Format (C++) + +on: + pull_request: + +jobs: + lint-format: + runs-on: alpine + container: node:26-alpine + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install tools + run: | + apk add --no-cache \ + clang-extra-tools \ + git + + - name: Clang Format + run: | + if find . -type f \( -name "*.cpp" -o -name "*.hpp" -o -name "*.h" \) -print -quit | grep -q .; then + find . -type f \( -name "*.cpp" -o -name "*.hpp" -o -name "*.h" \) -print0 | xargs -0 clang-format --dry-run --Werror + else + echo "No C++ files found" + fi