Add compile step in backfix (#2261) #49
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: Back-fix changelog PR or Release | |
on: | |
push: | |
# Add calver branches - Do not add current calver branch | |
# Example: If we are currently on 2023-07, do not add 2023-07 | |
branches: | |
- 2024-04 | |
concurrency: | |
group: changeset-2024-04 | |
cancel-in-progress: true | |
jobs: | |
changelog: | |
runs-on: ubuntu-latest | |
if: github.repository_owner == 'shopify' | |
name: Back-fix changelog PR or Release | |
# Uncomment "outputs" section if you need the "compile" job to work | |
outputs: | |
published: ${{ steps.changesets.outputs.published }} | |
latest: ${{ env.latest }} | |
steps: | |
# Uncomment "Flags" section if you need the "compile" job to work | |
- name: Flags | |
id: flags | |
run: | | |
echo "latest=${{ github.ref_name == '2024-04' }}" >> $GITHUB_ENV | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
# This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits | |
with: | |
fetch-depth: 0 | |
- name: ⎔ Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
cache: 'npm' | |
cache-dependency-path: '**/package-lock.json' | |
- name: Install the packages | |
run: npm ci --legacy-peer-deps | |
- name: Format release with Prettier | |
run: npm run format | |
- name: Build the dist code | |
run: npm run build | |
- name: Create Back-fix Release Pull Request or Publish (for back-fix release) | |
id: changesets | |
uses: changesets/action@v1 | |
with: | |
version: npm run version | |
# Use this command to publish back-fix release onto specific major version npm tag | |
# publish: npm run changeset -- publish --tag ${{ github.ref_name }} | |
# Use this command to publish back-fix release onto latest npm tag if the next major release is not ready yet | |
publish: npm run changeset -- publish | |
commit: '[ci] back-fix release ${{ github.ref_name }}' | |
title: '[ci] back-fix release ${{ github.ref_name }}' | |
env: | |
GITHUB_TOKEN: ${{ secrets.SHOPIFY_GH_ACCESS_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
# Uncomment the "compile" job so that we continue making latest releases on the back-fix branch | |
# before we switch to the next major version | |
compile: | |
needs: changelog | |
# Only compile templates if a release was published, and we're on the "latest" release branch | |
if: needs.changelog.outputs.published == 'true' && needs.changelog.outputs.latest == 'true' | |
runs-on: ubuntu-latest | |
name: Compile the typescript templates and push them to main | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Install the packages | |
run: npm install --frozen-lockfile --ignore-engines | |
- name: Build the dist code | |
run: npm run build | |
- name: Compile skeleton | |
run: | | |
node scripts/compile-template-for-dist.mjs skeleton | |
(cd templates/skeleton-js && npm i --package-lock-only --workspaces false) | |
(cd templates/skeleton-ts && npm i --package-lock-only --workspaces false) | |
- name: Update templates in the dist branch | |
run: | | |
git add . | |
git status | |
git config user.email "[email protected]" | |
git config user.name "Hydrogen Bot" | |
git show-ref | |
git commit -m "Update templates for dist" | |
git push origin HEAD:dist --force |