docker – Rev 62

Subversion Repositories:
Rev:
name: test

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
  contents: read

on:
  push:
    branches:
      - 'master'
    paths-ignore:
      - '**.md'
  pull_request:
    paths-ignore:
      - '**.md'

env:
  BUILD_TAG: rtorrent-rutorrent:test
  CONTAINER_NAME: rtorrent-rutorrent

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      -
        name: Checkout
        uses: actions/checkout@v4
      -
        name: Set up QEMU
        uses: docker/setup-qemu-action@v3
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3
      -
        name: Build
        uses: docker/bake-action@v6
        with:
          source: .
          targets: image-local
          set: |
            *.cache-from=type=gha,scope=build-linux-amd64
        env:
          DEFAULT_TAG: ${{ env.BUILD_TAG }}
      -
        name: Start
        run: |
          docker compose up -d
        working-directory: test
        env:
          RTORRENT_RUTORRENT_IMAGE: ${{ env.BUILD_TAG }}
          RTORRENT_RUTORRENT_CONTAINER: ${{ env.CONTAINER_NAME }}
      -
        name: Check container logs
        uses: crazy-max/.github/.github/actions/container-logs-check@main
        with:
          container_name: ${{ env.CONTAINER_NAME }}
          log_check: "ready to handle connections"
          timeout: 120
      -
        name: Logs
        if: always()
        run: |
          docker compose logs
        working-directory: test
        env:
          RTORRENT_RUTORRENT_IMAGE: ${{ env.BUILD_TAG }}
          RTORRENT_RUTORRENT_CONTAINER: ${{ env.CONTAINER_NAME }}