name: CI/CD on: pull_request: # Runs whenever a pull request is created or updated push: # Runs whenever a commit is pushed to the repository branches: [main, master, develop, beta, hotfix/*] # ...on any of these branches workflow_dispatch: # Allows you to run this workflow manually from the Actions tab concurrency: group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' cancel-in-progress: true permissions: contents: write # publish a GitHub release pages: write # deploy to GitHub Pages issues: write # comment on released issues pull-requests: write # comment on released pull requests jobs: ci-cd: runs-on: ubuntu-latest steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: wagoid/commitlint-github-action@5ce82f5d814d4010519d15f0552aec4f17a1e1fe # v5 if: github.event_name == 'pull_request' - uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3 with: cache: 'npm' node-version-file: '.nvmrc' - name: Info run: | echo "Node version: $(node --version)" echo "NPM version: $(npm --version)" - run: npm ci - run: npm test - name: Release env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: npx --no -- semantic-release