Files
finish/.github/workflows/test.yml
michael1986 24d36cbad4
Some checks failed
Docker Build and Push / build-and-push (push) Has been cancelled
Tests / test (bash) (push) Has been cancelled
Tests / test (zsh) (push) Has been cancelled
Tests / lint (push) Has been cancelled
Tests / docker (push) Has been cancelled
first commit
2025-12-02 09:02:03 +01:00

70 lines
1.5 KiB
YAML

name: Tests
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
shell: [bash, zsh]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y bash zsh curl jq bc bash-completion bats
- name: Make script executable
run: chmod +x finishte.sh
- name: Run BATS tests
run: |
if [ -d tests ]; then
bats tests/
else
echo "No tests directory found"
fi
- name: Test installation
run: |
export HOME=$PWD/test-home
mkdir -p $HOME/.local/bin
cp finishte.sh $HOME/.local/bin/finishte
chmod +x $HOME/.local/bin/finishte
$HOME/.local/bin/finishte --help
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install shellcheck
run: sudo apt-get update && sudo apt-get install -y shellcheck
- name: Run shellcheck
run: shellcheck finishte.sh docs/install.sh || true
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t finish:test .
- name: Test Docker image
run: |
docker run --rm finish:test -c "finishte --help"