-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Hien To
committed
Oct 16, 2023
1 parent
56f72c9
commit 9a8ca61
Showing
11 changed files
with
6,182 additions
and
6,468 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
name: Publish plugins/$dir Package to npmjs | ||
on: | ||
push: | ||
branches: | ||
- main | ||
paths: | ||
- "plugins/**" | ||
- ".github/workflows/publish-plugins.yml" | ||
- "!plugins/*/package.json" | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
environment: production | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: "0" | ||
token: ${{ secrets.PAT_SERVICE_ACCOUNT }} | ||
|
||
- name: Install jq | ||
uses: dcarbone/[email protected] | ||
|
||
- name: Check Path Change | ||
run: | | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "Service Account" | ||
echo "Changes in these directories trigger the build:" | ||
changed_dirs=$(git -c http.extraheader="AUTHORIZATION: bearer ${{ secrets.GITHUB_TOKEN }}" diff --name-only HEAD HEAD~1 | grep 'plugins/' | awk -F/ '{print $2}' | uniq) | ||
echo $changed_dirs > /tmp/change_dir.txt | ||
- name: "Auto Increase package Version" | ||
run: | | ||
cd plugins | ||
for dir in $(cat /tmp/change_dir.txt) | ||
do | ||
echo "$dir" | ||
# Extract current version | ||
current_version=$(jq -r '.version' $dir/package.json) | ||
# Break the version into its components | ||
major_version=$(echo $current_version | cut -d "." -f 1) | ||
minor_version=$(echo $current_version | cut -d "." -f 2) | ||
patch_version=$(echo $current_version | cut -d "." -f 3) | ||
# Increment the patch version by one | ||
new_patch_version=$((patch_version+1)) | ||
# Construct the new version | ||
new_version="$major_version.$minor_version.$new_patch_version" | ||
# Replace the old version with the new version in package.json | ||
jq --arg version "$new_version" '.version = $version' $dir/package.json > /tmp/package.json && mv /tmp/package.json $dir/package.json | ||
# Print the new version | ||
echo "Updated $dir package.json version to: $new_version" | ||
done | ||
# Setup .npmrc file to publish to npm | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: "20.x" | ||
registry-url: "https://registry.npmjs.org" | ||
|
||
- name: Publish npm packages | ||
run: | | ||
cd plugins | ||
for dir in $(cat /tmp/change_dir.txt) | ||
do | ||
echo $dir | ||
cd $dir | ||
npm install && npm run build | ||
npm publish --access public | ||
cd .. | ||
done | ||
env: | ||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
|
||
- name: "Commit new version to main and create tag" | ||
run: | | ||
for dir in $(cat /tmp/change_dir.txt) | ||
do | ||
echo "$dir" | ||
version=$(jq -r '.version' plugins/$dir/package.json) | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "Service Account" | ||
git add plugins/$dir/package.json | ||
git commit -m "${GITHUB_REPOSITORY}: Update tag build $version for $dir" | ||
git -c http.extraheader="AUTHORIZATION: bearer ${{ secrets.PAT_SERVICE_ACCOUNT }}" push origin HEAD:main | ||
git tag -a $dir-$version -m "${GITHUB_REPOSITORY}: Update tag build $version for $dir" | ||
git -c http.extraheader="AUTHORIZATION: bearer ${{ secrets.PAT_SERVICE_ACCOUNT }}" push origin $dir-$version | ||
done |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.