From d757cf8e84159e0cf4d60523d62a31f895daefef Mon Sep 17 00:00:00 2001 From: mmetc <92726601+mmetc@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:41:33 +0200 Subject: [PATCH] CI: publish dev-debian docker image (amd64 only) (#2252) --- .../publish_docker-image_on_master-debian.yml | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 .github/workflows/publish_docker-image_on_master-debian.yml diff --git a/.github/workflows/publish_docker-image_on_master-debian.yml b/.github/workflows/publish_docker-image_on_master-debian.yml new file mode 100644 index 000000000..88076157c --- /dev/null +++ b/.github/workflows/publish_docker-image_on_master-debian.yml @@ -0,0 +1,70 @@ +name: Publish Debian Docker image on Push to Master + +on: + push: + branches: [ master ] + paths: + - 'pkg/**' + - 'cmd/**' + - 'plugins/**' + - 'docker/docker_start.sh' + - 'docker/config.yaml' + - '.github/workflows/publish_docker-image_on_master-debian.yml' + - 'Dockerfile.debian' + - 'go.mod' + - 'go.sum' + - 'Makefile' + +jobs: + push_to_registry: + name: Push Debian Docker image to Docker Hub + runs-on: ubuntu-latest + steps: + + - name: Check out the repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Prepare + id: prep + run: | + DOCKER_IMAGE=crowdsecurity/crowdsec + GHCR_IMAGE=ghcr.io/${{ github.repository_owner }}/crowdsec + VERSION=dev-debian + TAGS="${DOCKER_IMAGE}:${VERSION},${GHCR_IMAGE}:${VERSION}" + echo "tags=${TAGS}" >> $GITHUB_OUTPUT + echo "created=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + with: + config: .github/buildkit.toml + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push full image + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile.debian + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.prep.outputs.tags }} + platforms: linux/amd64 + labels: | + org.opencontainers.image.source=${{ github.event.repository.html_url }} + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + org.opencontainers.image.revision=${{ github.sha }} + cache-from: type=gha + cache-to: type=gha,mode=min