From 6f104f3b2615e44a637278abbcb29766181cc7e8 Mon Sep 17 00:00:00 2001 From: Sarath Chandra Oruganti <39090092+SarathChandra24@users.noreply.github.com> Date: Mon, 4 Mar 2024 09:14:42 -0500 Subject: [PATCH] check pattern --- .github/workflows/build-fb-image.yaml | 295 +++++++++++++------------- 1 file changed, 153 insertions(+), 142 deletions(-) diff --git a/.github/workflows/build-fb-image.yaml b/.github/workflows/build-fb-image.yaml index 576f91896..372819f9c 100644 --- a/.github/workflows/build-fb-image.yaml +++ b/.github/workflows/build-fb-image.yaml @@ -76,11 +76,22 @@ jobs: images: "ghcr.io/${{ env.GITHUB_IMAGE }}" tags: | raw,latest-debug - type=ref,event=branch,pattern=${{ github.ref_name }}-debug - type=ref,event=pr,pattern=${{ github.event.pull_request.id }}-debug - type=ref,event=tag,pattern=${{ github.ref_name }}-debug - type=semver,pattern={{version}}-debug - type=semver,pattern={{major}}.{{minor}}-debug + type=ref,event=branch,pattern=${{ github.ref_name }} + type=ref,event=pr,pattern=${{ github.event.pull_request.id }} + type=ref,event=tag,pattern=${{ github.ref_name }} + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + + - name: Process and append "-debug" to tags + run: | + original_tags=$(echo ${{ steps.image-metadata.outputs.tags }}) + echo "tags: ${{ steps.image-metadata.outputs.tags }}" + debug_tags="" + for tag in $original_tags; do + debug_tags="$debug_tags $tag-debug" + done + echo "debug_tags=$debug_tags" >> $GITHUB_OUTPUT + echo "debug_tags=$debug_tags" - name: Set outputs id: set-outputs @@ -88,142 +99,142 @@ jobs: echo "IMAGE_NAME=${{ env.GITHUB_IMAGE }}" >> $GITHUB_OUTPUT echo "DOCKER_IMG_NAME=${{env.DOCKER_REPO}}/${{ env.DOCKER_IMAGE }}" >> $GITHUB_OUTPUT - build-FluentBit-prod-image: - needs: - - build-prod-image-metadata - runs-on: ubuntu-latest - timeout-minutes: 30 - name: Build Fluent Bit prod image - steps: - - name: Install Go - uses: actions/setup-go@v4 - with: - go-version: 1.21 - - - uses: actions/cache@v3 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Build and Push Image for Fluent Bit - id: docker-build - uses: docker/build-push-action@v2 - with: - context: . - file: ./cmd/fluent-watcher/fluentbit/Dockerfile - push: true - platforms: linux/amd64,linux/arm64 - tags: ${{ needs.build-prod-image-metadata.outputs.tags }} - labels: ${{ needs.build-prod-image-metadata.outputs.labels }} - - build-FluentBit-debug-image: - needs: - - build-debug-image-metadata - runs-on: ubuntu-latest - timeout-minutes: 30 - name: Build Fluent Bit debug image - steps: - - name: Install Go - uses: actions/setup-go@v4 - with: - go-version: 1.21 - - - uses: actions/cache@v3 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v3 + # build-FluentBit-prod-image: + # needs: + # - build-prod-image-metadata + # runs-on: ubuntu-latest + # timeout-minutes: 30 + # name: Build Fluent Bit prod image + # steps: + # - name: Install Go + # uses: actions/setup-go@v4 + # with: + # go-version: 1.21 + + # - uses: actions/cache@v3 + # with: + # path: ~/go/pkg/mod + # key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + + # - name: Checkout code + # uses: actions/checkout@v4 + # with: + # fetch-depth: 0 + + # - name: Login to GitHub Container Registry + # uses: docker/login-action@v3 + # with: + # registry: ghcr.io + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} + + # - name: Set up Docker Buildx + # id: buildx + # uses: docker/setup-buildx-action@v3 + + # - name: Build and Push Image for Fluent Bit + # id: docker-build + # uses: docker/build-push-action@v2 + # with: + # context: . + # file: ./cmd/fluent-watcher/fluentbit/Dockerfile + # push: true + # platforms: linux/amd64,linux/arm64 + # tags: ${{ needs.build-prod-image-metadata.outputs.tags }} + # labels: ${{ needs.build-prod-image-metadata.outputs.labels }} + + # build-FluentBit-debug-image: + # needs: + # - build-debug-image-metadata + # runs-on: ubuntu-latest + # timeout-minutes: 30 + # name: Build Fluent Bit debug image + # steps: + # - name: Install Go + # uses: actions/setup-go@v4 + # with: + # go-version: 1.21 + + # - uses: actions/cache@v3 + # with: + # path: ~/go/pkg/mod + # key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + + # - name: Checkout code + # uses: actions/checkout@v4 + # with: + # fetch-depth: 0 + + # - name: Login to GitHub Container Registry + # uses: docker/login-action@v3 + # with: + # registry: ghcr.io + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} + + # - name: Set up Docker Buildx + # id: buildx + # uses: docker/setup-buildx-action@v3 - - name: Build and Push Fluent Bit Debug Image - id: docker-build-debug - uses: docker/build-push-action@v2 - with: - context: . - file: ./cmd/fluent-watcher/fluentbit/Dockerfile.debug - push: true - platforms: linux/amd64,linux/arm64 - tags: ${{ needs.build-debug-image-metadata.outputs.tags }} - - scan-FluentBit-image: - name: Scan prod image - needs: - - build-prod-image-metadata - - build-FluentBit-prod-image - uses: ./.github/workflows/scan-docker-image-action.yaml - with: - source_image: "${{ needs.build-prod-image-metadata.outputs.IMG_NAME }}:${{ needs.build-prod-image-metadata.outputs.version }}" - source_registry: ghcr.io - platforms: "['linux/arm64', 'linux/amd64']" - secrets: - registry_username: ${{ github.actor }} - registry_password: ${{ secrets.GITHUB_TOKEN }} + # - name: Build and Push Fluent Bit Debug Image + # id: docker-build-debug + # uses: docker/build-push-action@v2 + # with: + # context: . + # file: ./cmd/fluent-watcher/fluentbit/Dockerfile.debug + # push: true + # platforms: linux/amd64,linux/arm64 + # tags: ${{ needs.build-debug-image-metadata.outputs.tags }} + + # scan-FluentBit-image: + # name: Scan prod image + # needs: + # - build-prod-image-metadata + # - build-FluentBit-prod-image + # uses: ./.github/workflows/scan-docker-image-action.yaml + # with: + # source_image: "${{ needs.build-prod-image-metadata.outputs.IMG_NAME }}:${{ needs.build-prod-image-metadata.outputs.version }}" + # source_registry: ghcr.io + # platforms: "['linux/arm64', 'linux/amd64']" + # secrets: + # registry_username: ${{ github.actor }} + # registry_password: ${{ secrets.GITHUB_TOKEN }} - release-prod-image-to-docker-hub: - if: ${{ github.event_name != 'pull_request' }} - name: Release prod image to Docker Hub - uses: ./.github/workflows/clone-docker-image-action.yaml - needs: - - build-FluentBit-prod-image - - scan-FluentBit-image - - build-prod-image-metadata - with: - source_image: "${{ needs.build-prod-image-metadata.outputs.IMG_NAME }}:${{ needs.build-prod-image-metadata.outputs.version }}" - source_registry: ghcr.io - target_image: "${{ needs.build-prod-image-metadata.outputs.DOCKER_IMG_NAME }}:${{ needs.build-prod-image-metadata.outputs.version }}" - target_registry: docker.io - platforms: "['linux/arm64', 'linux/amd64']" - secrets: - source_registry_username: ${{ github.actor }} - source_registry_token: ${{ secrets.GITHUB_TOKEN }} - target_registry_username: ${{ secrets.REGISTRY_USER }} - target_registry_token: ${{ secrets.REGISTRY_PASSWORD }} - - release-debug-image-to-docker-hub: - if: ${{ github.event_name != 'pull_request' }} - name: Release debug image to Docker Hub - uses: ./.github/workflows/clone-docker-image-action.yaml - needs: - - build-FluentBit-debug-image - - build-debug-image-metadata - with: - source_image: "${{ needs.build-debug-image-metadata.outputs.IMG_NAME }}:${{ needs.build-debug-image-metadata.outputs.version }}" - source_registry: ghcr.io - target_image: "${{ needs.build-debug-image-metadata.outputs.DOCKER_IMG_NAME }}:${{ needs.build-debug-image-metadata.outputs.version }}" - target_registry: docker.io - platforms: "['linux/arm64', 'linux/amd64']" - secrets: - source_registry_username: ${{ github.actor }} - source_registry_token: ${{ secrets.GITHUB_TOKEN }} - target_registry_username: ${{ secrets.REGISTRY_USER }} - target_registry_token: ${{ secrets.REGISTRY_PASSWORD }} + # release-prod-image-to-docker-hub: + # if: ${{ github.event_name != 'pull_request' }} + # name: Release prod image to Docker Hub + # uses: ./.github/workflows/clone-docker-image-action.yaml + # needs: + # - build-FluentBit-prod-image + # - scan-FluentBit-image + # - build-prod-image-metadata + # with: + # source_image: "${{ needs.build-prod-image-metadata.outputs.IMG_NAME }}:${{ needs.build-prod-image-metadata.outputs.version }}" + # source_registry: ghcr.io + # target_image: "${{ needs.build-prod-image-metadata.outputs.DOCKER_IMG_NAME }}:${{ needs.build-prod-image-metadata.outputs.version }}" + # target_registry: docker.io + # platforms: "['linux/arm64', 'linux/amd64']" + # secrets: + # source_registry_username: ${{ github.actor }} + # source_registry_token: ${{ secrets.GITHUB_TOKEN }} + # target_registry_username: ${{ secrets.REGISTRY_USER }} + # target_registry_token: ${{ secrets.REGISTRY_PASSWORD }} + + # release-debug-image-to-docker-hub: + # if: ${{ github.event_name != 'pull_request' }} + # name: Release debug image to Docker Hub + # uses: ./.github/workflows/clone-docker-image-action.yaml + # needs: + # - build-FluentBit-debug-image + # - build-debug-image-metadata + # with: + # source_image: "${{ needs.build-debug-image-metadata.outputs.IMG_NAME }}:${{ needs.build-debug-image-metadata.outputs.version }}" + # source_registry: ghcr.io + # target_image: "${{ needs.build-debug-image-metadata.outputs.DOCKER_IMG_NAME }}:${{ needs.build-debug-image-metadata.outputs.version }}" + # target_registry: docker.io + # platforms: "['linux/arm64', 'linux/amd64']" + # secrets: + # source_registry_username: ${{ github.actor }} + # source_registry_token: ${{ secrets.GITHUB_TOKEN }} + # target_registry_username: ${{ secrets.REGISTRY_USER }} + # target_registry_token: ${{ secrets.REGISTRY_PASSWORD }}