-
Notifications
You must be signed in to change notification settings - Fork 100
Publishing to documentation.suse.com
❗
|
TBD: Should this document be moved to Confluence? |
This document describes the process of preparing the documentation for publishing on D.S.C (documentation.suse.com).
The output of the process are up to ?? separate PRs/MRs (TBD: list them all here, link to examples).
TBD: The PRs / MRs need to:
-
Happen in the exact order in which they are described (or not?)
-
Are (not?) awaiting other processes to finish (e.g. packages to be built…)
-
You have uyuni-docs-helper container set up, see uyuni-docs-helper
-
You have access to the our internal https://gitlab.suse.de repository Docserv External Tree SUMA with write access
D.S.C. refers to documentation.suse.com. See SUMA Documentation.
For a remote build, you need to adjust the parameters.yml file for your target (Static HTML for D.S.C).
If you are using the uyuni-docs-helper image to build from the remote source, make the following example changes to your local uyuni-docs/
checkout and then push them to the remote repository on GitHub.
Then follow the remote build commands below.
If you are using the uyuni-docs-helper image to build from your local git checkout, modify the local parameters.yml file and then follow the local build commands below.
-
Ensure you are on the correct branch, then open parameters.yml in your editor of choice.
⚠️ While working on the parameters file make sure that you adjust the SUMA section and not the Uyuni section.
Examplesite: - attribute: title value: "SUSE Manager Documentation" - attribute: start_page value: "suse-manager::index" - attribute: url value: https://documentation.suse.com/suma/5.0/
-
Check the following block in parameters.yml ensuring the version numbers are correct. The yaml or attributes themselves should not be adjusted. Only the version numbers should be adjusted:
Examplesuma: asciidoc: - attribute: productnumber value: "5.0" - attribute: docversion value: "5.0" - attribute: minorversion value: "5.0"
-
Fix the supplemental_files value for the SUMA susecom so it looks like:
supplemental_files: ./branding/supplemental-ui/suma/susecom-2023
-
Push your changes to the remote repository release branch.
There are two methods to build the packages from the uyuni-docs-helper directory. You can build either from a remote source or a local repository clone. Select one of the following two methods:
- Remote build
-
The following command builds the docs from the remote repository.
Example./uyuni-docs-helper -r manager-x.y-MU-x.y.z -o ./tmp -c antora-suma -p suma
- Local build
-
The following command builds the docs from the local uyuni-docs checkout:
Example./uyuni-docs-helper -l ../uyuni-docs -r manager-x.y-MU-x.y.z -c antora-suma -p suma
Have you cloned the gitlab.suse.de repo? Within this repo, the following directory structure exists:
4.3/ 5.0/
-
Pull the latest changes from master.
-
Create a copy of the build directory (the content you just created with
make antora-suma
) containing the generated html and put it somewhere safe. -
Create the merge branch for the current release, e.g.:
git checkout -b manager-5.0-MU-5.0.1
-
TBD: Alternatively, name the branch manager-5.0-MU-5.0.1-HTML to specifically reflect its purpose. Follow this convention with all other branches.
-
-
Overwrite the content in the
5.0/
directory with the content from your latest build. -
Push the new branch
-
On gitlab, create the merge request with master.
This section assumes you have cloned the Uyuni Docs API Repository (i.e. uyuni-project /uyuni-docs-api).
-
Pull the latest changes from master
-
Checkout your feature branch:
git checkout -b manager-5.0-content-update
-
Grab the latest spacewalk-java-apidoc-sources rpm.
-
For newer SUMA versions (5.0 and later) use:
-
Untar the RPM and copy the contents of the asciidoc directory into your feature branch
modules/api/pages/
directory. -
Compare the content in
modules/api/pages/apilist.adoc
withmodules/api/nav-api-guide.adoc
and ensure no new API method calls have been added. It should be the developer’s responsibility to let us know about such changes. (TBC: What happens IF there are differences?) -
Add, commit, and push your changes to your feature branch.
-
create a merge request with master and merge (TBC: 1. MR or PR? 2. No need to wait for approval?)
-
switch to the master branch.
-
Build the API documents with
make antora-suma
(TBC: Why now? What are we expecting as an outcome, what is a possible issue?)
If you run into issues with index-not-found errors, check the antora.yml file stored in the repository. You need to manually update this file to reflect which product you are building for. We do not yet have intelligent logic like our uyuni-docs repo. When you build from your local system, the command make antora-suma
or make antora-uyuni
will always look at this antora.yml file. If the wrong product is commented out (for the command you input), Antora will throw this index-not-found error.
-
Create a new feature branch on the docserv-external-tree-suma repository for the merge request. For example:
git checkout -b manager-4.3-MU-4.3.11-api
-
Copy the build contents into
docserv-external-tree-suma/4.3/api/
(TBC: From the build above / see question why now / what it is used for) -
Cut the API PDF to
4.3/pdf/
and rename it to match the existing document4.3_pdf_susemanager_api_doc_color_en.pdf
-
Add, commit and push your feature branch.
-
Create the merge request and merge with master.
We provide database schema documentation when we publish to documentation.suse.com. To update the database scheme documentation perform the following steps.
-
Log in to build.suse.de
-
Go to the project of interest, for example:
-
Download the
reportdb-schema-docs.tar.xz
file -
Untar it.
-
on the command line go to your local docserve-external-tree-suma checkout.
-
Create a new feature branch from master (make sure you pull the latest changes! TBD: new featrure as in 5.0.-MU-5.0.1, or 5.0-MU-5.0.1-DBschema?).
-
On your featuuree branch, copy the contents of the new dbschema directory (TBC: the one you just got by unpacking the downloaded package) into your target product version directory:
docserve-external-tree-suma/4.3/database/schema/
-
Submit your merge request and then merge with master.
-
Merge above created MR with master
-
Inform release managers that content (New docs, API, and dbschema) has been merged with DocServ.
Release managers will make the sync request to the SUSE Documentation team when they are ready to release the latest major or minor version to the public.
-
Previous: Packaging internal build service docs
-
Up: For more topics on building documentation, see Building documentation