-
Notifications
You must be signed in to change notification settings - Fork 30
95 lines (93 loc) · 3.7 KB
/
release-chart.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
name: Release Helm Chart
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+**'
branches:
- 'release/**'
jobs:
release-chart:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v22
- name: Pre-populate nix-shell
run: |
export NIX_PATH=nixpkgs=$(jq '.nixpkgs.url' nix/sources.json -r)
echo "NIX_PATH=$NIX_PATH" >> $GITHUB_ENV
nix-shell --pure --run "echo" ./scripts/helm/shell.nix
- name: Publish locally in the workspace
run: |
if [ "${{ github.ref_type }}" == "tag" ]; then
tag="${{ github.ref_name }}"
# Publish the Chart.yaml locally
# Note this does not commit the Chart.yaml changes this the branch
nix-shell --pure --run "./scripts/helm/publish-chart-yaml.sh --app-tag "$tag"" ./scripts/helm/shell.nix
else
branch="${{ github.ref_name }}"
nix-shell --pure --run "./scripts/helm/publish-chart-yaml.sh --check-chart "$branch"" ./scripts/helm/shell.nix
fi
nix-shell --pure --run "SKIP_GIT=1 ./scripts/helm/generate-readme.sh" ./scripts/helm/shell.nix
- name: Publish Mayastor Helm chart
uses: stefanprodan/[email protected]
if: ${{ github.ref_type == 'tag' }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
charts_dir: .
update-chart:
runs-on: ubuntu-latest
if: ${{ github.ref_type == 'tag' }}
needs:
- release-chart
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: cachix/install-nix-action@v22
- name: Pre-populate nix-shell
run: |
export NIX_PATH=nixpkgs=$(jq '.nixpkgs.url' nix/sources.json -r)
echo "NIX_PATH=$NIX_PATH" >> $GITHUB_ENV
nix-shell --pure --run "echo" ./scripts/helm/shell.nix
- name: Publish locally in the workspace
run: |
tag="${{ github.ref_name }}"
BASE_REF="${{ github.event.base_ref }}"
BRANCH="${BASE_REF#refs/heads/}"
nix-shell --pure --run "./scripts/helm/publish-chart-yaml.sh --released "$tag" --released-branch "$BRANCH"" ./scripts/helm/shell.nix
nix-shell --pure --run "SKIP_GIT=1 ./scripts/helm/generate-readme.sh" ./scripts/helm/shell.nix
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v5
with:
commit-message: "chore(ci): update future helm chart versions"
committer: GitHub <[email protected]>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
title: Bump future helm chart version on the release branch
labels: |
update-release-branch
automated-pr
draft: false
signoff: true
delete-branch: true
branch-suffix: "random"
base: ${{ github.event.base_ref }}
token: ${{ secrets.ORG_CI_GITHUB }}
- name: Approve Pull Request by CI Bot
if: ${{ steps.cpr.outputs.pull-request-number }}
run: |
gh pr review ${{ steps.cpr.outputs.pull-request-number }} --approve
env:
GH_TOKEN: ${{ github.token }}
- name: Approve Pull Request by CI User
if: ${{ steps.cpr.outputs.pull-request-number }}
run: |
gh pr review ${{ steps.cpr.outputs.pull-request-number }} --approve
env:
GH_TOKEN: ${{ secrets.ORG_CI_GITHUB_2 }}
- name: Bors Merge Pull Request
if: ${{ steps.cpr.outputs.pull-request-number }}
run: |
gh pr comment ${{ steps.cpr.outputs.pull-request-number }} --body "bors merge"
env:
GH_TOKEN: ${{ secrets.ORG_CI_GITHUB }}