diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 000000000..2df026f81 --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,45 @@ +name: release-please + +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + +jobs: + pull-request: + runs-on: ubuntu-22.04 + outputs: + releases_created: ${{steps.release.outputs.releases_created}} + paths_released: ${{steps.release.outputs.paths_released}} + steps: + - uses: google-github-actions/release-please-action@v4 + id: release + with: + token: ${{secrets.GH_OPENUI5BOT}} + publish-package: + needs: pull-request + if: ${{needs.pull-request.outputs.releases_created && toJson(fromJson(needs.pull-request.outputs.paths_released)) != '[]'}} + runs-on: ubuntu-22.04 + permissions: + id-token: write + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Use Node.js 21.x + uses: actions/setup-node@v4 + with: + node-version: 21.x + - name: Install dependencies + run: npm ci + - name: Run build + run: npm run build + - name: Publish to NPM + env: + NPM_TOKEN: ${{secrets.NPM_UI5BOT}} + run: | + echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}' >> ./.npmrc + npm publish --provenance --access public diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 000000000..b7888c913 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "0.0.1" +} diff --git a/package.json b/package.json index ff6589177..0b4283ff9 100644 --- a/package.json +++ b/package.json @@ -40,12 +40,11 @@ }, "files": [ "CHANGELOG.md", - "CONTRIBUTING.md", - "bin/**", - "lib/**", "LICENSES/**", - ".reuse/**", - "resources/**" + "lib/**", + "npm-shrinkwrap.json", + "resources/**", + ".reuse/**" ], "engines": { "node": "^18.14.2 || ^20.11.0 || >=21.2.0", diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 000000000..d2eaf626a --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,69 @@ +{ + "packages": { + ".": { + "pull-request-header": ":tractor: New release prepared", + "pull-request-title-pattern": "release: v${version}", + "bump-minor-pre-major": true, + "bump-patch-for-minor-pre-major": true, + "prerelease": true, + "release-as": "0.1.0", + "changelog-sections": [ + { + "type": "feat", + "section": "Features" + }, + { + "type": "fix", + "section": "Bug Fixes" + }, + { + "type": "perf", + "section": "Performance Improvements" + }, + { + "type": "deps", + "section": "Dependencies" + }, + { + "type": "revert", + "section": "Reverts" + }, + { + "type": "docs", + "section": "Documentation", + "hidden": true + }, + { + "type": "style", + "section": "Styles", + "hidden": true + }, + { + "type": "refactor", + "section": "Code Refactoring", + "hidden": true + }, + { + "type": "test", + "section": "Tests", + "hidden": true + }, + { + "type": "build", + "section": "Automation", + "hidden": true + }, + { + "type": "ci", + "section": "Continuous Integration", + "hidden": true + }, + { + "type": "release", + "section": "Release", + "hidden": true + } + ] + } + } +}