Skip to content

ci(Release): version icons-pack/react-simple-icons (#220) #114

ci(Release): version icons-pack/react-simple-icons (#220)

ci(Release): version icons-pack/react-simple-icons (#220) #114

Workflow file for this run

# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
name: Release ReactSimpleIcons
on:
push:
branches:
- main
release:
types: [created]
env:
TURBO_VERSION: ${{ vars.TURBO_VERSION }}
PNPM_VERSION: ${{ vars.PNPM_VERSION }}
jobs:
publish-npm:
name: Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 18
registry-url: https://registry.npmjs.org/
# We use week in the turbo cache key to keep the cache from infinitely growing
- id: get-week
run: echo name=WEEK::$(date +%U) >> $GITHUB_OUTPUT
- name: Turbo Cache
id: turbo-cache
uses: actions/cache@v3
with:
path: .turbo
key: turbo-${{ github.job }}-${{ github.ref_name }}-${{ steps.get-week.outputs.WEEK }}-${{ github.sha }}
restore-keys: |
turbo-${{ github.job }}-${{ github.ref_name }}-${{ steps.get-week.outputs.WEEK }}-
turbo-${{ github.job }}-canary-${{ steps.get-week.outputs.WEEK }}-
- name: 🔥 Installing pnpm
run: |
corepack enable
corepack prepare pnpm@${{ env.PNPM_VERSION }} --activate
- name: Setup TURBO
run: |
npm add -g turbo@${{ env.TURBO_VERSION }}
- name: 📦 Install dependencies
run: |
pnpm install --no-frozen-lockfile
- name: 🔥 generate:icons
run: pnpm turbo run generate:icons
- name: 💣 build
run: pnpm turbo run build
- name: 🔥 bundlesize
run: pnpm bundlesize
- name: Create Release Pull Request or Publish to GitHub Packages 📦
uses: changesets/action@v1
with:
publish: pnpm release
commit: 'ci(Release): version icons-pack/react-simple-icons'
title: 'ci(Release): version icons-pack/react-simple-icons'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}