diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 98a9583ae..fb13c86c8 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,8 +1,11 @@ --- name: CI on: - - push - - pull_request + push: + branches: + - main + - stable/* + pull_request: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true @@ -12,15 +15,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v6 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: "3.13" + cache: 'pip' - name: Set up Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v6 with: - go-version: "1.21" + go-version: "1.24" - name: Install dependencies run: python -m pip install tox - name: Run tox @@ -43,7 +47,7 @@ jobs: MYSQL_ROOT_PASSWORD: root-${{ github.run_id }} services: postgres: - image: postgres:latest + image: postgres:17 env: POSTGRES_DB: ${{ env.DATABASE_NAME }} POSTGRES_PASSWORD: ${{ env.DATABASE_PASSWORD }} @@ -56,7 +60,7 @@ jobs: --health-timeout 5s --health-retries 5 mysql: - image: mysql:latest + image: mysql:8.4 env: MYSQL_DATABASE: ${{ env.DATABASE_NAME }} MYSQL_USER: ${{ env.DATABASE_USER }} @@ -71,9 +75,9 @@ jobs: --health-retries 5 steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} - name: Install Python dependencies @@ -102,19 +106,22 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v6 with: fetch-depth: 0 + - name: Fetch all branches + run: git fetch --all - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: "3.13" + cache: 'pip' - name: Install dependencies run: python -m pip install tox - name: Build docs (via tox) run: tox -e docs - name: Archive build results - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v7 with: name: html-docs-build path: docs/_build/html @@ -129,13 +136,14 @@ jobs: COMPOSE_FILE: ${{ matrix.db == 'mysql' && 'docker-compose.yml' || (matrix.db == 'postgres' && 'docker-compose-pg.yml') || 'docker-compose-sqlite3.yml' }} steps: - name: Checkout source code - uses: actions/checkout@v3 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: "3.13" + cache: 'pip' - name: Build docker-compose service run: | docker compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g) diff --git a/docker-compose-pg.yml b/docker-compose-pg.yml index 44bc3ec0a..3e1798783 100644 --- a/docker-compose-pg.yml +++ b/docker-compose-pg.yml @@ -1,7 +1,7 @@ --- services: db: - image: postgres:latest + image: postgres:17 volumes: - ./tools/docker/db/postdata:/var/lib/postgresql/data environment: diff --git a/docker-compose.yml b/docker-compose.yml index 73f080a49..936818bf6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ --- services: db: - image: mysql:latest + image: mysql:8.4 volumes: - ./tools/docker/db/data:/var/lib/mysql environment: