Skip to content

Build and Release Extension Charts #56

Build and Release Extension Charts

Build and Release Extension Charts #56

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 Nodejs with yarn caching
uses: actions/setup-node@v4
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install dependencies
run: yarn
- name: Parse Extension Name
if: github.ref_type == 'tag'
id: parsed-name
env:
GH_TOKEN: ${{ github.token }}
run: |
#!/usr/bin/env bash
set -eo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
BASE_DIR="$(
cd $SCRIPT_DIR && cd ../.. &
pwd
)"
git clone https://github.com/rancher/dashboard.git
cd ${BASE_DIR}/dashboard
git checkout master
./shell/scripts/extension/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