Merge pull request #71 from contentstack/staging #22
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
name: Releases | |
on: | |
push: | |
branches: [main] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- uses: actions/[email protected] | |
with: | |
node-version: "18.x" | |
- run: npm install | |
- name: install npm packall | |
run: npm install npm-pack-all | |
- run: node node_modules/.bin/npm-pack-all | |
# The below action will see the existing tags and will bump the current ones and this is only used to check whether the given tag already exists or not | |
# We will be using the previous tag to compare with the current tag in the package.json | |
# If both match then no new release would be triggered | |
# Else New release will be created | |
- name: Bump version and push tag | |
id: tag_version | |
uses: mathieudutour/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
default_bump: false | |
# Getting the version info from package.json | |
- name: get-npm-version | |
id: package-version | |
uses: martinbeentjes/[email protected] | |
# Here we are checking whether this is the first release or not and then checking if it is release or not | |
- name: check-first-release | |
env: | |
First_Release: ${{steps.tag_version.outputs.previous_tag=='v0.0.0'}} | |
run: | | |
if ${First_Release} == true; then | |
echo "fr=true" >> $GITHUB_ENV | |
echo "flag set to true" | |
else | |
echo "fr=false" >> $GITHUB_ENV | |
echo "flag set to false" | |
fi | |
- name: check-release-version | |
if: ${{env.fr=='false'}} | |
env: | |
old_version: ${{steps.tag_version.outputs.previous_tag}} | |
new_version: v${{steps.package-version.outputs.current-version}} | |
run: | | |
echo ${old_version} | |
echo ${new_version} | |
echo ${{env.old_version==env.new_version}} | |
if ${{env.old_version!=env.new_version}}; then | |
echo "fr=true" >> $GITHUB_ENV | |
echo "flag set to true" | |
else | |
echo "fr=false" >> $GITHUB_ENV | |
echo "flag set to false" | |
fi | |
- name: github-release | |
if: ${{env.fr=='true'}} | |
id: github-release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: gh release create v${{ steps.package-version.outputs.current-version }} --title "Release ${{ steps.package-version.outputs.current-version }}" --generate-notes ./contentstack-cli-cm-regex-validate-${{ steps.package-version.outputs.current-version }}.tgz |