Promote :: refs/tags/opa-gatekeeper-v3.14.1-kbst.0 #181
Workflow file for this run
This file contains 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: Promote | |
run-name: 'Promote :: ${{ github.ref }}' | |
on: workflow_dispatch | |
jobs: | |
# | |
# | |
# Promote tagged releases | |
# from `dev.catalog.kubestack.com` to `catalog.kubestack.com` | |
promote-gcs: | |
runs-on: ubuntu-latest | |
# promote only for tags | |
if: startsWith(github.ref, 'refs/tags/') | |
permissions: | |
id-token: write | |
steps: | |
# Setup gcloud CLI | |
- uses: google-github-actions/[email protected] | |
with: | |
workload_identity_provider: projects/168092815911/locations/global/workloadIdentityPools/oidc/providers/github | |
service_account: github-actions-catalog-uploade@nice-road-159709.iam.gserviceaccount.com | |
- uses: google-github-actions/[email protected] | |
# Promote archive | |
- run: | | |
export TAG=$(echo $GITHUB_REF | sed -e "s#^refs/tags/##") | |
export NAME=$(echo $TAG | sed -r 's#-v[0-9]+.*$##') | |
set +e | |
while true | |
do | |
gsutil cp gs://dev.catalog.kubestack.com/module-${NAME}-${GITHUB_SHA}.zip gs://catalog.kubestack.com/module-${TAG}.zip &&\ | |
break | |
sleep 15 | |
done | |
# Check promotion | |
- name: Check promotion | |
run: | | |
export TAG=$(echo $GITHUB_REF | sed -e "s#^refs/tags/##") | |
wget https://storage.googleapis.com/catalog.kubestack.com/module-${TAG}.zip | |
promote-gh: | |
runs-on: ubuntu-latest | |
# promote only for tags | |
if: startsWith(github.ref, 'refs/tags/') | |
steps: | |
- uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.MODULES_PAT }} | |
script: | | |
const nameVersion = context.ref.replace("refs/tags/", "") | |
const name = nameVersion.replace(/-v[0-9]+.*$/i, "") | |
const version = nameVersion.replace(`${name}-`, "") | |
const targetOwner = "kubestack-modules" | |
const targetRepo = `terraform-kustomization-${name}` | |
const targetRef = `refs/tags/${version}` | |
const refResp = await github.rest.git.getRef({ | |
owner: targetOwner, | |
repo: targetRepo, | |
ref: context.ref.replace("refs/tags/", "heads/release-"), | |
}); | |
await github.rest.git.createRef({ | |
owner: targetOwner, | |
repo: targetRepo, | |
ref: targetRef, | |
sha: refResp.data.object.sha, | |
}); |