{"id":48281220,"url":"https://github.com/adaptlearning/semantic-release-config","last_synced_at":"2026-04-04T22:46:45.763Z","repository":{"id":346564910,"uuid":"1190544772","full_name":"adaptlearning/semantic-release-config","owner":"adaptlearning","description":"Shared semantic-release config for Adapt repos","archived":false,"fork":false,"pushed_at":"2026-04-01T13:31:08.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-01T15:27:13.574Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adaptlearning.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-24T11:42:43.000Z","updated_at":"2026-04-01T13:31:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/adaptlearning/semantic-release-config","commit_stats":null,"previous_names":["adaptlearning/semantic-release-config"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/adaptlearning/semantic-release-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptlearning%2Fsemantic-release-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptlearning%2Fsemantic-release-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptlearning%2Fsemantic-release-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptlearning%2Fsemantic-release-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adaptlearning","download_url":"https://codeload.github.com/adaptlearning/semantic-release-config/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptlearning%2Fsemantic-release-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31418270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-04T22:46:44.818Z","updated_at":"2026-04-04T22:46:45.748Z","avatar_url":"https://github.com/adaptlearning.png","language":"JavaScript","readme":"# Adapt semantic-release-config\n\nShared [semantic-release](https://github.com/semantic-release/semantic-release) configuration and reusable GitHub Actions workflow for Adapt repos.\n\n## What's included\n\n- **Shared config** (`index.js`) — commit analyzer and release notes using the [ESLint preset](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-eslint), plus npm, GitHub, and git plugins\n- **Reusable workflow** (`.github/workflows/release.yml`) — a GitHub Actions workflow that runs semantic-release on push to the default branch\n\n## Setup\n\n### 1. Install the config package\n\n```bash\nnpm install --save-dev @adaptlearning/semantic-release-config\n```\n\n### 2. Add release config to `package.json`\n\nReplace any inline `release` config with:\n\n```json\n{\n  \"release\": {\n    \"extends\": \"@adaptlearning/semantic-release-config\"\n  }\n}\n```\n\n### 3. Remove redundant devDependencies\n\nThe following are now provided by this package or the `semantic-release` package, and can be removed from your `devDependencies`:\n\n- `semantic-release`\n- `@semantic-release/commit-analyzer`\n- `@semantic-release/git`\n- `@semantic-release/github`\n- `@semantic-release/npm`\n- `@semantic-release/release-notes-generator`\n- `conventional-changelog-eslint`\n\n### 4. Use the reusable workflow\n\nReplace your `.github/workflows/releases.yml` with:\n\n```yaml\nname: Release\n\non:\n  push:\n    branches:\n      - master\n\npermissions:\n  contents: write\n  issues: write\n  pull-requests: write\n  id-token: write\n\njobs:\n  release:\n    uses: adaptlearning/semantic-release-config/.github/workflows/release.yml@master\n```\n\n\u003e **Important note on permissions:**\n\u003e\n\u003e The `permissions` block is required in the calling workflow. GitHub Actions only grants permissions that are explicitly listed — once a `permissions` key is present, any unlisted permission defaults to `none`. These are needed for semantic-release to push tags, comment on issues/PRs, and for trusted publishing via OIDC.\n\n## Trusted publishing\n\nTrusted publishing lets GitHub Actions publish to npm without long-lived access tokens. Instead, npm verifies the identity of the GitHub Actions workflow using OpenID Connect (OIDC). This means no `NPM_TOKEN` secret to manage or rotate, and published packages include a provenance attestation linking them back to the exact source commit and workflow run.\n\n### GitHub repo setup\n\nThe calling workflow must include the following permissions (see step 3 above):\n\n- `contents: write` — push version tags and create GitHub releases\n- `issues: write` — comment on released issues\n- `pull-requests: write` — comment on released pull requests\n- `id-token: write` — request an OIDC token for trusted publishing\n\n### npm package setup\n\nEach npm package needs to be linked to its GitHub repo on npmjs.com:\n\n1. Go to **npmjs.com** \u003e your package \u003e **Settings** \u003e **Publishing access**\n2. Under **Trusted publishing**, click **Add new provider**\n3. Configure the provider:\n   - **Registry**: `GitHub Actions`\n   - **Repository owner**: the GitHub org (e.g. `adapt-security`)\n   - **Repository name**: the repo name (e.g. `adapt-authoring-core`)\n   - **Workflow filename**: `releases.yml`\n4. Save — the package can now only be published by the matching workflow\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadaptlearning%2Fsemantic-release-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadaptlearning%2Fsemantic-release-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadaptlearning%2Fsemantic-release-config/lists"}