Pass release tag as env var in version action

This commit is contained in:
Erfan Besharat 2020-12-18 18:58:57 +03:30
parent f66b60be2c
commit 0aa43760af

View file

@ -1,6 +1,8 @@
name: Bump "package.json" Version
on:
release:
types: [prereleased, released, published]
types: [prereleased, released]
jobs:
version-bump:
@ -8,23 +10,24 @@ jobs:
steps:
- uses: actions/checkout@master
with:
persist-credentials: true
persist-credentials: false
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
- name: Get the last API TAG and current version in package.json
run: |
export RELEASE_TAG=$(curl -sS -X GET -G \
-d max=300 \
-H 'Accept: application/json' https://api.github.com/repos/shocknet/api/tags | jq -r '.[0].name')
export RELEASE_TAG=$(git describe --tags --abbrev=0) && \
echo "VERSION=${RELEASE_TAG}" >> $GITHUB_ENV
export API_TAG=$(cat ./package.json | jq -r '.version')
echo $(if [ "$API_TAG" = "$RELEASE_TAG" ]; then echo "UPGRADEABLE=true"; else echo "UPGRADEABLE=false"; fi) >> $GITHUB_ENV
echo $(if [ "$API_TAG" = "$RELEASE_TAG" ]; then echo "UPGRADEABLE=false"; else echo "UPGRADEABLE=true"; fi) >> $GITHUB_ENV
- name: Update and Commit files
if: ${{ env.UPGRADEABLE == 'true' }}
run: |
echo $(cat ./package.json | jq -r --arg API_TAG "$API_TAG" '.version = $API_TAG') > package.json
cat ./package.json | jq -r --arg API_TAG "${{ env.VERSION }}" '.version = $API_TAG' | tee a.json && mv a.json package.json
git config --local user.email "actions@shock.network"
git config --local user.name "Version Update Action"
git commit -m "version upgraded to ${API_TAG}" -a
git commit -m "version upgraded to ${{ env.VERSION }}" -a
- name: Push changes
if: ${{ env.UPGRADEABLE == 'true' }}
uses: ad-m/github-push-action@master