Files
openstack-manuals/tools/publishdocs.sh
Dmitriy Rabotyagov 06629f09c4 Ensure publicdocs.sh will fail on included scripts failure
An unexpected behaviour has been spotted, when build-all-rst.sh
failure was still resulting in publishdocs.sh successfull execution.

As a result, .root-marker was not produced, so while promote job
was successfull, it was not actually changing any content on AFS.

Moreover, produced artifact was not containing all intended content,
and was missing some guides, while it was treated as a successfull run[1],
with logs stating the following:

```
2025-06-29 23:15:43.683195 | ubuntu-jammy | build finished with problems, 1 warning (with warnings treated as errors).
2025-06-29 23:16:44.988836 | ubuntu-jammy |   publishdocs: OK (66.94=setup[0.03]+cmd[64.81,2.10,0.00] seconds)
2025-06-29 23:16:44.988844 | ubuntu-jammy |   congratulations :) (66.98 seconds)
2025-06-29 23:16:45.335764 | ubuntu-jammy | ok: Runtime: 0:01:07.091357
```

While original issue was fixed in [2], we add `set` to both scripts
to ensure that such false-positive behaviour would not occur in the future.

[1] https://zuul.opendev.org/t/openstack/build/37a9b4537fc9495c99974bf011d09f00
[2] https://review.opendev.org/c/openstack/openstack-manuals/+/951429
Change-Id: I60654d07d3b8e731274c82351253463c10ea5f2b
Signed-off-by: Dmitriy Rabotyagov <dmitriy.rabotyagov@cleura.com>
2025-07-01 18:23:50 +00:00

30 lines
924 B
Bash
Executable File

#!/bin/bash -xe
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
## Shell Opts
set -e -u -x
mkdir -p publish-docs/html
# Build all RST guides including PDF files
tools/build-all-rst.sh --pdf
# Build website
python3 tools/www-generator.py --source-directory www/ \
--output-directory publish-docs/html --publish
rsync -a www/static/ publish-docs/html/
# Don't publish these files
rm -rf publish-docs/html/project-data