gritzkoo-npm-poc
Version:
Poc to automate github actions deployment
83 lines (73 loc) • 2.56 kB
YAML
name: test
on:
- push
- pull_request
jobs:
vars:
name: Validate commit message pattern
runs-on: ubuntu-latest
steps:
- name: validate commit message to allow PR
run: |
TITLE="${{github.event.head_commit.message}}"
if [[ `echo $TITLE | grep -Eo "^\[[a-z]+\]"` ]]; then
TAGNN=`echo $TITLE | grep -Eo "^\[[a-z]+\]"`
if [ "$TAGNN" == "[major]" ]; then
echo "::set-output name=versioning::major"
elif [ "$TAGNN" == "[minor]" ]; then
echo "::set-output name=versioning::minor"
elif [ "$TAGNN" == "[patch]" ]; then
echo "::set-output name=versioning::path"
fi
else
echo "message out of pattern. needs [[major], [minor], [patch]]";
exit 1
fi
# test:
# runs-on: ubuntu-latest
# needs:
# - vars
# permissions:
# contents: write
# packages: write
# strategy:
# matrix:
# node-version: [16.x]
# steps:
# - name: Git Checkout
# uses: actions/checkout@v3
# - name: Verify permissions
# run: chmod 777 package.json
# - name: Configure Node.js ${{ matrix.node-version }}
# uses: actions/setup-node@v1
# with:
# node-version: ${{ matrix.node-version }}
# - name: Cache node_modules
# id: cache-modules
# uses: actions/cache@v2
# with:
# path: node_modules
# key: ${{ matrix.node-version }}-${{ runner.OS }}-build-${{ hashFiles('package.json') }}
# - name: Install npm in version ${{ matrix.node-version }}
# if: steps.cache-modules.outputs.cache-hit != 'true'
# run: npm install
# - name: Run test in version ${{ matrix.node-version }}
# run: npm run test
# env:
# CI: true
# - name: "Automated Version Bump"
# uses: "phips28/gh-action-bump-version@master"
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# skip-tag: "true"
# - name: Publish on NPM
# uses: mikeal/merge-release@master
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# - name: Create release
# run: |
# RELEASE_TAG=`git describe --tags`
# echo ${{ secrets.GITHUB_TOKEN }} | gh auth login --with-token
# gh release create ${RELEASE_TAG} --title "${RELEASE_TAG}"