Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 0 additions & 47 deletions .github/workflows/deploy.yml

This file was deleted.

123 changes: 123 additions & 0 deletions .github/workflows/docbook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
name: Validate/build docs

# https://github.com/peaceiris/actions-gh-pages/issues/852
permissions:
contents: write

on:
workflow_dispatch:
pull_request:
branches:
- main
- "release-3.*"
# Review gh actions docs if you want to further define triggers, paths, etc
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
push:
branches:
- main
- "release-3.*"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previously we had two distinct workflows:

  • test-deploy which runs only on pull_request, to verify the PR can build without errors
  • deploy which runs only on push (e.g when a PR merges) so the updated branch can be rebuilt and pushed to GH pages

If I'm reading this change correctly we now have both workflows combined, and running in both scenarios which I don't think is correct (we'll publish even for a PR before merging?)

I think we should likely keep the previous structure with two workflows, but adjust the workflow contents to align with this new file?

Copy link
Collaborator Author

@ranjinimn ranjinimn Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, correct. We had 2 defined workflows. Thank you for the suggestion :) I will separate the 2 actions and see if that helps in aligning the new workflow with the old one.

# Review gh actions docs if you want to further define triggers, paths, etc
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
paths:
- 'DC-*'
- 'xml/**'
- 'adoc/**'
- 'images/src/**'
- '**/DC-*'
- '**/xml/**'
- '**/adoc/**'
- '**/images/src/**'

jobs:
select-dc-files:
runs-on: ubuntu-latest
outputs:
validate-list: ${{ steps.select-dc-validate.outputs.dc-list }}
build-list: ${{ steps.select-dc-build.outputs.dc-list }}
allow-build: ${{ steps.select-dc-build.outputs.allow-build }}
relevant-branches: ${{ steps.select-dc-build.outputs.relevant-branches }}
steps:
- uses: actions/checkout@v4

- name: Checking basic soundness of DC files
uses: openSUSE/doc-ci@gha-select-dcs
with:
mode: soundness

- name: Selecting DC files to validate
id: select-dc-validate
uses: openSUSE/doc-ci@gha-select-dcs
with:
mode: list-validate

- name: Selecting DC files to build
id: select-dc-build
uses: openSUSE/doc-ci@gha-select-dcs
with:
mode: list-build
original-org: SUSE

validate:
runs-on: ubuntu-latest
needs: select-dc-files
strategy:
# don't cancel all validation runners when one of them fails, we want full results
fail-fast: false
matrix:
dc-files: ${{ fromJson(needs.select-dc-files.outputs.validate-list) }}
steps:
- uses: actions/checkout@v4
- name: Validating DC file(s) ${{ matrix.dc-files }}
uses: openSUSE/doc-ci@gha-validate
with:
dc-files: ${{ matrix.dc-files }}


build-html:
runs-on: ubuntu-latest
needs: [select-dc-files, validate]
if: ${{ needs.select-dc-files.outputs.allow-build == 'true' }}
outputs:
artifact-name: ${{ steps.build-dc.outputs.artifact-name }}
artifact-dir: ${{ steps.build-dc.outputs.artifact-dir }}
strategy:
matrix:
dc-files: ${{ fromJson(needs.select-dc-files.outputs.build-list) }}
steps:
- uses: actions/checkout@v4
- name: Building DC file(s) ${{ matrix.dc-files }}
id: build-dc
uses: openSUSE/doc-ci@gha-build
with:
dc-files: ${{ matrix.dc-files }}
- name: Uploading builds as artifact
uses: actions/upload-artifact@v4
with:
name: ${{ steps.build-dc.outputs.artifact-name }}
path: ${{ steps.build-dc.outputs.artifact-dir }}/*
retention-days: 3


publish:
runs-on: ubuntu-latest
if: ${{ success() }}
needs: [select-dc-files, build-html]
continue-on-error: true
steps:
- name: Downloading all build artifacts
uses: actions/download-artifact@v4
with:
path: artifact-dir
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# Build output to publish to the `gh-pages` branch:
publish_dir: artifact-dir
# The following lines assign commit authorship to the official
# GH-Actions bot for deploys to `gh-pages` branch:
# https://github.com/actions/checkout/issues/13#issuecomment-724415212
# The GH actions bot is used by default if you didn't specify the two fields.
# You can swap them out with your own user credentials.
user_name: github-actions[bot]
user_email: 41898282+github-actions[bot]@users.noreply.github.com
30 changes: 0 additions & 30 deletions .github/workflows/test-deploy.yml

This file was deleted.