name: Test on: pull_request: branches: [ main, develop ] push: branches: [ main, develop ] workflow_dispatch: jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Bash run: | echo "Bash version:" bash --version - name: Install shellcheck run: | sudo apt-get update sudo apt-get install -y shellcheck - name: Lint scripts run: | if [ -f scripts/quality/lint-scripts.sh ]; then chmod +x scripts/quality/lint-scripts.sh ./scripts/quality/lint-scripts.sh || true else echo "Lint script not found, skipping" fi - name: Validate scripts run: | if [ -f scripts/quality/validate-scripts.sh ]; then chmod +x scripts/quality/validate-scripts.sh ./scripts/quality/validate-scripts.sh || true else echo "Validate script not found, skipping" fi - name: Validate documentation run: | if [ -f scripts/docs/validate-docs.sh ]; then chmod +x scripts/docs/validate-docs.sh ./scripts/docs/validate-docs.sh || true else echo "Docs validation script not found, skipping" fi - name: Check YAML syntax uses: actions/setup-python@v4 with: python-version: '3.x' run: | pip install yamllint yamllint -d relaxed . || true