diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 180a84f02..e2883fe3e 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -1,26 +1,16 @@ name: Release + on: push: branches: - master + +permissions: + contents: write + issues: write + pull-requests: write + id-token: write + jobs: release: - name: Release - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - token: ${{ secrets.RELEASES_TOKEN }} - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: 'lts/*' - - name: Install dependencies - run: npm ci - - name: Release - env: - GITHUB_TOKEN: ${{ secrets.RELEASES_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - run: npx semantic-release + uses: adaptlearning/semantic-release-config/.github/workflows/release.yml@master diff --git a/.releaserc b/.releaserc deleted file mode 100644 index 137693be5..000000000 --- a/.releaserc +++ /dev/null @@ -1,19 +0,0 @@ -{ - "plugins": [ - "@semantic-release/commit-analyzer", - "@semantic-release/release-notes-generator", - "@semantic-release/npm", - "@semantic-release/github", - [ - "@semantic-release/git", - { - "assets": [ - "package.json", - "package-lock.json" - ], - "message": "Chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" - } - ] - ], - "preset": "eslint" -} diff --git a/package-lock.json b/package-lock.json index f1819fb28..da1d9bf08 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,8 +56,7 @@ "underscore-deep-extend": "^1.1.5" }, "devDependencies": { - "@semantic-release/git": "^10.0.1", - "conventional-changelog-eslint": "^5.0.0", + "@adaptlearning/semantic-release-config": "^1.0.2", "cypress": "^13.6.3", "eslint": "^8.49.0", "eslint-config-standard": "^17.1.0", @@ -72,7 +71,6 @@ "jest-environment-adapt": "^1.0.0", "react": "17.0.2", "react-dom": "17.0.2", - "semantic-release": "^25.0.2", "wait-on": "^8.0.3" }, "engines": { @@ -146,6 +144,24 @@ "dev": true, "license": "MIT" }, + "node_modules/@adaptlearning/semantic-release-config": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@adaptlearning/semantic-release-config/-/semantic-release-config-1.0.3.tgz", + "integrity": "sha512-XdRFgKtRYrFU2NxVksizF/OfJe5wuDxstMXlOitUkiInsAPpAt2rUSsoLUf9lhgwdmhx9UNjhKH6rW3cNHFZag==", + "dev": true, + "license": "GPL-3.0", + "dependencies": { + "@semantic-release/git": "^10.0.1", + "conventional-changelog-eslint": "^6.0.0", + "semantic-release": "^25.0.2" + }, + "peerDependencies": { + "@semantic-release/commit-analyzer": "^13.0.0", + "@semantic-release/github": "^12.0.0", + "@semantic-release/npm": "^13.0.0", + "@semantic-release/release-notes-generator": "^14.0.0" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -186,7 +202,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", @@ -2943,7 +2958,6 @@ "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -3151,7 +3165,6 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -4077,7 +4090,6 @@ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", "devOptional": true, - "peer": true, "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -4287,7 +4299,6 @@ "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5961,7 +5972,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -6712,12 +6722,13 @@ } }, "node_modules/conventional-changelog-eslint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-5.0.0.tgz", - "integrity": "sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-6.1.0.tgz", + "integrity": "sha512-beWr3qzuEMN9gznMWa8PhTVfGkGXoq+XnUzViNXg5KygrgV728ZRqZngz3uPhz5+ayUhPrpNFYqIE0qHWz9NAw==", "dev": true, + "license": "ISC", "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/conventional-changelog-writer": { @@ -8111,7 +8122,6 @@ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dev": true, - "peer": true, "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" @@ -8560,7 +8570,6 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "dev": true, - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -8770,7 +8779,6 @@ "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.8", @@ -8834,7 +8842,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.2.0.tgz", "integrity": "sha512-AQER2jEyQOt1LG6JkGJCCIFotzmlcCZFur2wdKrp1JX2cNotC7Ae0BcD/4lLv3lUAArM9uNS8z/fsvXTd0L71g==", "dev": true, - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", @@ -8890,7 +8897,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, - "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -10498,7 +10504,6 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz", "integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==", - "peer": true, "dependencies": { "dateformat": "~4.6.2", "eventemitter2": "~0.4.13", @@ -15480,7 +15485,6 @@ "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", "dev": true, "license": "MIT", - "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -17925,7 +17929,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -19651,7 +19654,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "dev": true, - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -20175,7 +20177,6 @@ "version": "2.79.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", - "peer": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -20384,7 +20385,6 @@ "integrity": "sha512-6qGjWccl5yoyugHt3jTgztJ9Y0JVzyH8/Voc/D8PlLat9pwxQYXz7W1Dpnq5h0/G5GCYGUaDSlYcyk3AMh5A6g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/error": "^4.0.0", @@ -22310,7 +22310,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, diff --git a/package.json b/package.json index f1537b819..10cb2d545 100644 --- a/package.json +++ b/package.json @@ -65,9 +65,11 @@ "underscore": "^1.13.1", "underscore-deep-extend": "^1.1.5" }, + "release": { + "extends": "@adaptlearning/semantic-release-config" + }, "devDependencies": { - "@semantic-release/git": "^10.0.1", - "conventional-changelog-eslint": "^5.0.0", + "@adaptlearning/semantic-release-config": "^1.0.2", "cypress": "^13.6.3", "eslint": "^8.49.0", "eslint-config-standard": "^17.1.0", @@ -82,7 +84,6 @@ "jest-environment-adapt": "^1.0.0", "react": "17.0.2", "react-dom": "17.0.2", - "semantic-release": "^25.0.2", "wait-on": "^8.0.3" }, "optionalDependencies": {