Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add release workflow for kustomize oci image #1379

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions .github/workflows/dis-apim-kustomize-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Build kustomize oci artifact for Dis APIM Operator

env:
ARTIFACT_NAME: kustomize/dis-apim-operator

on:
push:
branches:
- main
paths:
- 'services/dis-apim-operator/config/**'
- '.github/workflows/dis-apim-kustomize-release.yml'
tags:
- 'kustomize-dis-apim-*'

permissions:
contents: read
packages: write

jobs:
latest:
name: Build latest from main
if: github.ref == 'refs/heads/main'
defaults:
run:
working-directory: ./services/dis-apim-operator/config
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup vars
id: vars
run: |
echo "reponame=${GITHUB_REPOSITORY,,}" >> ${GITHUB_OUTPUT}
- name: Setup flux
uses: fluxcd/flux2/action@3b42b200d376430f0e24d35f1a600447d92da531
with:
version: latest
- name: Build latest artifact
run: |
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin
container_registry=ghcr.io/${{ steps.vars.outputs.reponame }}
artifact_name=${{ env.ARTIFACT_NAME }}
flux push artifact oci://${container_registry}/${artifact_name}:$(git rev-parse --short HEAD) \
--provider=generic \
--reproducible \
--path="." \
--source="$(git config --get remote.origin.url)" \
--revision="$(git branch --show-current)/$(git rev-parse HEAD)"
flux tag artifact oci://${container_registry}/${artifact_name}:$(git rev-parse --short HEAD) \
--provider=generic \
--tag latest
release:
name: Build release from tag
if: startsWith(github.ref, 'refs/tags/kustomize-dis-apim-')
defaults:
run:
working-directory: ./services/dis-apim-operator/config
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup flux
uses: fluxcd/flux2/action@3b42b200d376430f0e24d35f1a600447d92da531
with:
version: latest
- name: Setup vars
id: vars
run: |
tag=${GITHUB_REF/refs\/tags\/kustomize-dis-apim-/}
echo "reponame=${GITHUB_REPOSITORY,,}" >> ${GITHUB_OUTPUT}
echo "tag=${tag}" >> $GITHUB_OUTPUT
- name: Build release artifact
run: |
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin
container_registry=ghcr.io/${{ steps.vars.outputs.reponame }}
artifact_name=${{ env.ARTIFACT_NAME }}
flux push artifact oci://${container_registry}/${artifact_name}:$(git rev-parse --short HEAD) \
--provider=generic \
--reproducible \
--path="." \
--source="$(git config --get remote.origin.url)" \
--revision="$(git branch --show-current)/$(git rev-parse HEAD)"
flux tag artifact oci://${container_registry}/${artifact_name}:$(git rev-parse --short HEAD) \
--provider=generic \
--tag ${{ steps.vars.outputs.tag }}
Loading