/semantic-release-gh-pages-plugin

github-pages publishing plugin for semantic-release

Primary LanguageTypeScriptMIT LicenseMIT

@qiwi/semantic-release-gh-pages-plugin

Build Status Deps Test Coverage Maintainability CodeStyle npm (tag)

gh-pages publishing plugin for semantic-release

Step Description
verifyConditions Verify the presence of the GH_TOKEN set via environment variables.
publish Pushes commit to the documentation branch

Install

yarn add @qiwi/semantic-release-gh-pages-plugin --dev

or

npm add @qiwi/semantic-release-gh-pages-plugin -D

Usage

Describe plugin configuration in package.json / .releaserc.js

{
  "release": {
    "branch": "master",
    "verifyConditions": [
      "@semantic-release/changelog",
      "@semantic-release/npm",
      "@semantic-release/git",
      "@qiwi/semantic-release-gh-pages-plugin"
    ],
    "publish": [
      "@semantic-release/npm",
      "@semantic-release/github",
      [
        "@qiwi/semantic-release-gh-pages-plugin",
        {
          "msg": "updated",
          "branch": "docs"
        }
      ]
    ]
  }
}

or even shorter if default settings are used:

{
  "release": {
    "branch": "master",
    "plugins": [
      "@semantic-release/release-notes-generator",
      "@semantic-release/changelog",
      "@semantic-release/git",
      "@semantic-release/github",
      "@semantic-release/npm",
      "@qiwi/semantic-release-gh-pages-plugin"
    ]
  }
}

Configuration

Environment variables
Variable Description
GH_TOKEN or GITHUB_TOKEN Required. The token used to authenticate with GitHub.
Options
Option Description Default
msg Commit message template docs updated <%= nextRelease.gitTag %>
src Documentation directory docs

NOTE don't forget to run docs builder (yarn docs, yarn typedoc, etc) as a part of your build step or any other way
dst Destination directory . (root)
branch Docs branch to push gh-pages
repositoryUrl Repository url inherited from .git
enterprise Disables host assertion for GitHub Enterprise domains false
pullTagsBranch Target branch for tags fetching hook. If '' empty string, skips this action globalConfig.branch || master