Skip to content

Merge pull request #1539 from aligent/dependabot/github_actions/main/… #25

Merge pull request #1539 from aligent/dependabot/github_actions/main/…

Merge pull request #1539 from aligent/dependabot/github_actions/main/… #25

name: Release
on:
push:
branches:
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
release:
name: 🚀 Release
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
steps:
- name: Checkout Repository
uses: actions/checkout@v5
with:
# This makes Actions fetch all Git history so Changesets can generate changelogs with the correct commits
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version-file: ".nvmrc"
cache: "yarn"
registry-url: https://registry.npmjs.org/
- name: Install Dependencies
run: yarn install --frozen-lockfile
- name: Build All Packages
run: yarn nx run-many --target=build --all
- name: Run Tests
run: yarn nx run-many --target=test --all
- name: Configure Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Create Release Pull Request or Publish to NPM
id: changesets
uses: changesets/action@e0145edc7d9d8679003495b11f87bd8ef63c0cba # v1.5.3
with:
# This expects you to have a script called release which does a build for your packages and calls changeset publish
publish: yarn release
version: yarn changeset:version-and-install
title: "chore: release packages"
commit: "chore: release packages"
createGithubReleases: true
setupGitUser: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Publish Release Info
if: steps.changesets.outputs.published == 'true'
run: |
echo "🎉 Published packages:"
echo '${{ steps.changesets.outputs.publishedPackages }}' | jq -r '.[] | "- \(.name)@\(.version)"'