[PATCH] D99780: workflows: Add GitHub action for automating some release tasks
Konrad Wilhelm Kleine via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 26 00:04:53 PDT 2022
kwk accepted this revision.
kwk added a comment.
I don't see serious problems with this change. And my comments are just improvements. Good Work!
================
Comment at: .github/workflows/release-tasks.yml:24
+ run: |
+ sudo apt-get install -y \
+ doxygen \
----------------
This is just a side question: Don't you have to `apt-get update` when in a fresh Ubuntu container? At least that is the case when starting it with `podman` or `docker`. Is that already done when you're running this with Github?
When I do this locally I get:
```
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package doxygen
E: Unable to locate package graphviz
E: Unable to locate package python3-github
E: Unable to locate package python3-recommonmark
E: Unable to locate package python3-sphinx
E: Unable to locate package ninja-build
E: Unable to locate package texlive-font-utils
```
================
Comment at: .github/workflows/release-tasks.yml:29
+ python3-recommonmark \
+ python3-sphinx \
+ ninja-build \
----------------
I've looked at the `build-docs.sh` script and [it lists](https://github.com/llvm/llvm-project/blob/0ffb3dd33ee1a50a6ab5db80bb8caee9133e66dc/llvm/utils/release/build-docs.sh#L18) the `sphinx-common` package for Ubuntu installations as a requirement:
```
apt-get install doxygen sphinx-common python3-recommonmark \
ninja-build graphviz texlive-font-utils
pip3 install --user sphinx-markdown-tables
```
Is this installed implicitly by any of the other packages that you install here or is it resolved when running the `pip3` command?
UPDATE: When I check with the packages that you've installed I can confirm that the dependency *is* installed:
```
# dpkg -s sphinx-common
Package: sphinx-common
Status: install ok installed
Priority: optional
Section: python
Installed-Size: 3110
Maintainer: Debian Python Team <team+python at tracker.debian.org>
Architecture: all
Multi-Arch: foreign
Source: sphinx
Version: 4.3.2-1
Replaces: python-sphinx (<< 1.1)
Provides: dh-sequence-sphinxdoc
Depends: libjs-sphinxdoc (= 4.3.2-1), perl:any
Recommends: python3-sphinx
Conflicts: python-sphinx (<< 1.1)
Description: documentation generator for Python projects - common data
Sphinx is a tool for producing documentation for Python projects, using
reStructuredText as markup language.
.
This package includes manual pages, templates, translations and other data
files.
Homepage: https://www.sphinx-doc.org/
```
---
I have looked at this locally in a podman container and made a strange observation:
```
Setting up x11-common (1:7.7+23ubuntu2) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 78.)
debconf: falling back to frontend: Readline
[... OTHER PACKAGES ...]
Setting up tzdata (2022a-0ubuntu1) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 78.)
debconf: falling back to frontend: Readline
Configuring tzdata
------------------
Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are
located.
1. Africa 2. America 3. Antarctica 4. Australia 5. Arctic Ocean 6. Asia 7. Atlantic Ocean 8. Europe 9. Indian Ocean 10. Pacific Ocean 11. US 12. None of the above
Geographic area:
```
The CLI asked for feedback even though I gave `apt` the assume-yes-switch. Let's just hope this doesn't happen in Github with the Ubuntu containers.
---
Sorry for the noise, I'm just documenting this to confirm a thorough review.
================
Comment at: .github/workflows/release-tasks.yml:43
+ run: |
+ bash llvm/utils/release/build-docs.sh -srcdir llvm
+ ./llvm/utils/release/github-upload-release.py --token ${{ github.token }} --release ${{ steps.validate-tag.outputs.release-version }} upload --files *doxygen*.tar.xz
----------------
Why leave it up to the caller to decide about the interpreter? Shouldn't the script tell what to use with its shebang line? Right now the shebang line in `build-docs.sh` is `#!/bin/sh`. I suggest to change this to `#!/bin/bash` and get rid of the `bash ` here.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99780/new/
https://reviews.llvm.org/D99780
More information about the llvm-commits
mailing list