diff options
author | Ben Gamari <ben@smart-cactus.org> | 2023-01-17 18:35:41 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2023-02-14 11:27:50 -0500 |
commit | b9282cf76f237412bae43e37c7a3deccb9fb22a1 (patch) | |
tree | 7386af61c0251c17d77826847ad6cfe702d26c96 | |
parent | c399ccd97892fd536abf64b03f467e8fe4cc50e5 (diff) | |
download | haskell-b9282cf76f237412bae43e37c7a3deccb9fb22a1.tar.gz |
upload_ghc_libs: More control over which packages to operate on
Here we add a `--skip` flag to `upload_ghc_libs`, making it easier to
limit which packages to upload. This is often necessary when one package
is not uploadable (e.g. see #22740).
-rwxr-xr-x | .gitlab/rel_eng/upload_ghc_libs.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/.gitlab/rel_eng/upload_ghc_libs.py b/.gitlab/rel_eng/upload_ghc_libs.py index fdb1c55324..ecbfa11bd4 100755 --- a/.gitlab/rel_eng/upload_ghc_libs.py +++ b/.gitlab/rel_eng/upload_ghc_libs.py @@ -197,19 +197,24 @@ def main() -> None: parser_prepare.add_argument('--bindist', required=True, type=Path, help='extracted binary distribution') parser_upload = subparsers.add_parser('upload') + parser_upload.add_argument('--skip', default=[], action='append', type=str, help='skip uploading of the given package') parser_upload.add_argument('--docs', required = True, type=Path, help='folder created by --prepare') parser_upload.add_argument('--publish', action='store_true', help='Publish Hackage packages instead of just uploading candidates') args = parser.parse_args() - pkgs = args.pkg + pkgs = set(args.pkg) for pkg_name in pkgs: assert pkg_name in PACKAGES - if pkgs == []: - pkgs = PACKAGES.keys() + if not pkgs: + pkgs = set(PACKAGES.keys()) - if args.command == "prepare": + if args.command == "upload": + for pkg_name in args.skip: + assert pkg_name in PACKAGES + pkgs = pkgs - set(args.skip) + if args.command == "prepare": manifest = {} for pkg_name in pkgs: print(pkg_name) |