Patch Release #5
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: Patch Release | |
on: | |
workflow_dispatch: | |
jobs: | |
patch-release: | |
runs-on: ubuntu-latest | |
environment: prod | |
steps: | |
- name: Extract branch name | |
shell: bash | |
id: extract_branch | |
run: | | |
echo "BRANCH=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_ENV | |
echo "Branch: " $BRANCH | |
- name: checkout patch branch | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ env.BRANCH }} | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: 'npm' | |
registry-url: 'https://registry.npmjs.org' | |
- name: Get new version string | |
id: get_new_patch_version | |
run: | | |
chmod +rx ./.github/workflows/scripts/new-patch-version.sh | |
. ./.github/workflows/scripts/new-patch-version.sh | |
shell: bash | |
- name: See patch branch | |
run: echo branch ${{ env.BRANCH }} | |
shell: bash | |
- name: See new patch version | |
run: echo "# version:" ${{ env.VERSION }} | |
shell: bash | |
- name: checkout master branch | |
uses: actions/checkout@v3 | |
with: | |
ref: master | |
fetch-depth: 0 | |
- name: Set Git Config | |
run : | | |
# Set git configs | |
git config --global user.name "${GITHUB_ACTOR}" | |
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com" | |
- name: Update Version on master | |
id: update_backport_version_master | |
run: | | |
jq --arg ver "${{ env.VERSION }}" '.versions += [$ver]' ./documentation/versions.json >> /tmp/temp.json | |
mv /tmp/temp.json ./documentation/versions.json | |
git add . && git commit -m "Docs: Add ${{ env.VERSION }} to versions.json" | |
git push | |
- name: checkout unstable branch | |
uses: actions/checkout@v3 | |
with: | |
ref: unstable | |
fetch-depth: 0 | |
- name: Update Version on unstable | |
id: update_backport_version_unstable | |
run: | | |
jq --arg ver "${{ env.VERSION }}" '.versions += [$ver]' ./documentation/versions.json >> /tmp/temp.json | |
mv /tmp/temp.json ./documentation/versions.json | |
git add . && git commit -m "Docs: Add ${{ env.VERSION }} to versions.json" | |
git push | |
git checkout ${{ env.BRANCH }} | |
- name: Install dependencies | |
run: npm install | |
- name: Run tests | |
run : | | |
npm test | |
- name: Set Git Config | |
run : | | |
# Set git configs | |
git config --global user.name "${GITHUB_ACTOR}" | |
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com" | |
- name: Pre Release Tests | |
id: release | |
run: | | |
chmod +rx .github/workflows/scripts/pre_release_test.sh | |
. .github/workflows/scripts/pre_release_test.sh ${{ env.BRANCH }} | |
- name: Archive action failure results | |
uses: actions/upload-artifact@v3 | |
if: ${{ failure() && steps.release.conclusion == 'failure' }} | |
with: | |
name: npm-release--failure-report | |
path: /home/runner/.npm/_logs/ | |
- name: Publish Package To npmjs | |
run: npm publish | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
- name: Publish Package to GitHub Releases | |
run: | | |
curl -L \ | |
-X POST \ | |
-H "Accept: application/vnd.github+json" \ | |
-H "Authorization: Bearer ${{ secrets.MAIN_GH_TOKEN }}" \ | |
-H "X-GitHub-Api-Version: 2022-11-28" \ | |
https://api.github.com/repos/${{ github.repository }}/releases \ | |
-d '{"tag_name":"v${{ env.VERSION }}","target_commitish":"master","name":"v${{ env.VERSION }}","body":"Release version v${{ env.VERSION }}","draft":false,"prerelease":false,"generate_release_notes":false}' | |
- name: Deploy to Github Pages 🚀 | |
if: ${{ env.BRANCH == 'master' }} | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
folder: documentation |