Publish Backport GitHub Pages #1
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: 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" |