Skip to content

Commit

Permalink
check pattern
Browse files Browse the repository at this point in the history
  • Loading branch information
sarathchandra24 committed Mar 4, 2024
1 parent 28b7df8 commit 6f104f3
Showing 1 changed file with 153 additions and 142 deletions.
295 changes: 153 additions & 142 deletions .github/workflows/build-fb-image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,154 +76,165 @@ 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
run: |
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 }}

0 comments on commit 6f104f3

Please sign in to comment.