Skip to content

Merge pull request #3 from otectus/claude/map-archer-codebase-XxiUl #14

Merge pull request #3 from otectus/claude/map-archer-codebase-XxiUl

Merge pull request #3 from otectus/claude/map-archer-codebase-XxiUl #14

Workflow file for this run

name: CI
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
jobs:
shellcheck:
name: ShellCheck Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install ShellCheck
run: sudo apt-get install -y shellcheck
- name: Run ShellCheck on all Bash scripts
run: |
find . -name '*.sh' -not -path './.git/*' | while read -r script; do
echo "Checking $script..."
shellcheck -x -s bash "$script" || exit 1
done
bash-syntax:
name: Bash Syntax Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check Bash syntax (bash -n)
run: |
find . -name '*.sh' -not -path './.git/*' | while read -r script; do
echo "Syntax-checking $script..."
bash -n "$script" || exit 1
done
bats-tests:
name: Bats Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Bats
run: |
sudo apt-get install -y bats
- name: Run Bats tests
run: bats tests/*.bats
python-lint:
name: Python Lint (GUI)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install flake8
run: pip install flake8
- name: Lint Python files
run: flake8 gui/ --max-line-length=120 --ignore=E501,W503,E402