Skip to content

feat/workflow

feat/workflow #60

Workflow file for this run

name: Version
on:
pull_request:
types: [closed]
branches:
- master
jobs:
run:
name: Version
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: master
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: '18.13'
- name: Install
run: yarn install
env:
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
- name: Version
run: yarn workspaces changed foreach --no-private --verbose version patch --deferred
env:
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
- name: Install jq
run: sudo apt-get install -y jq
- name: Check for dependency version changes
run: |
set -x
CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r HEAD | grep 'package.json' || true)
echo "Changed Files: $CHANGED_FILES"
if [[ -z "$CHANGED_FILES" ]]; then
echo "No package.json files were changed."
exit 0
fi
for FILE in $CHANGED_FILES; do
echo "Checking file: $FILE"
# Extract old and new version for @atls dependencies
OLD_VERSIONS=$(git show HEAD~1:$FILE | jq '.dependencies | with_entries(select(.key | startswith("@atls/"))) | .[]' || echo "No old versions")
echo "Old Versions: $OLD_VERSIONS"
NEW_VERSIONS=$(cat $FILE | jq '.dependencies | with_entries(select(.key | startswith("@atls/"))) | .[]')
echo "New Versions: $NEW_VERSIONS"
# Check if old and new versions are different
if [[ "$OLD_VERSIONS" != "$NEW_VERSIONS" ]]; then
echo "VERSION_CHANGED=true" >> $GITHUB_ENV
break
fi
done
shell: bash
- name: Generate Badges
if: env.VERSION_CHANGED == 'true'
run: yarn badges generate
- name: Commit changes
uses: EndBug/add-and-commit@v9
env:
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
with:
author_name: Atls Github Bot
author_email: [email protected]
message: 'chore(common): versions'
branch: master