Skip to content

🚀 Release packages #9

🚀 Release packages

🚀 Release packages #9

Workflow file for this run

###############################################################################
# RELEASE
###############################################################################
name: 🚀 Release packages
on:
# push:
# branches:
# - main
workflow_dispatch:
concurrency: ${{ github.workflow }}-${{ github.ref }}
env:
GITHUB_TOKEN: ${{ github.token }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN_ALEJO }}
###############################################################################
# JOBS
###############################################################################
jobs:
release-lib:
name: 🚀 Release
runs-on: macos-latest
timeout-minutes: 10
steps:
#########################################################################
# INIT & INSTALL
#########################################################################
- name: ⬇️ Checkout
uses: actions/checkout@v4
- name: '📦 Setup jq'
uses: dcarbone/install-jq-action@v2
- name: 🟢 Setup node
uses: actions/setup-node@v3
with:
node-version: 20
- name: 🥡 Install pnpm
uses: pnpm/action-setup@v3
- name: Check GitHub API Rate Limit
id: rate_limit
run: |
response=$(gh api rate_limit)
limit=$(echo $response | jq -r '.resources.core.limit')
remaining=$(echo $response | jq -r '.resources.core.remaining')
echo "GitHub API Rate Limit: $remaining/$limit"
if [ "$remaining" -lt 10 ]; then
exit 1
fi
env:
GH_TOKEN: ${{ env.GITHUB_TOKEN }}
- name: 🧩 Install dependencies
run: |
pnpm install --no-frozen-lockfile
#########################################################################
# BUILD
#########################################################################
# - name: 🏗 Build
# run: |
# pnpm build
#########################################################################
# PUBLISH
#########################################################################
- name: 📣 Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
title: "chore(release): version packages 🦋"
publish: pnpm exec changeset publish
version: pnpm exec changeset version
commit: "chore(release): version packages 🦋 [skip ci]"
createGithubReleases: false
env:
GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }}
NPM_TOKEN: ${{ env.NPM_TOKEN }}
- name: Get updated versions if exists
id: updated
run: |
core_version=$(echo '${{ steps.changesets.outputs.publishedPackages }}' | jq -r 'map(select(.name == "create-personality")) | .[0].version // empty' )
core_version_major=${core_version%%.*}
echo Set changesets outputs
echo '${{ steps.changesets.outputs }}'
echo Set updated versions
echo "CORE=$core_version CORE_MAJOR=$core_version_major"
echo "core_version=$core_version" >> $GITHUB_OUTPUT
# - name: Release binary
# if: ${{ steps.updated.outputs.core_version != '' }}
# uses: ncipollo/release-action@v1
# with:
# tag: "v${{ steps.updated.outputs.core_version }}"
# draft: false
# prerelease: false
# allowUpdates: true
# artifacts: "build/zip/*"
# omitBodyDuringUpdate: true
###############################################################################