diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a3ef832..0cf50dc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,10 +18,10 @@ jobs: steps: - name: Setup repo - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Setup Deno - uses: denoland/setup-deno@v2 + uses: denoland/setup-deno@22d081ff2d3a40755e97629de92e3bcbfa7cf2ed # v2.0.5 with: deno-version: v2.x diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index f7c6a09..0000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,29 +0,0 @@ -# Publish new versions, but run the step only if 'deno.json' changed. - -name: Publish - -on: - push: - branches: - - main - paths: - - deno.json - -jobs: - publish: - runs-on: ubuntu-latest - - permissions: - contents: read - id-token: write - - steps: - - uses: actions/checkout@v7 - - - name: Setup Deno - uses: denoland/setup-deno@v2 - with: - deno-version: v2.x - - - name: Publish package - run: deno publish diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e94768a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,37 @@ +name: Release + +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + id-token: write + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - name: Run Release Please + id: release + uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0 + with: + config-file: release-please-config.json + manifest-file: .release-please-manifest.json + + - name: Checkout repository + if: ${{ steps.release.outputs.release_created == 'true' }} + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + + - name: Setup Deno + if: ${{ steps.release.outputs.release_created == 'true' }} + uses: denoland/setup-deno@22d081ff2d3a40755e97629de92e3bcbfa7cf2ed # v2.0.5 + with: + deno-version: v2.x + + - name: Publish package to JSR + if: ${{ steps.release.outputs.release_created == 'true' }} + run: deno publish diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000..02f17d9 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "0.8.1" +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bc23aae..42850b4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,4 +30,17 @@ This project follows All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more -information on using pull requests. \ No newline at end of file +information on using pull requests. + +### Commit messages + +This repository uses [Conventional Commits](https://www.conventionalcommits.org/) +and [Release Please](https://github.com/googleapis/release-please) for automated +versioning and changelog generation. + +PR titles and commit messages should follow the format: + +* `feat: ...` for new features (triggers a `minor` version bump) +* `fix: ...` for bug fixes (triggers a `patch` version bump) +* `feat!: ...` or `fix!: ...` for breaking changes (triggers a `major` version bump) +* `docs: ...`, `chore: ...`, `ci: ...`, `test: ...` for maintenance changes \ No newline at end of file diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..878bc0c --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "packages": { + ".": { + "release-type": "simple", + "package-name": "@chrome-devtools/source-map-scopes-codec", + "extra-files": [ + { + "type": "json", + "path": "deno.json", + "jsonpath": "$.version" + } + ] + } + } +}