name: Build Docker image run-name: ${{ gitea.actor }} is running the CI pipeline on: push: branches: - main schedule: - cron: "0 22 * * 0" # sunday 22:00 jobs: test: if: ${{ github.event_name }} != 'schedule' runs-on: ubuntu-latest steps: - name: Checkout code uses: https://github.com/actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Setup tox run: pip install tox>=4.16 - name: Run tox run: tox build: runs-on: ubuntu-latest needs: test steps: - name: Checkout code uses: https://github.com/actions/checkout@v4 - name: Get date for image label id: date run: echo "::set-output name=date::$(date +'%Y-%m-%d')" - name: Set up Docker Buildx uses: https://github.com/docker/setup-buildx-action@v3 with: driver: docker-container - name: Login to Docker Registry uses: https://github.com/docker/login-action@v3 with: registry: git.orebolt.cz username: ${{ secrets.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_TOKEN }} - name: Build and push image uses: https://github.com/docker/build-push-action@v5 with: context: . push: true tags: "${{ vars.DOCKER_IMAGE }}:latest,${{ vars.DOCKER_IMAGE }}:${{ steps.date.outputs.date }}" platforms: linux/amd64,linux/arm/v7 cache-to: "mode=max,image-manifest=true,oci-mediatypes=true,type=registry,ref=${{ vars.DOCKER_IMAGE }}:cache" cache-from: "mode=max,image-manifest=true,oci-mediatypes=true,type=registry,ref=${{ vars.DOCKER_IMAGE }}:cache" labels: | org.opencontainers.image.revision=${{ GITHUB_SHA }} org.opencontainers.image.source=${{ GITHUB_REPOSITORY }} org.opencontainers.image.author=${{ GITHUB_ACTOR }} org.opencontainers.image.created=${{ steps.date.outputs.date }}