relase osartifact helm chart #96
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Publish | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- 'v*.*.*' | |
jobs: | |
publish: | |
name: Build and Push OSBuilder Image | |
runs-on: ubuntu-22.04 | |
permissions: | |
contents: 'read' | |
id-token: 'write' | |
packages: 'write' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Docker meta | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: | | |
ghcr.io/pluralsh/osbuilder | |
docker.io/pluralsh/osbuilder | |
tags: | | |
type=sha | |
type=semver,pattern={{version}} | |
type=raw,value=latest,enable={{is_default_branch}} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to GHCR | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Login to Docker | |
uses: docker/login-action@v3 | |
with: | |
username: mjgpluralsh | |
password: ${{ secrets.DOCKER_ACCESS_TOKEN }} | |
- name: Build and Push | |
uses: docker/build-push-action@v6 | |
with: | |
context: "." | |
file: "./Dockerfile" | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} | |
platforms: linux/amd64,linux/arm64 | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
build-args: | | |
GIT_COMMIT=${{ github.sha }} | |
release: | |
name: Create GitHub release | |
if: startsWith(github.ref, 'refs/tags/') # Limit job to tag pushes | |
runs-on: ubuntu-22.04 | |
needs: publish | |
permissions: | |
contents: write | |
discussions: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
generate_release_notes: true | |
draft: false | |
bump: | |
name: Bump Chart Version | |
if: startsWith(github.ref, 'refs/tags/') # Limit job to tag pushes | |
runs-on: ubuntu-22.04 | |
needs: [release] | |
permissions: | |
contents: write | |
discussions: write | |
pull-requests: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "1.23.3" | |
- name: Push Osbuilder Chart | |
uses: pluralsh/[email protected] | |
with: | |
path: ./charts/osbuilder | |
release: ${{github.ref_name}} | |
- name: Read Chart Version | |
id: chart_version | |
uses: mikefarah/yq@master | |
with: | |
cmd: yq ".version" charts/osbuilder/Chart.yaml | |
- name: Update Chart Version | |
uses: mikefarah/yq@master | |
with: | |
cmd: yq -i '.dependencies[] |= select(.name == "controller").version="${{ steps.chart_version.outputs.result }}"' charts/osbuilder/Chart.yaml | |
- name: Helm Dependencies | |
run: | | |
cd charts/osbuilder | |
helm dependency update | |
- name: Push Osartifact Chart | |
uses: pluralsh/[email protected] | |
with: | |
path: ./charts/osartifact | |
release: ${{github.ref_name}} | |
- name: Read Chart Version | |
id: os_chart_version | |
uses: mikefarah/yq@master | |
with: | |
cmd: yq ".version" charts/osartifact/Chart.yaml | |
- name: Update Chart Version | |
uses: mikefarah/yq@master | |
with: | |
cmd: yq -i '.dependencies[] |= select(.name == "controller").version="${{ steps.os_chart_version.outputs.result }}"' charts/osbuilder/Chart.yaml | |
- name: Helm Dependencies | |
run: | | |
cd charts/osartifact | |
helm dependency update | |
- name: Create Pull Request | |
uses: peter-evans/create-pull-request@v5 | |
with: | |
title: Release ${{github.ref_name}} | |
body: Automated Pull Request to release ${{github.ref_name}} | |
commit-message: Updated chart to release ${{github.ref_name}} | |
branch: release-${{github.ref_name}} | |
labels: release | |
base: master |