Skip to content

Commit

Permalink
changing workflow (#14)
Browse files Browse the repository at this point in the history
  • Loading branch information
niclasheun authored Feb 7, 2025
1 parent 892e28e commit 74a730d
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 11 deletions.
58 changes: 47 additions & 11 deletions .github/workflows/publish-state-lib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,28 @@ on:
push:
branches:
- main
# This restricts the workflow to run only if files in `prompt-shared-state/` changed.
paths:
- 'prompt-shared-state/**'

permissions:
contents: write # Allows committing the version bump back to the repo
contents: write # Required for creating branches/PRs
pull-requests: write # Required for opening pull requests

env:
NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}

jobs:
publish:
runs-on: ubuntu-latest

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '23.x'
node-version: '16.x'
registry-url: 'https://registry.npmjs.org'

- name: Enable Corepack
Expand Down Expand Up @@ -71,31 +72,66 @@ jobs:
;;
esac
- name: Commit version bump
- name: Commit version bump and push to new branch
id: commit_bump
run: |
# Configure git
git config user.name "github-actions"
git config user.email "[email protected]"
# Stage and commit changes if package.json or yarn.lock changed in subfolder
git add prompt-shared-state/package.json prompt-shared-state/yarn.lock || true
# Stage and commit changes if package.json or yarn.lock changed
git add prompt-shared-state/package.json prompt-shared-state/yarn.lock
if ! git diff --cached --exit-code; then
# Pull out the newly bumped version from package.json in subfolder
# Pull out the newly bumped version
NEW_VERSION=$(node -p "require('./prompt-shared-state/package.json').version")
git commit -m "chore: bump prompt-shared-state version to $NEW_VERSION [skip ci]"
git push origin HEAD:main
COMMIT_MSG="chore: bump prompt-shared-state version to $NEW_VERSION [skip ci]"
# Commit
git commit -m "$COMMIT_MSG"
# Create and push version-bump branch
BRANCH_NAME="chore/bump-prompt-shared-state-$NEW_VERSION"
git checkout -b "$BRANCH_NAME"
git push origin "$BRANCH_NAME"
echo "branch_name=$BRANCH_NAME" >> $GITHUB_OUTPUT
echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT
else
echo "No version bump commit required."
fi
- name: Create pull request
if: ${{ steps.commit_bump.outputs.branch_name != '' }}
uses: actions/github-script@v6

with:
script: |
const core = require('@actions/core');
const github = require('@actions/github');
const branchName = ${{ steps.commit_bump.outputs.branch_name }};
const newVersion = ${{ steps.commit_bump.outputs.new_version }};
const { data: pullRequest } = await github.pulls.create({
owner: github.context.repo.owner,
repo: github.context.repo.repo,
title: `chore: bump prompt-shared-state version to ${newVersion}`,
head: branchName,
base: 'main',
body: 'This pull request was automatically opened by the version bump workflow.',
draft: false
});
core.setOutput('pull_request_number', pullRequest.number);
- name: Build the package
env:
NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
if: ${{ steps.commit_bump.outputs.branch_name != '' }}
run: |
cd prompt-shared-state
yarn build
- name: Publish to npm
if: ${{ steps.commit_bump.outputs.branch_name != '' }}
env:
NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
run: |
Expand Down
2 changes: 2 additions & 0 deletions prompt-shared-state/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,5 @@ Include **one** of the following keywords in your commit message to indicate how
- Increments the patch version by default (e.g. `1.2.3``1.2.4`).

If you do not include `major` or `minor` in your commit message, the workflow will assume a **patch** update.

When the publishing worked, then a PR with a new version number has been opened. This shall be merged immediately.

0 comments on commit 74a730d

Please sign in to comment.