ci: bump docker/login-action from 4.0.0 to 4.1.0 in /.github/workflows #636
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: Pull request build | |
| on: | |
| pull_request: | |
| # branches: | |
| # - dev | |
| jobs: | |
| build-app: | |
| runs-on: ubuntu-latest | |
| name: Build project | |
| permissions: | |
| checks: write | |
| pull-requests: write | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| - name: Setup Python 3.13 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.13' | |
| - name: Cache pip repository | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt', 'requirements_test.txt') }} | |
| - name: Prepare python environment | |
| run: | | |
| pip install --upgrade pip | |
| pip install -r requirements.txt -r requirements_test.txt | |
| - name: Lint project | |
| run: | | |
| ruff check app/ | |
| ruff format --check app/ | |
| mypy --ignore-missing-imports app/ | |
| - name: Test project | |
| run: pytest -v --cov --cov-report=xml:coverage.xml --junit-xml junit.xml | |
| - name: Report test summary | |
| uses: EnricoMi/publish-unit-test-result-action@v2 | |
| if: always() | |
| with: | |
| test_changes_limit: 0 | |
| files: ./junit.xml | |
| report_individual_runs: true | |
| - name: Push to CodeCov | |
| uses: codecov/codecov-action@v6 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: ./coverage.xml | |
| build-docker: | |
| runs-on: ubuntu-latest | |
| name: Build docker | |
| permissions: | |
| pull-requests: read | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Get current date | |
| id: getDate | |
| run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v4.0.0 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4.0.0 | |
| - name: Build docker image (no push) | |
| uses: docker/build-push-action@v7.0.0 | |
| with: | |
| context: . | |
| platforms: linux/amd64,linux/arm/v7,linux/arm64/v8 | |
| build-args: | | |
| VCS_REF=${{ github.sha }} | |
| BUILD_DATE=${{ steps.getDate.outputs.date }} | |
| VERSION=testing | |
| tags: tomerfi/switcher_webapi:testing | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| e2e-smoke-test: | |
| runs-on: ubuntu-latest | |
| name: E2E smoke test | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4.0.0 | |
| - name: Build image for testing | |
| uses: docker/build-push-action@v7.0.0 | |
| with: | |
| context: . | |
| load: true | |
| tags: switcher_webapi:test | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| - name: Run container and test health endpoint | |
| run: | | |
| docker run -d --name test-container -p 8000:8000 switcher_webapi:test | |
| for i in {1..12}; do | |
| response=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8000/health || true) | |
| [ "$response" = "200" ] && break | |
| sleep 5 | |
| done | |
| docker logs test-container | |
| docker stop test-container | |
| if [ "$response" != "200" ]; then | |
| echo "Health check failed with status $response" | |
| exit 1 | |
| fi | |
| echo "Health check passed with status $response" |