From b60f83056d39b89a5caa09cc09eb669378808932 Mon Sep 17 00:00:00 2001 From: MinUk Song Date: Wed, 12 Jun 2024 12:12:29 +0900 Subject: [PATCH] fix: Update readme and delete duplicate code --- README.md | 143 +++++++++++++++++++++++++++++++++++++++++++++++--- img.png | Bin 0 -> 37703 bytes lib/plugin.ts | 2 +- 3 files changed, 138 insertions(+), 7 deletions(-) create mode 100644 img.png diff --git a/README.md b/README.md index 1d1b85d..da66e93 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,144 @@ -# semantic-release-gitlabmonorepo +

🦊 @pubgcorp/semantic-release-gitlabmonorepo

-To install dependencies: +

Semantic Release GitLab Monorepo Plugin

+ +

+ A semantic-release plugin for GitLab monorepo. +

+ +

+ + NPM version + +

+ +--- + +| Step | Description | +|--------------------|---------------------------------------------------------------------------| +| `verifyConditions` | Verify the presence of some requirements environment and config variable. | +| `publish` | Push a Git Assets for the package. | + +## Install ```bash -npm install +npm install -D @pubgcorp/semantic-release-gitlabmonorepo ``` -To build: +## Usage -```bash -npm run build +The plugin can be used by adding it to the `plugins` field in the `release` configuration of your `package.json`. + +.releaserc +```json +{ + "plugins": [ + "@semantic-release/commit-analyzer", + "@semantic-release/release-notes-generator", + [ + "@semantic-release/changelog", + { + "changelogFile": "CHANGELOG.md" + } + ], + "@semantic-release/npm", + [ + "@pubgcorp/semantic-release-gitlabmonorepo", + { + "gitlabUrl": "https://gitlab.tythonic.com", + "assets": [ + { + "path": "CHANGELOG.md" + }, + { + "path": "package.json" + } + ] + } + ] + ] +} +``` + +Root CI configuration: + +```yaml +stages: + - publish + +.publish: + stage: publish + before_script: + - npm ci + script: + - cd ${PACKAGE_PATH} + - npx semantic-release + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + changes: + paths: + - $PACKAGE_PATH/**/* + +include: + - local: "**/.gitlab-ci.yml" +``` + +Each package CI configuration: + +```yaml +my-package.publish: + extends: .publish + variables: + PACKAGE_PATH: my-package ``` + +With this configurations, the plugin will push the `CHANGELOG.md` and `package.json` files to the GitLab repository. + +## Configuration + +### Gitlab authentication + +The GitLab authentication is done using the `GITLAB_TOKEN` or `GITLAB_ACCESS_TOKEN` environment variable. The token must +have the `api` scope. + +### Environment variables + +| Variable | Description | +|-----------------------------------------|---------------------------------------------------------| +| `GITLAB_TOKEN` or `GITLAB_ACCESS_TOKEN` | *Required.* The token used to authenticate with GitLab. | +| `CI_SERVER_URL` | *Optional.* The gitlab endpoint. | +| `CI_PROJECT_ID` or `CI_PROJECT_PATH` | *Optional.* The project identifier. | + +The above environment variables are automatically set by GitLab CI/CD. + +If you are using this plugin on GitLab CI/CD, you don't need to set any environment variables. + +### GitLab Monorepo Plugin Options + +| Option | Description | Default | +|---------------|--------------------------------------------------------|------------------------------------------------------------------------------------------| +| `gitlabUrl` | *Optional.* The GitLab URL. | `CI_SERVER_URL` environment variable or `https://gitlab.com` | +| `projectId` | *Optional.* The GitLab project ID. | `CI_PROJECT_ID` or `CI_PROJECT_PATH` environment variable or read from git `origin` url. | +| `commitTitle` | *Optional.* The commit title message to pushed assets. | `chore(release): ${nextRelease.name} [skip ci]` | +| `branchName` | *Optional.* The branch name to merge each assets. | `assets/${commit.short}` | +| `assets` | *Optional.* The assets to be pushed. | `[]` | + +## commitTitle and branchName template + +The `commitTitle` and `branchName` options support the following template variables: + +| Variable | Description | +|------------------------|------------------------| +| `nextRelease.name` | The release version. | +| `nextRelease.type` | The release type. | +| `nextRelease.notes` | The release notes. | +| `lastRelease.version` | The release version. | +| `lastRelease.gitTag` | The release git tag. | +| `lastRelease.channels` | The release channels. | +| `lastRelease.gitHead` | The release git head. | +| `lastRelease.name` | The release name. | +| `branch` | The branch name. | +| `commit.full` | The full commit hash. | +| `commit.short` | The short commit hash. | + +![img.png](img.png) diff --git a/img.png b/img.png new file mode 100644 index 0000000000000000000000000000000000000000..9bd57bcc8f16591854d878f612e561046c7b6ee5 GIT binary patch literal 37703 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 AG5`Po literal 0 HcmV?d00001 diff --git a/lib/plugin.ts b/lib/plugin.ts index c51d742..d7d5cdd 100644 --- a/lib/plugin.ts +++ b/lib/plugin.ts @@ -28,7 +28,7 @@ export interface PluginConfig { export function resolvePluginConfig(userConfig: UserConfig, context: VerifyConditionsContext): PluginConfig { assertUserConfig(userConfig); - const gitlabUrl = userConfig.gitlabUrl || context.env['CI_SERVER_URL'] || context.env['CI_SERVER_URL'] || 'https://gitlab.com'; + const gitlabUrl = userConfig.gitlabUrl || context.env['CI_SERVER_URL'] || 'https://gitlab.com'; let projectId = userConfig.projectId || context.env['CI_PROJECT_ID'] || context.env['CI_PROJECT_PATH'] || getProjectId(getOriginUrl(context)); if (projectId.includes('/')) { projectId = encodeURIComponent(projectId);