From 7fd6b777a63e097f8be8f1bd3f7c3e92cbc0fc0f Mon Sep 17 00:00:00 2001 From: witmicko Date: Tue, 12 Dec 2023 11:00:11 +0000 Subject: [PATCH] Action allowing us to publish backported changes (#130) * gh action for backport release --- .../workflows/publish-gh-pages-backport.yml | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/publish-gh-pages-backport.yml diff --git a/.github/workflows/publish-gh-pages-backport.yml b/.github/workflows/publish-gh-pages-backport.yml new file mode 100644 index 0000000..3f56806 --- /dev/null +++ b/.github/workflows/publish-gh-pages-backport.yml @@ -0,0 +1,63 @@ +name: Publish Backport GitHub Pages +# This workflow can be used to backport a release from a tag to the gh-pages branch +# This is useful when you want to backport a release to the gh-pages branch +# Most likely you will want to check and update BASE_REF and VERSIONS env variables +# @BASE_REF: the tag you want to backport from +# @VERSIONS: the versions you want to backport to + +on: + workflow_dispatch: + +env: + BASE_REF: v2.0.1-with-backported-fixes + VERSIONS: v1.0.0,v1.1.0,v1.2.1,v1.2.2,v2.0.0,v2.0.1,v2.1.0 +jobs: + publish-to-gh-pages: + name: Publish to GitHub Pages + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout the repository + uses: actions/checkout@v3 + with: + ref: ${{ env.BASE_REF }} + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'yarn' + - name: Install npm dependencies + run: yarn --immutable + - name: Run build script + run: | + yarn build:prod + + - name: Checkout gh-pages + uses: actions/checkout@v3 + with: + ref: 'gh-pages' + path: 'gh-pages' + + - name: prep for pr + run: | + IFS=',' read -ra VERSION_ARRAY <<< ${{ env.VERSIONS }} + for version in "${VERSION_ARRAY[@]}"; do + rm -rf "gh-pages/${version}"/* + cp -r dist/* "gh-pages/${version}/" + done + + - name: Commit files + run: | + cd gh-pages + git config user.name "GitHub Actions Bot" + git config user.email "<>" + git status + git remote --verbose + git branch -D gh-pages-backport || true + git checkout -b gh-pages-backport + git add . + git commit -m "Update gh-pages" + git push origin gh-pages-backport -f + echo "Pushed build changes to gh-pages-backport" + echo "REMEMBER TO CREATE A PR FROM gh-pages-backport TO gh-pages"