Add Github Action to automatically push from main to latest when no changeset (#1529)

* Add CI for updates on main to latest

* Add folder checking on .changeset

* Check JSON value of changeset

* Update push script on action

* Update commit and push job
This commit is contained in:
Elian ☕️ 2021-10-11 21:56:50 +02:00 committed by GitHub
parent 0ff5c87a27
commit 5ef1bf6e7d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

54
.github/workflows/updatelatest.yml vendored Normal file
View file

@ -0,0 +1,54 @@
name: 'Update Latest from main'
on:
push:
branches:
- "main"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
update:
name: check for updates in .changeset
runs-on: ubuntu-latest
outputs:
run_job: ${{ steps.check_files.outputs.run_job }}
steps:
- name: checkout git branch
uses: actions/checkout@v2
- name: Install all dependencies
run: yarn
- name: check modified files
run: npx changeset status --output ./status.json
- name: check output
id: check_files
run: |
output=`echo $(cat status.json)`
if [[ $output = '{ "changesets": [], "releases": [] }' ]]
then
echo 'No changeset found'
echo "::set-output name=run_job::true"
else
echo 'changes found, push to latest skipped'
echo "::set-output name=run_job::false"
fi
update_latest_branch:
name: Update the latest branch
needs: update
if: needs.update.outputs.run_job == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Push
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: latest