Bump gunicorn from 24.1.0 to 24.1.1 #51
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "CI" | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| python: | |
| name: "Python π" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ποΈ Checkout | |
| uses: actions/checkout@v6 | |
| - name: π Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.14' | |
| cache: 'pip' | |
| - name: π₯ Install dependencies | |
| run: | | |
| pip install -r requirements.txt | |
| pip install -r requirements-dev.txt | |
| - name: π Lint with flake8 | |
| run: | | |
| flake8 --ignore=W292,W503 --max-line-length=127 --show-source --statistics *.py app/*.py app/routes/*.py app/services/*.py app/clients/*.py app/utils/*.py tests/*.py tests/integration/*.py tests/unit/*.py | |
| - name: π§ͺ Run tests | |
| run: | | |
| python -m pytest tests/ --cov | |
| terraform: | |
| name: "Terraform ποΈ" | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: gcp | |
| steps: | |
| - name: ποΈ Checkout | |
| uses: actions/checkout@v6 | |
| - name: ποΈ Setup Terraform | |
| uses: hashicorp/setup-terraform@v3 | |
| - name: π Terraform Format | |
| run: terraform fmt -check -recursive | |
| - name: π Terraform Init | |
| run: terraform init -backend=false | |
| - name: π Terraform Validate | |
| run: terraform validate | |
| - name: π Setup TFLint | |
| uses: terraform-linters/setup-tflint@v6 | |
| with: | |
| tflint_version: latest | |
| - name: π Run TFLint | |
| run: tflint | |
| - name: π‘οΈ Run tfsec | |
| uses: aquasecurity/tfsec-action@v1.0.3 | |
| with: | |
| working_directory: gcp | |
| shell: | |
| name: "Shell π" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ποΈ Checkout | |
| uses: actions/checkout@v6 | |
| - name: π ShellCheck | |
| run: | | |
| shellcheck tools/*.sh && shellcheck gcp/*.sh && shellcheck gcp/startup/*.sh | |
| docker: | |
| name: "Docker π³" | |
| needs: [python, terraform, shell] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ποΈ Checkout | |
| uses: actions/checkout@v6 | |
| - name: ποΈ Build Docker image | |
| run: | | |
| docker build -t google-cloud-github-runner . | |
| - name: π Start Docker container | |
| run: | | |
| docker run -d --name google-cloud-github-runner -p 8080:8080 google-cloud-github-runner | |
| - name: β³ Wait for container to be ready | |
| run: | | |
| # Wait for up to 30 seconds for the service to respond | |
| for i in {1..30}; do | |
| if curl -s http://localhost:8080 > /dev/null; then | |
| echo "Container is ready!" | |
| exit 0 | |
| fi | |
| echo "Waiting for container... ($i/30)" | |
| sleep 1 | |
| done | |
| echo "Container failed to start in time" | |
| docker logs google-cloud-github-runner | |
| exit 1 | |
| - name: π Access Container web app via curl | |
| run: | | |
| curl -v http://localhost:8080 | |
| - name: π§Ή Cleanup | |
| if: always() | |
| run: | | |
| docker stop google-cloud-github-runner || true | |
| docker rm google-cloud-github-runner || true |