Compare commits

..
39 Commits
Author SHA1 Message Date
8a7befe96b fix(deps): update dependency marked-terminal to v6
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 17:15:55 -05:00
993bf59af9 ci(action): update actions/checkout digest to 8ade135 (#2976)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 20:30:25 +00:00
94d50ed934 ci(action): update actions/checkout action to v4.1.0 (#2977)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 19:37:53 +00:00
Matt TraviandGitHub bd4725b041 Merge pull request #2972 from semantic-release/stable-plugins
fix(deps): upgraded `release-notes-generator` and `commit-analyzer` plugins to stable versions
2023-09-21 07:32:08 -05:00
Matt Travi 041e4f7e37 fix(deps): upgraded release-notes-generator and commit-analyzer plugins to stable versions
follow up to #2934
2023-09-20 16:50:51 -05:00
1c8d848a4f ci(action): update github/codeql-action action to v2.21.8 (#2969)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-19 11:13:27 +00:00
Matt TraviandGitHub 2822fbee5d Merge pull request #2963 from semantic-release/always-test 2023-09-18 07:33:49 -05:00
2a67c65328 chore(deps): lock file maintenance (#2967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-18 00:47:38 +00:00
Matt Travi 87f0c12cf6 ci(matrix): prevent skipping the test job when test_matrix fails
for #semantic-release/.github#19
2023-09-17 10:23:40 -05:00
Matt TraviandGitHub 11788ed5dc Merge pull request #2934 from semantic-release/beta 2023-09-16 14:03:51 -05:00
Matt Travi b93bef4eea feat(node-versions): raised the minimum supported node version w/in the v20 range to v20.6.1
because of a known issue with v20.6.0 that we might as well avoid since we are restricting the
supported ranges at this point anyway: https://github.com/nodejs/node/issues/49497

BREAKING CHANGE: the minimum supported version for the v20 range of node has been raised slightly to
v20.6.1 to avoid a known node bug
2023-09-16 13:43:05 -05:00
Matt Travi 6604153812 Merge branch 'master' of github.com:semantic-release/semantic-release into beta 2023-09-16 11:59:52 -05:00
Matt Travi e623cc642a feat(node-versions): raised the minimum node v20 requirement to v20.6
for auto-registered loader support

BREAKING CHANGE: the minimum supported node version in the v20 major range is now v20.6
2023-09-16 11:52:49 -05:00
42f7b8269e chore(deps): update dependency testdouble to v3.19.0 (#2961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-16 13:52:55 +00:00
1017e1aac2 fix(deps): update dependency aggregate-error to v5 (#2956)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-15 23:41:01 -05:00
Matt Travi a23b71890b fix(deps): upgraded to the latest version of the npm plugin with npm v10 2023-09-15 16:06:44 -05:00
Matt Travi fb850ff26d Merge branch 'master' of github.com:semantic-release/semantic-release into beta 2023-09-15 15:49:37 -05:00
Matt Travi b9f294d179 feat(node-versions): raised the minimum required node version to v18.17 and dropped v19 support
npm v20 requires v18.17

BREAKING CHANGE: node v18.17 is now the minimum supported node version and support for v19 has been dropped
2023-09-15 15:39:49 -05:00
Matt Travi 03a687b3ea fix(deps): updated to the latest beta of the commit analyzer plugin 2023-09-15 13:23:18 -05:00
86a639dee9 ci(action): update github/codeql-action action to v2.21.7 (#2958)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-14 17:19:37 +00:00
da5620171e chore(deps): update dependency sinon to v16 (#2954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-13 22:55:16 +00:00
89d51e7db7 ci(action): update github/codeql-action action to v2.21.6 (#2953)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-13 18:13:04 +00:00
Matt Travi de8e4e05e9 fix(deps): updated to the latest betas of the commit-analyzer and release-notes-generator plugins 2023-09-11 20:55:11 -05:00
0fd3bb8b3a chore(deps): lock file maintenance (#2948)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-11 10:47:23 -07:00
c39513f24d ci(action): update actions/upload-artifact action to v3.1.3 (#2943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-06 22:46:55 +00:00
Simon SeyockandGitHub 6a5d96102d docs(plugins): add @terrestris/maven-semantic-release (#2939) 2023-09-05 21:21:41 +00:00
19c09653fe ci(action): update actions/checkout action to v4 (#2938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-04 14:53:20 +00:00
32a248077f chore(deps): lock file maintenance (#2936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-04 01:53:23 +00:00
Matt Travi 72ab317bb0 feat: defined exports for the package
BREAKING CHANGE: exports prevents access to internal files, but they arent intended for public use anyway
2023-09-01 21:08:13 -05:00
Matt Travi 07a79ea7e9 feat(conventional-changelog-presets): supported new preset format
BREAKING CHANGE: the new preset format is a breaking change when compared to the previous preset format. updating to support the new format means that the old preset format is no longer supported. update your preset to the latest version to maintain compatibility
2023-09-01 17:23:14 -05:00
0d92579e13 chore(deps): update dependency prettier to v3.0.3 (#2930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-29 15:21:15 +00:00
cb6613e2ee ci(action): update github/codeql-action action to v2.21.5 (#2928)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-28 21:53:52 +00:00
9e10e44fed chore(deps): lock file maintenance (#2923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-28 02:40:27 +00:00
d3c1338eac chore(deps): update dependency p-retry to v6 (#2921)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-24 18:48:28 +00:00
01cb041e1d ci(action): update actions/checkout action to v3.6.0 (#2919)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-24 16:25:08 +00:00
Matt TraviandGitHub 4c95c97d8f fix(types): included the definitions file in the published package (#2920) 2023-08-24 11:20:48 -05:00
5e08c4d95a ci(action): update actions/checkout digest to f43a0e5 (#2918)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-24 14:42:30 +00:00
Matt TraviandGitHub c84d5d39e5 Merge pull request #2904 from semantic-release/gitlab-provenance 2023-08-23 21:17:58 -05:00
Matt Travi e40eecdce0 docs(gitlab): highlighted that GitLab CI is now a supported CI provider for provenance 2023-08-11 15:40:18 -05:00
10 changed files with 845 additions and 871 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
name: release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
- uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
with:
cache: npm
+3 -3
View File
@@ -15,7 +15,7 @@ jobs:
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
with:
persist-credentials: false
- name: Run analysis
@@ -25,12 +25,12 @@ jobs:
results_format: sarif
publish_results: true
- name: Upload artifact
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: SARIF file
path: results.sarif
retention-days: 5
- name: Upload to code-scanning
uses: github/codeql-action/upload-sarif@a09933a12a80f87b87005513f0abb1494c27a716 # v2.21.4
uses: github/codeql-action/upload-sarif@6a28655e3dcb49cb0840ea372fd6d17733edd8a4 # v2.21.8
with:
sarif_file: results.sarif
+16 -4
View File
@@ -15,19 +15,24 @@ on:
permissions:
contents: read # to fetch code (actions/checkout)
env:
FORCE_COLOR: 1
NPM_CONFIG_COLOR: always
jobs:
test_matrix:
strategy:
matrix:
node-version:
- 18.0.0
- 19
- 18.17.0
- 20.6.1
- 20
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
- run: git config --global user.name github-actions
- run: git config --global user.email github-actions@github.com
- name: Use Node.js ${{ matrix.node-version }}
@@ -45,8 +50,9 @@ jobs:
test:
runs-on: ubuntu-latest
needs: test_matrix
if: always()
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
- uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
with:
node-version: lts/*
@@ -54,3 +60,9 @@ jobs:
- run: npm clean-install
- run: npm audit signatures
- run: npm run lint
- name: All matrix versions passed
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: exit 0
- name: Some matrix version failed
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1
+1
View File
@@ -0,0 +1 @@
v18
+5
View File
@@ -84,6 +84,11 @@
- `verifyRelease`: Checks and warns (does not error by default) if the version numbers found on maven central and within the Git project differ by quite a bit
- `prepare`: Changes the version number in the `pom.xml` (or all `pom.xml` files in maven projects with multiple `pom.xml` files) and optionally creates a commit with this version number and pushes it to `master`
- `publish`: Runs `mvn deploy` to deploy to maven central and optionally will update to next snapshot version and merge changes to development branch
- [maven-semantic-release](https://github.com/terrestris/maven-semantic-release) (alternative version)
- `verifyConditions`: Verifies that the `mvn` command exists.
- `prepare`: Changes version number in `pom.xml` and optionally in all child modules.
- `publish`: Runs one of the mvn targets `deploy`, `package jib:build` or `deploy jib:build`.
- `success`: Optionally sets new snapshot version and commits it.
- [semantic-release-ado](https://github.com/lluchmk/semantic-release-ado)
- `prepare`: Stores the version number as an Azure DevOps pipeline variable available to downstream steps on the job
- [gradle-semantic-release](https://github.com/KengoTODA/gradle-semantic-release-plugin)
@@ -6,6 +6,11 @@ The [Authentication](../../usage/ci-configuration.md#authentication) environment
**Note**: Make sure to configure your release branch as [protected](https://docs.gitlab.com/ce/user/project/protected_branches.html) in order for the CI/CD build to access the protected variables.
## npm provenance
Since GitLab CI is a [supported provider](https://docs.npmjs.com/generating-provenance-statements#provenance-limitations) for [npm provenance](https://docs.npmjs.com/generating-provenance-statements), it is recommended to enable this to increase supply-chain security for your npm packages.
Find more detail about configuring npm to publish with provenance through semantic-release [in the documentation for our npm plugin](https://github.com/semantic-release/npm#npm-provenance).
## Node project configuration
GitLab CI supports [Pipelines](https://docs.gitlab.com/ee/ci/pipelines.html) allowing to test on multiple Node versions and publishing a release only when all test pass.
+796 -848
View File
File diff suppressed because it is too large Load Diff
+14 -11
View File
@@ -8,6 +8,7 @@
"files": [
"test/**/*.test.js"
],
"failFast": true,
"nodeArguments": [
"--loader=testdouble",
"--no-warnings"
@@ -26,12 +27,12 @@
"Matt Travi <npm@travi.org> (https://matt.travi.org/)"
],
"dependencies": {
"@semantic-release/commit-analyzer": "^10.0.0",
"@semantic-release/commit-analyzer": "^11.0.0",
"@semantic-release/error": "^4.0.0",
"@semantic-release/github": "^9.0.0",
"@semantic-release/npm": "^10.0.2",
"@semantic-release/release-notes-generator": "^11.0.0",
"aggregate-error": "^4.0.1",
"@semantic-release/npm": "^11.0.0",
"@semantic-release/release-notes-generator": "^12.0.0",
"aggregate-error": "^5.0.0",
"cosmiconfig": "^8.0.0",
"debug": "^4.0.0",
"env-ci": "^9.0.0",
@@ -44,7 +45,7 @@
"hosted-git-info": "^7.0.0",
"lodash-es": "^4.17.21",
"marked": "^5.0.0",
"marked-terminal": "^5.1.1",
"marked-terminal": "^6.0.0",
"micromatch": "^4.0.2",
"p-each-series": "^3.0.0",
"p-reduce": "^3.0.0",
@@ -67,20 +68,22 @@
"js-yaml": "4.1.0",
"mockserver-client": "5.15.0",
"nock": "13.3.3",
"p-retry": "5.1.2",
"prettier": "3.0.2",
"sinon": "15.2.0",
"p-retry": "6.0.0",
"prettier": "3.0.3",
"sinon": "16.0.0",
"stream-buffers": "3.0.2",
"tempy": "3.1.0",
"testdouble": "3.18.0"
"testdouble": "3.19.0"
},
"engines": {
"node": ">=18"
"node": "^18.17 || >=20.6.1"
},
"exports": "./index.js",
"files": [
"bin",
"docs",
"lib",
"index.d.ts",
"index.js",
"cli.js"
],
@@ -97,7 +100,7 @@
"version"
],
"license": "MIT",
"main": "index.js",
"main": "./index.js",
"types": "index.d.ts",
"c8": {
"include": [
+1 -1
View File
@@ -43,7 +43,7 @@ export async function initGit(withRemote) {
*
* @param {Boolean} withRemote `true` to create a shallow clone of a bare repository.
* @param {String} [branch='master'] The branch to initialize.
* @return {String} The path of the clone if `withRemote` is `true`, the path of the repository otherwise.
* @return {Promise<Object>} The path of the clone if `withRemote` is `true`, the path of the repository otherwise.
*/
export async function gitRepo(withRemote, branch = "master") {
let { cwd, repositoryUrl } = await initGit(withRemote);
+3 -3
View File
@@ -35,7 +35,7 @@ let env;
// Environment variables used only for the local npm command used to do verification
const npmTestEnv = {
...process.env,
...processEnvWithoutGitHubActionsVariables,
...npmRegistry.authEnv(),
npm_config_registry: npmRegistry.url,
};
@@ -516,8 +516,8 @@ test("Pass options via CLI arguments", async (t) => {
});
test("Run via JS API", async (t) => {
td.replace("../lib/logger", { log: () => {}, error: () => {}, stdout: () => {} });
td.replace("env-ci", () => ({ isCi: true, branch: "master", isPr: false }));
await td.replaceEsm("../lib/logger", null, { log: () => {}, error: () => {}, stdout: () => {} });
await td.replaceEsm("env-ci", null, () => ({ isCi: true, branch: "master", isPr: false }));
const semanticRelease = (await import("../index.js")).default;
const packageName = "test-js-api";
const owner = "git";