Skip to content

Commit

Permalink
add new release workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
krumware committed May 10, 2024
1 parent 85c730d commit 44e3dba
Showing 1 changed file with 129 additions and 0 deletions.
129 changes: 129 additions & 0 deletions .github/workflows/build-extension-charts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
name: Build and Release Extension Charts

on:
workflow_dispatch:
release:
types: [released]

env:
ACTIONS_RUNNER_DEBUG: false
CI_COMMIT_MESSAGE: CI Build Artifacts
TARGET_BRANCH: gh-pages

defaults:
run:
shell: bash
working-directory: ./

jobs:
build-extension-artifact:
name: Build extension artifact
runs-on: ubuntu-latest
permissions:
actions: write
contents: read
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Configure Git
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
- name: Setup Helm
uses: azure/setup-helm@v3
with:
version: v3.8.0

- name: Setup yq
uses: chrisdickinson/[email protected]
with:
yq-version: v4.34.2

- name: Setup Nodejs and npm
uses: actions/setup-node@v3
with:
node-version: '16'

- name: Setup yarn
run: npm install -g yarn

- name: Setup Nodejs with yarn caching
uses: actions/setup-node@v3
with:
node-version: '16'
cache: yarn

- name: Install dependencies
run: yarn

- name: Parse Extension Name
if: github.ref_type == 'tag'
id: parsed-name
env:
GH_TOKEN: ${{ github.token }}
run: |
chmod +x ./node_modules/@rancher/shell/scripts/extension/parse-tag-name
yarn parse-tag-name ${{ github.ref_name }} ${{ github.run_id }} "charts"
- name: Run build script
shell: bash
id: build_script
run: |
publish="yarn publish-pkgs -s ${{ github.repository }} -b ${{ env.TARGET_BRANCH }}"
if [[ -n "${{ github.ref_name }}" ]]; then
publish="$publish -t ${{ github.ref_name }}"
fi
$publish
- name: Upload charts artifact
if: github.ref_type == 'tag' || (github.ref == 'refs/heads/main' && github.event_name != 'pull_request')
uses: actions/upload-artifact@v3
with:
name: charts
path: tmp

release:
name: Release Build
if: github.ref_type == 'tag' || (github.ref == 'refs/heads/main' && github.event_name != 'pull_request')
needs: build-extension-artifact
runs-on: ubuntu-latest
permissions:
actions: write
contents: write
deployments: write
pages: write
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: "${{ env.TARGET_BRANCH }}"

- name: Configure Git
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
- name: Download build artifact
uses: actions/download-artifact@v3
with:
name: charts

- name: Commit build
run: |
git add ./{assets,charts,extensions,index.yaml}
git commit -a -m "${{ env.CI_COMMIT_MESSAGE }}"
git push
- name: Run chart-releaser
uses: helm/[email protected]
with:
charts_dir: ./charts/*
env:
CR_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
CR_SKIP_EXISTING: true

0 comments on commit 44e3dba

Please sign in to comment.