Skip to content

Check for version update. #14

Check for version update.

Check for version update. #14

name: Build and Commit
on:
push:
branches:
- master
- build-and-commit # For testing purposes
pull_request:
branches:
- master
- build-and-commit # For testing purposes
workflow_dispatch:
jobs:
check-version:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '21'
- name: Get current package version
id: current_version
run: echo "::set-output name=version::$(jq -r .version package.json)"
- name: Get base branch package version
run: |
git fetch origin master
BASE_VERSION=$(git show origin/master:package.json | jq -r .version)
echo "::set-output name=base_version::$BASE_VERSION"
id: base_version
- name: Compare versions
run: |
if [ "${{ steps.current_version.outputs.version }}" == "${{ steps.base_version.outputs.base_version }}" ]; then
echo "Package version has not been updated."
echo "::set-output name=version_updated::false"
else
echo "Package version has been updated."
echo "::set-output name=version_updated::true"
fi
- name: Set status check
run: |
if [ "${{ steps.compare_versions.outputs.version_updated }}" == "false" ]; then
echo "Version check failed" > check_version_status.txt
exit 1
else
echo "Version check passed" > check_version_status.txt
fi
id: set_status
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '21'
- name: Install dependencies
run: npm install
- name: Build project
run: npm run build
- name: Check for changes
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git add .
if git diff-index --quiet HEAD; then
echo "No changes to commit"
else
git commit -m "Build: Commit changes after build"
git push
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '21'
- name: Install dependencies
run: npm install
- name: Run Cypress tests
run: npm run test