emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/proof-general 5058318d1b 2/3: CI: update CI documentation


From: ELPA Syncer
Subject: [nongnu] elpa/proof-general 5058318d1b 2/3: CI: update CI documentation and other minor improvements
Date: Sat, 6 Jul 2024 16:00:25 -0400 (EDT)

branch: elpa/proof-general
commit 5058318d1beb8bee704d4143ab50c4ce1e3c7c3b
Author: Hendrik Tews <hendrik@askra.de>
Commit: Hendrik Tews <hendrik@askra.de>

    CI: update CI documentation and other minor improvements
---
 ci/doc/.gitignore             |  1 +
 ci/doc/README.md              | 59 +++++++++++++++++++++++++------------------
 ci/doc/coq-emacs-releases.org |  2 +-
 ci/tools/cipg.ml              | 11 ++++++++
 4 files changed, 48 insertions(+), 25 deletions(-)

diff --git a/ci/doc/.gitignore b/ci/doc/.gitignore
index 397b4a7624..0602fd77ab 100644
--- a/ci/doc/.gitignore
+++ b/ci/doc/.gitignore
@@ -1 +1,2 @@
 *.log
+README.pdf
diff --git a/ci/doc/README.md b/ci/doc/README.md
index 505e74767e..4ebedd8baf 100644
--- a/ci/doc/README.md
+++ b/ci/doc/README.md
@@ -24,7 +24,7 @@ are invisible in the PDF version) are now and then 
automatically
 updated by the `cipg` program. Please consider this when changing this
 file.
 
-The file `.github/workflows/test.yml` defines 6 jobs.
+The file `.github/workflows/test.yml` defines 7 jobs.
 
 build
  : compile Proof General sources to bytecode and build documentation
@@ -63,14 +63,19 @@ via Nix. There are GitLab and GitHub projects for building 
these
 containers in GitLab pipelines. However, currently this does not work
 and the containers are therefore build manually.
 
-This document ignores Coq point releases (e.g., 8.13.2). For one
-reason we trust the Coq development team to not introduce changes in
-point releases that Proof General should care about. Another reason is
-that the `coqorg/coq` docker images are only available for the latest
-point release of any minor version. Therefore, in this document, a Coq
-version number `<major>.<minor>` always stands for the latest point
-release of that minor release. E.g., 8.17 stands for 8.17.1 released
-in 2023/06.
+Coq minor releases (e.g., 8.19.0) are often followed by bug fix
+releases (e.g., 8.19.1 and 8.19.2). For testing Proof General we only
+use the latest bug fix release of certain Coq releases (e.g., we do
+test 8.19.2 but neither 8.19.0 nor 8.19.1). One reason is that testing
+original minor releases (e.g., 8.19.0) or outdated bug fix releases
+(e.g., 8.19.1) does not make much sense. Another reason is that
+`coqorg/coq` does only provide containers for the latest bug fix
+release of each minor release. Admittedly, the effects of only testing
+the latest bug fix release are not always optimal. For instance, in
+2024, Coq 8.11 is tested, because Ubuntu 20.04 Focal Fossa was
+released with Coq 8.11.0, however, Proof General testing uses Coq
+8.11.2.
+
 
 # Generic strategy {#generic}
 
@@ -113,6 +118,7 @@ containers only for a subset of the actively supported 
version pairs
 and only a subset of these containers are used by the GitHub action
 jobs.
 
+
 # Container build strategy {#contbuild}
 
 For an actively supported Coq/Emacs version pair (*cv*, *ev*), a
@@ -204,7 +210,6 @@ RC
  : denotes an release candidate according to point 5.
 
 
-
 # Testing strategy
 
 Currently only actively supported versions are tested via GitHub
@@ -250,13 +255,13 @@ following points is true for *cv* and *ev*.
    Debian or Ubuntu versions and now and then upgrade their Coq version
    via opam.
    
-   For example, in October 2023 the 18 month limit includes Coq 8.15
-   (last minor version released in 2022/05) but excludes 8.14 (last
-   minor version released in 2021/12). Therefore we do test the pair
-   (8.15, 27.1) but we don't test (8.14, 27.1). We neither test (8.15,
-   27.2), because there is no Debian or Ubuntu release containing
-   27.2. Further, we don't test (8.15, 28.2), because Ubuntu 23 and
-   Debian 12, which both contain Emacs 28.2, contain Coq 8.16.
+   For example, in October 2023 the 18 month limit includes Coq 8.15.2
+   (released in 2022/05) but excludes 8.14.1 (last minor 8.14 version,
+   released in 2021/12). Therefore we do test the pair (8.15.2, 27.1)
+   but we don't test (8.14.1, 27.1). We neither test (8.15.2, 27.2),
+   because there is no Debian or Ubuntu release containing 27.2.
+   Further, we don't test (8.15.2, 28.2), because Ubuntu 23 and Debian
+   12, which both contain Emacs 28.2, contain Coq 8.16.
 
 #. The pair (*cv*, *ev*) is an historic pair in the same sense as
    above.
