name: 'Publish' on: workflow_dispatch: permissions: contents: write jobs: version: runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v4 with: fetch-depth: 100 fetch-tags: true - name: Use Node.js uses: actions/setup-node@v4 with: node-version: 'latest' - name: Install lint shell: bash run: | npm install -g @commitlint/cli @commitlint/config-conventional if [ ! -f "commitlint.config.js" ]; then echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js fi - name: Lint Commit Message if: github.event_name == 'push' shell: bash run: commitlint --from=HEAD~2 --verbose - name: Lint Pull Request if: github.event_name == 'pull_request' shell: bash run: commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose - name: "Get Previous tag" id: previoustagold uses: "WyriHaximus/github-action-get-previous-tag@v1" - name: Conventional Changelog Action id: changelog if: github.ref_name == 'main' uses: TriPSs/conventional-changelog-action@v6 with: github-token: ${{ github.token }} git-url: ${{ github.server_url != 'https://github.com' && 'git.yusufali.ca' || 'github.com' }} tag-prefix: "" output-file: false skip-version-file: true skip-commit: true skip-ci: false skip-tag: ${{ github.ref_name != 'main' }} fallback-version: ${{ steps.previoustagold.outputs.tag }}