[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