/semantic-release-gh-pages-plugin

github-pages publishing plugin for semantic-release

Primary LanguageTypeScriptMIT LicenseMIT

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

Build Status npm (tag) dependencyStatus Test Coverage Maintainability Greenkeeper badge CodeStyle

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 updated v{{=it.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