From d9771cbe664e02d7f1181083fb527f638b601ac8 Mon Sep 17 00:00:00 2001 From: Francesco Chemolli <5175948+kinkie@users.noreply.github.com> Date: Thu, 2 Nov 2023 20:20:16 +0000 Subject: [PATCH 1/3] Create DailySnapshotsGeneration.md --- .../DailySnapshotsGeneration.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 docs/ProjectInfrastructure/DailySnapshotsGeneration.md diff --git a/docs/ProjectInfrastructure/DailySnapshotsGeneration.md b/docs/ProjectInfrastructure/DailySnapshotsGeneration.md new file mode 100644 index 00000000..4f57c57b --- /dev/null +++ b/docs/ProjectInfrastructure/DailySnapshotsGeneration.md @@ -0,0 +1,16 @@ +# How daily snapshots files are generated + +As of the 2023-11-02, this is the process to generate snapshot tarballs. + +1. Jenkins jobs run at regular cadences, monitoring the repository, run a full build test. + [trunk-arm64-matrix](https://build.squid-cache.org/job/trunk-arm64-matrix/) is used for master, + while `6-matrix` and `5-matrix` are (at this time) used for the stable and old releases +1. if these jobs are successful, they will trigger the corresponding tarball creation job + (e.g. [website-tarballs-head](https://build.squid-cache.org/job/website-tarballs-head/) for trunk). + The tarball jobs trust that if they are invoked, it's because the branch is stable. + Jenkins administrators can at any point force the execution of these jobs +1. The code run there is [make-snapshot.sh](https://github.com/kinkie/support-tools/blob/master/squid-ci/make-snapshot.sh). + The artifacts it generates are replicated to buildmaster and are accessible via https. + e.g. [master artifacts](https://build.squid-cache.org/job/website-tarballs-head/lastSuccessfulBuild/artifact/artifacts/). +1. A cron job running (mk-release-snapshots.sh) running on on master downloads these artifacts, + unpacks them, and makes them available for access and download on the website From 0608f4dd26247086733d195568cb6b90f5d524ce Mon Sep 17 00:00:00 2001 From: Francesco Chemolli Date: Thu, 2 Nov 2023 20:26:45 +0000 Subject: [PATCH 2/3] Connect to main index and add pages index --- docs/ProjectInfrastructure/index.md | 3 +++ docs/index.md | 2 ++ 2 files changed, 5 insertions(+) create mode 100644 docs/ProjectInfrastructure/index.md diff --git a/docs/ProjectInfrastructure/index.md b/docs/ProjectInfrastructure/index.md new file mode 100644 index 00000000..497c0c59 --- /dev/null +++ b/docs/ProjectInfrastructure/index.md @@ -0,0 +1,3 @@ +# Project Infrastructure documentation + +{% include pages-list-by-path.html dir=page.dir %} diff --git a/docs/index.md b/docs/index.md index 890d4835..0929759b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -48,4 +48,6 @@ mailing list, and during pull request reviews on - The book [Squid Proxy Server 3.1: Beginner's Guide](https://www.packtpub.com/squid-proxy-server-3-1-beginners-guide/book) by Kulbir Saini +- Documentation about how the project's [infrastructure](/ProjectInfrastructure) + is set up - Other [external links](/ExternalLinks) From bd06d5cc89941db949fe8b84af781514c94b26fc Mon Sep 17 00:00:00 2001 From: Francesco Chemolli Date: Fri, 3 Nov 2023 09:31:06 +0000 Subject: [PATCH 3/3] Incorporate review suggestions --- .../DailySnapshotsGeneration.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/ProjectInfrastructure/DailySnapshotsGeneration.md b/docs/ProjectInfrastructure/DailySnapshotsGeneration.md index 4f57c57b..8f21b247 100644 --- a/docs/ProjectInfrastructure/DailySnapshotsGeneration.md +++ b/docs/ProjectInfrastructure/DailySnapshotsGeneration.md @@ -3,14 +3,15 @@ As of the 2023-11-02, this is the process to generate snapshot tarballs. 1. Jenkins jobs run at regular cadences, monitoring the repository, run a full build test. - [trunk-arm64-matrix](https://build.squid-cache.org/job/trunk-arm64-matrix/) is used for master, - while `6-matrix` and `5-matrix` are (at this time) used for the stable and old releases + [`trunk-arm64-matrix`](https://build.squid-cache.org/job/trunk-arm64-matrix/) is used for the + VCS ["master" branch](https://github.com/squid-cache/squid/tree/master/), + while a version specific `N-matrix` (e.g. `6-matrix` or `5-matrix`) are used for the stable and old releases 1. if these jobs are successful, they will trigger the corresponding tarball creation job - (e.g. [website-tarballs-head](https://build.squid-cache.org/job/website-tarballs-head/) for trunk). - The tarball jobs trust that if they are invoked, it's because the branch is stable. - Jenkins administrators can at any point force the execution of these jobs -1. The code run there is [make-snapshot.sh](https://github.com/kinkie/support-tools/blob/master/squid-ci/make-snapshot.sh). + (e.g. [`website-tarballs-head`](https://build.squid-cache.org/job/website-tarballs-head/) for the `trunk_amd64_matrix`). + The tarball jobs trust that if they are invoked, it's because the branch has a stable build and testing result. + Jenkins administrators can, at any point, force the execution of these jobs. +1. 1. The code run there is [`make-snapshot.sh`](https://github.com/kinkie/support-tools/blob/master/squid-ci/make-snapshot.sh). The artifacts it generates are replicated to buildmaster and are accessible via https. - e.g. [master artifacts](https://build.squid-cache.org/job/website-tarballs-head/lastSuccessfulBuild/artifact/artifacts/). -1. A cron job running (mk-release-snapshots.sh) running on on master downloads these artifacts, + e.g. [development version artifacts](https://build.squid-cache.org/job/website-tarballs-head/lastSuccessfulBuild/artifact/artifacts/). +1. 1. A cron job running [`mk-release-snapshots.sh`](https://github.com/squid-cache/ci/blob/main/release/mk-release-snapshots.sh) on master downloads these artifacts, unpacks them, and makes them available for access and download on the website