chore(.github/workflows): add CI workflows for commit lint, dependency audit, and install script testing

This commit is contained in:
sankalp committed 2026-07-16 17:38:53 +05:45
1 parent 6e9cb8efc8
commit d1866cc699
3 files changed
+136

No files matched your search

+27
View File
@@ -0,0 +1,27 @@
name: Commit Lint
on:
pull_request:
branches: [main, dev]
permissions:
contents: read
pull-requests: read
jobs:
commit-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install commitlint
run: npm install -g @commitlint/cli @commitlint/config-conventional
- name: Lint commits
run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
+37
View File
@@ -0,0 +1,37 @@
name: Dependency Audit
on:
push:
branches: [main, dev]
pull_request:
branches: [main, dev]
schedule:
- cron: "0 8 1 * *"
permissions:
contents: read
security-events: write
jobs:
pip-audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Export requirements from uv
run: uv export --no-hashes -o requirements-audit.txt
- uses: pypa/gh-action-pip-audit@release/v1
with:
input: requirements-audit.txt
- name: Cleanup
if: always()
run: rm -f requirements-audit.txt
+72
View File
@@ -0,0 +1,72 @@
name: Install Script Test
on:
push:
branches: [main, dev]
paths:
- "install.sh"
- "src/window/globalmenu/**"
- "src/window/switcher/app-capture/**"
- "pyproject.toml"
- "uv.lock"
pull_request:
branches: [main, dev]
paths:
- "install.sh"
- "src/window/globalmenu/**"
- "src/window/switcher/app-capture/**"
- "pyproject.toml"
- "uv.lock"
permissions:
contents: read
jobs:
syntax-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check install.sh syntax
run: bash -n install.sh
- name: Install shellcheck
run: sudo apt-get install -y shellcheck
- name: Lint install.sh
run: shellcheck install.sh
c-build:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
pacman -Syu --noconfirm gcc make pkgconf gtk3 meson ninja
- name: Compile globalmenu shim
run: |
gcc -shared -fPIC -O2 -o /tmp/libmenu_button_shim.so \
src/window/globalmenu/libmenu_button_shim.c \
$(pkg-config --cflags --libs gtk+-3.0) -ldl
- name: Compile app-capture
run: |
cd src/window/switcher/app-capture
meson setup builddir --wipe
meson compile -C builddir
python-compile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Compile all Python source
run: python3 -m compileall -q src