name: CI on: push: branches: [main, master, dev] pull_request: branches: [main, master, dev] workflow_dispatch: jobs: e2e: runs-on: ubuntu-latest if: github.event_name != 'push' || !contains(github.event.head_commit.message, '[skip ci]') steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 - name: Проверка Docker Compose конфигурации run: docker compose -f docker-compose.test.yml config - name: E2E тесты кеша run: ./scripts/test-e2e.sh docker: runs-on: ubuntu-latest needs: e2e if: > github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master') && !contains(github.event.head_commit.message, '[skip ci]') steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 - name: Setup variables run: | DOCKER_REGISTRY=$(echo "${{ gitea.server_url }}" | sed -E 's|^https?://||') echo "DOCKER_REGISTRY=$DOCKER_REGISTRY" >> "$GITHUB_ENV" REGISTRY_IMAGE="$DOCKER_REGISTRY/$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]')" echo "REGISTRY_IMAGE=$REGISTRY_IMAGE" >> "$GITHUB_ENV" - name: Login to Container Registry uses: docker/login-action@v3 with: registry: ${{ env.DOCKER_REGISTRY }} username: ${{ secrets.CR_USER }} password: ${{ secrets.CR_TOKEN }} - name: Extract Docker metadata id: meta uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY_IMAGE }} tags: | type=ref,event=branch type=sha,prefix= type=raw,value=latest,enable={{is_default_branch}} - name: Build and push Caddy image uses: docker/build-push-action@v5 with: context: . file: ./Dockerfile.caddy platforms: linux/amd64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} provenance: false sbom: false