summaryrefslogtreecommitdiff
path: root/.gitlab
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2023-01-17 18:35:41 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-02-14 11:27:50 -0500
commitb9282cf76f237412bae43e37c7a3deccb9fb22a1 (patch)
tree7386af61c0251c17d77826847ad6cfe702d26c96 /.gitlab
parentc399ccd97892fd536abf64b03f467e8fe4cc50e5 (diff)
downloadhaskell-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).
Diffstat (limited to '.gitlab')
-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)