toolkit/sync
Neil Hanlon ca358f6117
Some checks failed
Build empanada images for imagefactory / buildx (push) Failing after 4s
Build empanada container images for lorax / buildx (push) Successful in 1s
rl#4390 - add uefi-preferred to boot mode for images
Fixes: https://bugs.rockylinux.org/view.php?id=4390
2023-11-19 16:56:30 -05:00
..
latest-images Add golang stubs for scripts to maintain image versions 2023-05-12 14:02:39 -04:00
latest-isos Add golang stubs for scripts to maintain image versions 2023-05-12 14:02:39 -04:00
beta-release-sync-to-staging.sh fix rm scripts 2023-09-24 16:14:20 -07:00
common MODS isn't being overridden 2023-11-16 16:03:19 -07:00
common_8 change to 8.9 2023-11-17 02:32:37 -07:00
common_9 MODS isn't being overridden 2023-11-16 15:57:42 -07:00
common_10 common_10 2023-09-02 20:37:29 -07:00
gen-torrents.sh Run / source sync things from other directories 2022-07-13 01:56:04 -04:00
import-snapshot-publish-aws.sh rl#4390 - add uefi-preferred to boot mode for images 2023-11-19 16:56:30 -05:00
lh-release-sync-to-staging.sh fix rm scripts 2023-09-24 16:14:20 -07:00
minor-release-sync-to-staging.sh superfluous shasum for isos 2023-11-18 14:51:57 -07:00
propagate-image.sh revert accidental line 2023-08-30 15:18:04 -04:00
README.md update readme 2021-07-21 11:55:21 -07:00
sign-repos-only.sh kickstart 2021-09-14 08:52:12 -07:00
stage-live-images.sh remove unused var 2021-11-10 12:37:28 -07:00
symlink-images-and-checksum.sh use -L to snuff out symlinks 2023-05-17 17:47:48 -07:00
sync-file-list-parallel.sh shouldn't go to staging 2023-05-17 03:41:10 -07:00
sync-file-list-vault.sh vault time list script 2023-09-07 03:21:58 -07:00
sync-full-file-list.sh just in case, use full path for bg processes 2022-07-18 08:33:24 -07:00
sync-root-file-list.sh just in case, use full path for bg processes 2022-07-18 08:33:24 -07:00
sync-sig-file-list.sh generating the list in the wrong place 2022-07-31 20:40:05 -07:00
sync-to-prod-9.sh hardlinking should be post-sync to prod before file list 2022-07-15 16:05:14 -07:00
sync-to-prod-sig.sh allow prod syncs of sigs to be specific 2023-04-05 01:16:50 -07:00
sync-to-prod.delete.sh address future 10 major version 2023-05-22 16:15:35 -07:00
sync-to-prod.sh address future 10 major version 2023-05-22 16:15:35 -07:00
sync-to-staging-9.sh move generate confs and add testing script 2022-07-15 10:39:35 -07:00
sync-to-staging-fpsync-testing.sh move generate confs and add testing script 2022-07-15 10:39:35 -07:00
sync-to-staging-sig.sh add delete option to sig syncs 2022-12-19 16:11:50 -07:00
sync-to-staging.delete.sh force RLREL in sync scripts 2023-09-03 15:06:20 -07:00
sync-to-staging.sh hardlink only after rocky is synced 2023-06-05 12:45:41 -07:00
test.sh fixes 2021-07-07 19:58:50 -07:00
vault-release-no-repodata.sh fix wildcard 2023-11-16 15:28:18 -07:00
vault-release.sh add rsync that does not sync repodata 2023-11-13 13:21:58 -07:00

sync

These scripts assist in syncing to staging and to prod for releases, whether they are full point releases, simple update releases, or a brand new repository being added. Each script here has a specific purpose.

What to do?

When the scripts are being ran, they are usually ran with a specific purpose or a reason. They are also ran in a certain order.

The below are common vars files. common_X will override what's in common.

.
├── common
├── common_8

These are for the releases in general. What they do is noted below.

├── gen-torrents.sh                  -> Generates torrents for images
├── minor-release-sync-to-staging.sh -> Syncs a minor release to staging
├── prep-staging-8.sh                -> Preps staging updates and signs repos
├── sign-repos-only.sh               -> Signs the repomd (only)
├── sync-to-prod.sh                  -> Syncs staging to production
├── sync-to-staging.sh               -> Syncs a provided compose to staging
├── sync-to-staging-sig.sh           -> Syncs a sig provided compose to staging

Generally, you will only run minor-release-sync-to-staging.sh when a full minor release is being produced. So for example, if 8.5 has been built out, you would run that after a compose. gen-torrents.sh would be ran shortly after.

When doing updates, the order of operations (preferably) would be:

  • sync-to-staging.sh
  • sync-to-staging-sig.sh Only if sigs are updated
  • prep-staging-X.sh -> This is required to ensure the groups, compos, and module data stay sane. This helps us provide older packages in the repos.
  • sync-to-prod.sh -> After the initial testing, it is sent to prod.