andrew-chen-wang/GitHub Wiki Action

📖 Deploy docs from your source tree to the GitHub wiki

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 18, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: andrew-chen-wang/github-wiki-action@64efa0a9436db17670a2259e0ac249d6f08bb352 # v5.0.4

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
directionSelect from 'push' or 'pull'. 'push' (the default) syncs the path folder to the GitHub wiki. 'pull' does the reverse: it clones the wiki, converts the pages back into source-friendly form (Home.md becomes README.md and bare wiki page links get the extension of the page they target back, in any markup format GitHub renders) when preprocess is enabled, and mirrors them into the path folder of your workspace. The ignore input is not applied in pull mode. Nothing is committed or pushed to your repository in pull mode; pair it with a PR-creating action like peter-evans/create-pull-request.yespush
strategySelect from 'clone' or 'init' to determine which method to use to push changes to the GitHub wiki. 'clone' will clone the .wiki.git repo and add an additional commit. 'init' will create a new repo with a single commit and force push to the .wiki.git. 'init' involves a force-push! The default is 'clone'.yesclone
repositoryThe repository housing the wiki. Use this if you're publishing to a wiki that's not the current repository. You can change the GitHub server with the github-server-url input. Default is github.repository.yes${{ github.repository }}
github-server-urlAn alternate https://github.com URL, usually for GitHub Enterprise deployments under your own domain. Default is github.server_url (usually https://github.com).yes${{ github.server_url }}
tokengithub.token is the default. This token is used when cloning and pushing wiki changes.yes${{ github.token }}
pathThe directory to use for your wiki contents. Default wiki.yeswiki
commit-messageThe message to use when committing new content. Default is 'Update wiki github.sha'. You probably don't need to change this, since this only applies if you look really closely in your wiki.yesUpdate wiki ${{ github.sha }}
ignoreA multiline list of files that should be ignored when committing and pushing to the remote wiki. Each line is a pattern like .gitignore. Make sure these paths are relative to the path option! The default is none.yes""
dry-runWhether or not to actually attempt to push changes back to the wiki itself. If this is set to true, we instead print the remote URL and do not push to the remote wiki. The default is false. This is useful for testing.yesfalse
preprocessIf this option is true, we will preprocess the wiki to move the README.md to Home.md as well as rewriting links to wiki pages (in any markup format GitHub renders, like .md, .rst, or .adoc) to be bare links. Relative links that point to other files in your repository (like a script or source file) are rewritten to full blob view URLs (raw URLs for images), mirroring how GitHub renders in-repo Markdown. This helps ensure that the Markdown works in source control as well as the wiki. The default is true.yestrue
disable-empty-commitsBy default, any triggering of this action will result in a commit to the Wiki, even if that commit is empty. If this option is true, a workflow run which would result in no changes to the Wiki files, will no longer create an empty commit. The default is false.nofalse
namedescription
wiki_urlThe HTTP URL that points to the deployed repository's wiki tab. This is essentially the concatenation of github.server_url, github.repository, and the /wiki page.