Skip to content

Merge pull request #35 from brionmario/changeset-release/main #5

Merge pull request #35 from brionmario/changeset-release/main

Merge pull request #35 from brionmario/changeset-release/main #5

Workflow file for this run

# This workflow will release the packages with Changesets
name: πŸš€ Release
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
GTM_CONTAINER_ID: ${{ secrets.GTM_CONTAINER_ID }}
SITE_URL: ${{ secrets.SITE_URL }}
jobs:
release:
name: πŸš€ Release
strategy:
matrix:
os: [ubuntu-latest]
node-version: [lts/*]
pnpm-version: [latest]
runs-on: ${{ matrix.os }}
steps:
- name: ⬇️ Checkout
id: checkout
uses: actions/[email protected]
with:
fetch-depth: 0
- name: 🟒 Setup node
id: setup-node
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: πŸ₯‘ Setup pnpm
id: setup-pnpm
uses: pnpm/[email protected]
with:
version: ${{ matrix.pnpm-version }}
run_install: false
- name: 🎈 Get pnpm store directory
id: get-pnpm-cache-dir
run: |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
- name: πŸ”† Cache pnpm modules
uses: actions/cache@v3
id: pnpm-cache
with:
path: ${{ steps.get-pnpm-cache-dir.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: 🧩 Install Dependencies
id: install-dependencies
run: pnpm install
- name: πŸ—οΈ Build
id: build-the-mono-repo
run: |
cd app
# Duplicate env.sample to .env.local
cp .env.local.sample .env.local
# Set the Google Tag Manager container ID
sed -i "s/NEXT_PUBLIC_GTM_CONTAINER_ID=\"\"/NEXT_PUBLIC_GTM_CONTAINER_ID='${{ env.GTM_CONTAINER_ID }}'/g" .env.local
# Set the deployed URL for site map generation purposes
sed -i "s/SITE_URL=\"http:\/\/localhost:3000\"/SITE_URL='${{ env.SITE_URL }}'/g" .env.local
cd ..
pnpm build
# SEO work
cd app
pnpm generate:site-map
- name: πŸ“£ Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
title: "chore(release): version packages"
publish: pnpm publish:packages
version: pnpm version:packages
commit: "chore(release): version packages πŸ¦‹"
env:
GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }}