Skip to content

Commit

Permalink
chore: added github action based build jobs (kyma-project#431)
Browse files Browse the repository at this point in the history
added github action based build jobs
  • Loading branch information
mfaizanse authored and friedrichwilken committed Dec 17, 2024
1 parent 4d13ec5 commit fd2c0b6
Show file tree
Hide file tree
Showing 4 changed files with 97 additions and 3 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/pull-build-image.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Pull Build Image

on:
pull_request_target:
types: [opened, edited, synchronize, reopened, ready_for_review]

permissions:
id-token: write # This is required for requesting the JWT token
contents: read # This is required for actions/checkout

jobs:
build:
uses: kyma-project/test-infra/.github/workflows/image-builder.yml@main
with:
name: nats-manager
dockerfile: Dockerfile
context: .
export-tags: true
39 changes: 39 additions & 0 deletions .github/workflows/push-build-image.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Push Build Image

on:
push:
branches:
- "main"
- "release-*"
paths-ignore:
- "docs/**"

permissions:
id-token: write # This is required for requesting the JWT token
contents: read # This is required for actions/checkout

jobs:
compute-tags:
runs-on: ubuntu-latest
outputs:
tags: ${{ steps.get_tag.outputs.TAGS }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get the latest tag
id: get_tag
run: |
{
echo 'TAGS<<EOF'
echo "${{ github.sha }}"
echo "${{ github.ref_name}}"
echo EOF
} >> "$GITHUB_OUTPUT"
build:
needs: compute-tags
uses: kyma-project/test-infra/.github/workflows/image-builder.yml@main
with:
name: nats-manager
dockerfile: Dockerfile
context: .
tags: ${{ needs.compute-tags.outputs.tags }}
37 changes: 37 additions & 0 deletions .github/workflows/tag-build-image.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Tag Build Image

on:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+' # This will trigger the workflow when a tag (x.y.z) is pushed.

permissions:
id-token: write # This is required for requesting the JWT token
contents: read # This is required for actions/checkout

jobs:
compute-tags:
runs-on: ubuntu-latest
outputs:
tags: ${{ steps.get_tag.outputs.TAGS }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get the latest tag
id: get_tag
run: |
{
echo 'TAGS<<EOF'
echo "${{ github.sha }}"
echo "${{ github.ref_name}}"
echo EOF
} >> "$GITHUB_OUTPUT"
build:
name: build-${{ github.ref_name }} # The release pipeline will check the status of this job by this name format (e.g. build-1.0.1).
needs: compute-tags
uses: kyma-project/test-infra/.github/workflows/image-builder.yml@main
with:
name: nats-manager
dockerfile: Dockerfile
context: .
tags: ${{ needs.compute-tags.outputs.tags }}
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM europe-docker.pkg.dev/kyma-project/prod/external/library/golang:1.23.0-alpi
ARG TARGETOS
ARG TARGETARCH

WORKDIR /workspace
WORKDIR /app
# Copy the Go Modules manifests
COPY go.mod go.mod
COPY go.sum go.sum
Expand Down Expand Up @@ -31,8 +31,8 @@ FROM gcr.io/distroless/static:nonroot
LABEL source = [email protected]:kyma-project/nats-manager.git

WORKDIR /
COPY --from=builder /workspace/manager .
COPY --from=builder /workspace/resources/nats resources/nats
COPY --from=builder /app/manager .
COPY --from=builder /app/resources/nats resources/nats
USER nonroot:nonroot

ENTRYPOINT ["/manager"]

0 comments on commit fd2c0b6

Please sign in to comment.