summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2023-01-17 18:35:41 -0500
committerBen Gamari <ben@well-typed.com>2023-02-12 23:04:35 +0000
commitd65e9331b027ca36b80fedb8315916179c2311d9 (patch)
treedc9832cd31b6c766ae6992216ab3c2f8a81c7f5e
parent133516af8426d775fa0dc75c787edd56299ee6cf (diff)
downloadhaskell-wip/upload-ghc-libs.tar.gz
upload_ghc_libs: More control over which packages to operate onwip/upload-ghc-libs
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.py13
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)