@@ -306,6 +311,13 @@ version pairs for the Proof General interaction tests with 
Coq.
 See [Container build strategy](#contbuild) for an explanation of the
 symbols in the table.
 
+In summary, all Proof General testing jobs run
+<!-- The content between the CIPG markers is automatically changed by
+ !-- the cipg program. Do not change these markers. -->
+<!-- CIPG change marker: total-checks-number -->
+125
+<!-- CIPG change marker end -->
+github checks.
 
 # Keeping the GitHub action up-to-date
 
@@ -396,11 +408,10 @@ that `cipg` can process it.
    YYYY/MM. Trailing non-digit characters are ignored. I use `?` to
    indicate EOL dates that have not yet been fixed.
 
-#. In Coq version numbers the patch level is ignored. Versions of
-   release candidates must be of the form `8.10rc` or `8.10-rc`.
-   `cipg` is not able to recognize outdated release candidates. The
-   release candidate must therefore be deleted when the release
-   happens.
+#. Versions of release candidates must be of the form `8.10rc` or 
+   `8.10-rc`. `cipg` is not able to recognize outdated release
+   candidates. The release candidate must therefore be deleted when
+   the release happens.
 
 
 ## `cipg`
@@ -461,12 +472,12 @@ below.
 The options described in this subsection perform destructive updates
 or removals. Use them with care.
 
-The option `ci-change` updates `README.md` (this file) and `test.yml`
+The option `-ci-change` updates `README.md` (this file) and `test.yml`
 in the Proof-General repository identified by `cipg` with the new
 configuration. See option `-pg-repo` to change the Proof General
 repository. The updates are done in place, without taking backups,
 which is not a problem, if there are no unstaged changes. In
-particular, the option `ci-change` changes
+particular, the option `-ci-change` changes
 
 - the three tables in the Sections [Generic strategy](#generic),
   [Container build strategy](#contbuild), and [Proof General
diff --git a/ci/doc/coq-emacs-releases.org b/ci/doc/coq-emacs-releases.org
index be98ecd297..ef67aba1d7 100644
--- a/ci/doc/coq-emacs-releases.org
+++ b/ci/doc/coq-emacs-releases.org
@@ -17,7 +17,7 @@
 | 2024/03 | 8.19.1 |  29.3 |                   |          |          |
 | 2024/01 | 8.19.0 |  29.2 |                   |          |          |
 | 2023/09 | 8.18.0 |       |                   |          |          |
-| 2023/07 |        |  29.1 |                   |          |          |
+| 2023/07 |        |  29.1 |                   |          | X        |
 | 2023/06 | 8.17.1 |       |                   |          |          |
 | 2023/10 |        |  29.1 | ubu 23 mantic mi  | 2024/07  |          |
 | 2023/03 | 8.17.0 |       |                   |          |          |
diff --git a/ci/tools/cipg.ml b/ci/tools/cipg.ml
index 0d719c64fb..160f142782 100644
--- a/ci/tools/cipg.ml
+++ b/ci/tools/cipg.ml
@@ -1570,6 +1570,15 @@ let main() =
   print_matrix "CI pairs" coqs emacses ci_pairs;
   print_endline "";
   check_matrix_subset coqs emacses ci_pairs conts;
+  let total_test_runs =
+    3 * (count_filled_matrix_cells ci_pairs) +
+    3 * ((snd (list_last emacses))    (* index of last emacs version *)
+         -                            (* indes of first emacs version *)
+         (get_version_index first_active_emacs emacses)
+         + 1) +
+    2                                   (* doc magic *)
+  in
+  Printf.printf "\n%d github checks in total\n" total_test_runs;
   if !do_containers then
     begin
       print_endline "\n\nCHECK MISSING AND SUPERFLUOUS CONTAINERS\n";
@@ -1618,6 +1627,8 @@ let main() =
                      (count_filled_matrix_cells ci_pairs));
       md_file_change_wrapper readme_file "testrun-table"
         (output_matrix coqs emacses ci_pairs);
+      md_file_change_wrapper readme_file "total-checks-number"
+        (fun oc -> Printf.fprintf oc "%d\n" total_test_runs);
 
       (* In test.yml update the version numbers for all test jobs. *)
       List.iter



reply via email to

[Prev in Thread] Current Thread [Next in Thread]