Skip to content

Merge pull request #4 from Eslam3bed/new-dummy-tests #17

Merge pull request #4 from Eslam3bed/new-dummy-tests

Merge pull request #4 from Eslam3bed/new-dummy-tests #17

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches:
- main
release:
types: [published]
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm run test
- name: Build the package
run: npm run build
- name: Bump version and generate changelog
run: |
git config --global user.name 'Eslam3bed'
git config --global user.email '[email protected]'
npm run release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Commit changelog and version bump
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
# Check if there are any changes to commit
if ! git diff --quiet; then
git add .
git commit -m "chore(release): $(node -p -e "require('./package.json').version") [skip ci]"
git tag v$(node -p -e "require('./package.json').version")
echo "::set-output name=version_bumped::true"
else
echo "No changes to commit."
echo "::set-output name=version_bumped::true"
fi
- name: Push changes to main branch
run: git push --follow-tags
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish to npm
if: github.event_name == 'release' && github.event.action == 'published'
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Create a release on GitHub
uses: softprops/action-gh-release@v1
with:
files: dist/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}