diff --git a/.github/workflows/publish-wiki.yml b/.github/workflows/publish-wiki.yml new file mode 100644 index 0000000..0998cc8 --- /dev/null +++ b/.github/workflows/publish-wiki.yml @@ -0,0 +1,71 @@ +name: Publish wiki +on: + push: + branches: + - 'main' + paths: + - wiki/** + - .github/workflows/publish-wiki.yml + # Do a dry-run (check, no deploy) for PRs. + pull_request: + paths: + - wiki/** + - .github/workflows/publish-wiki.yml + # Allow running this workflow manually from the Actions tab. + workflow_dispatch: + # Allow this workflow to be triggered from outside. + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "publish-wiki" + cancel-in-progress: false + +jobs: + publish-wiki: + name: "Publish Wiki" + if: github.repository == 'PHPCSStandards/PHP_CodeSniffer-documentation' + + runs-on: ubuntu-latest + + permissions: + # Needed for the commit to the wiki. + contents: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Copy wiki files to temporary location + shell: bash + run: cp -v -a wiki _wiki + + - name: Preface markdown files with warning not to edit in place + shell: bash + # yamllint disable rule:line-length + # shellcheck disable=SC2016 + run: > + find ./_wiki/ -name "*.md*" + -exec sed -i + '1i\\n' {} \; + # yamllint enable rule:line-length + + - name: Check GitHub Git Operations status + uses: crazy-max/ghaction-github-status@v4 + with: + git_threshold: partial_outage + + - name: Deploy to wiki + uses: Andrew-Chen-Wang/github-wiki-action@v5.0.1 + env: + COMMIT_MSG: ${{ github.event.head_commit.message }} + DEFAULT_COMMIT_MSG: "Update wiki ${{ github.sha }}" + with: + strategy: 'clone' + path: '_wiki/' + commit-message: ${{ env.COMMIT_MSG != '' && env.COMMIT_MSG || env.DEFAULT_COMMIT_MSG }} + repository: PHPCSStandards/PHP_CodeSniffer + token: ${{ secrets.PHPCS_PUSH_TO_WIKI_TOKEN }} + dry-run: ${{ github.event_name == 'pull_request' }} + disable-empty-commits: true + preprocess: false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1388517 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +_wiki/ diff --git a/wiki/_Footer.md b/wiki/_Footer.md new file mode 100644 index 0000000..9eaf6ff --- /dev/null +++ b/wiki/_Footer.md @@ -0,0 +1,3 @@ +_Found a mistake ? Think this documentation can be improved ?_ + +Contributions to this wiki are welcome! Submit a pull request to the [Documentation repository](https://github.com/PHPCSStandards/PHP_CodeSniffer-documentation) to propose your changes.