-
Notifications
You must be signed in to change notification settings - Fork 868
CI: Add docbook-cs linting #5524
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
b39bb70
b329689
5d4c2d5
9e28026
122c89a
79bde75
83b94bb
51d97b5
7b2c39e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| # https://docs.github.com/en/actions | ||
|
|
||
| name: "DocBook Lint" | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - "master" | ||
| pull_request: | ||
| branches: | ||
| - "master" | ||
|
|
||
| permissions: | ||
| contents: "read" | ||
|
|
||
| concurrency: | ||
| group: "${{ github.workflow }}-${{ github.ref }}" | ||
| cancel-in-progress: true | ||
|
|
||
|
jordikroon marked this conversation as resolved.
|
||
| jobs: | ||
| docbook-cs: | ||
| name: "DocBook Style Check" | ||
| runs-on: "ubuntu-latest" | ||
|
|
||
| strategy: | ||
| matrix: | ||
| language: | ||
| - "en" | ||
|
|
||
| steps: | ||
| - name: "Checkout php/doc-${{ matrix.language }}" | ||
| uses: "actions/checkout@v6" | ||
| with: | ||
| ref: "${{ github.event.pull_request.head.sha }}" | ||
| path: "${{ matrix.language }}" | ||
| fetch-depth: 50 | ||
|
|
||
| - name: "Checkout php/doc-base" | ||
| uses: "actions/checkout@v6" | ||
| with: | ||
| path: "doc-base" | ||
| repository: "php/doc-base" | ||
|
|
||
| - name: "Fetch base branch with merge-base" | ||
| working-directory: "${{ matrix.language }}" | ||
| run: | | ||
| git fetch origin ${{ github.base_ref }} --depth=50 | ||
| # Deepen until we find the merge-base (handles long-lived PRs) | ||
| for i in 1 2 3 4 5; do | ||
| if git merge-base origin/${{ github.base_ref }} HEAD >/dev/null 2>&1; then | ||
| break | ||
| fi | ||
| git fetch --deepen=100 origin ${{ github.base_ref }} | ||
| done | ||
|
|
||
| - name: "Setup PHP" | ||
| uses: "shivammathur/setup-php@v2" | ||
| with: | ||
| php-version: "8.5" | ||
| extensions: "dom, libxml, simplexml" | ||
| tools: composer:v2, cs2pr:^1.8 | ||
|
|
||
| - name: "Build documentation" | ||
| run: | | ||
| php doc-base/configure.php \ | ||
| --disable-libxml-check \ | ||
| --enable-xml-details \ | ||
| --redirect-stderr-to-stdout \ | ||
| --with-lang=${{ matrix.language }} | ||
|
|
||
| - name: "Install docbook-cs" | ||
| working-directory: "${{ matrix.language }}" | ||
| run: composer require jordikroon/docbook-cs:^1.1 | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
|
||
| - name: "Run docbook-cs with diff" | ||
| working-directory: "${{ matrix.language }}" | ||
| run: | | ||
| set -o pipefail | ||
| git diff origin/${{ github.base_ref }}...HEAD | vendor/bin/docbook-cs \ | ||
| --report=checkstyle \ | ||
| --diff \ | ||
| --no-colors > docbook-report.xml || true | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The trailing |
||
|
|
||
| - name: "Upload report" | ||
| if: ${{ ! cancelled() }} | ||
| uses: "actions/upload-artifact@v7" | ||
| with: | ||
| name: "docbook-report" | ||
| path: "${{ matrix.language }}/docbook-report.xml" | ||
|
|
||
| - name: "Annotate PR with violations" | ||
| if: ${{ ! cancelled() }} | ||
| working-directory: "${{ matrix.language }}" | ||
| run: cs2pr docbook-report.xml --colorize --prepend-filename | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <docbookcs xmlns="https://jordikroon.github.io/docbook-cs/config" | ||
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| xsi:schemaLocation="https://jordikroon.github.io/docbook-cs/config | ||
| https://jordikroon.github.io/docbook-cs/config.xsd"> | ||
|
|
||
| <project> | ||
| <directory alias="doc-en">en</directory> | ||
| <directory>doc-base</directory> | ||
| </project> | ||
|
|
||
| <sniffs> | ||
| <sniff class="DocbookCS\Sniff\SimparaSniff" /> | ||
| <sniff class="DocbookCS\Sniff\ExceptionNameSniff" /> | ||
| <sniff class="DocbookCS\Sniff\AttributeOrderSniff" /> | ||
| <sniff class="DocbookCS\Sniff\WhitespaceSniff" /> | ||
| </sniffs> | ||
|
|
||
| <paths> | ||
| <path>.</path> | ||
| </paths> | ||
|
|
||
| <entities> | ||
| <file>contributors.ent</file> | ||
| <file>extensions.ent</file> | ||
| <file>language-defs.ent</file> | ||
| <file>language-snippets.ent</file> | ||
| <directory>../doc-base/entities/</directory> | ||
| <file>../doc-base/temp/file-entities.ent</file> | ||
| <directory>../doc-base/temp/file-entities</directory> | ||
| </entities> | ||
|
|
||
| <exclude> | ||
| <pattern>output/*</pattern> | ||
| </exclude> | ||
|
|
||
| </docbookcs> |
Uh oh!
There was an error while loading. Please reload this page.