upgrade python, direct dependencies, and transitive dependencies #846
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: | |
| - main | |
| tags: | |
| - '*' | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-24.04-arm | |
| name: Lint | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: astral-sh/setup-uv@v5 | |
| - run: uv python install 3.13 | |
| - run: uv sync --frozen | |
| - run: uv run black --check --diff . | |
| - run: uv run ruff check . | |
| type-check: | |
| runs-on: ubuntu-24.04-arm | |
| name: Type-Check | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: astral-sh/setup-uv@v5 | |
| - run: uv python install 3.13 | |
| - run: uv sync --frozen | |
| - run: uv run mypy --config-file pyproject.toml . | |
| security-check: | |
| runs-on: ubuntu-24.04-arm | |
| name: Security-Check | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: astral-sh/setup-uv@v5 | |
| - run: uv python install 3.13 | |
| - run: uv sync --frozen | |
| - run: uv run bandit -c pyproject.toml -r . | |
| test: | |
| runs-on: ubuntu-24.04-arm | |
| name: Tests | |
| services: | |
| db: | |
| image: postgres:16 | |
| env: | |
| POSTGRES_DB: cabotage_test | |
| POSTGRES_HOST_AUTH_METHOD: trust | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd "pg_isready -U postgres" | |
| --health-interval 2s | |
| --health-timeout 3s | |
| --health-retries 15 | |
| redis: | |
| image: redis:7 | |
| ports: | |
| - 6379:6379 | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval 2s | |
| --health-timeout 3s | |
| --health-retries 15 | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up database extensions | |
| run: | | |
| docker run --rm --network host postgres:16 psql -h localhost -U postgres -d cabotage_test -c "CREATE EXTENSION IF NOT EXISTS citext; CREATE EXTENSION IF NOT EXISTS pgcrypto;" | |
| - uses: astral-sh/setup-uv@v5 | |
| - run: uv python install 3.13 | |
| - run: uv sync --frozen | |
| - name: Run migrations | |
| run: uv run flask db upgrade | |
| env: | |
| CABOTAGE_SQLALCHEMY_DATABASE_URI: postgresql://postgres@localhost/cabotage_test | |
| FLASK_APP: cabotage.server.wsgi | |
| - name: Run tests | |
| run: uv run pytest tests/ -v | |
| env: | |
| CABOTAGE_SQLALCHEMY_DATABASE_URI: postgresql://postgres@localhost/cabotage_test | |
| CABOTAGE_CELERY_BROKER_URL: redis://localhost:6379/0 | |
| CABOTAGE_CELERY_RESULTS_URL: redis://localhost:6379/0 | |
| CABOTAGE_TESTING: "True" | |
| FLASK_APP: cabotage.server.wsgi | |
| publish: | |
| if: github.event_name == 'push' | |
| needs: [lint, type-check, security-check, test] | |
| uses: ./.github/workflows/docker.yml | |
| permissions: | |
| contents: write | |
| packages: write |