diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2022-05-05 16:53:21 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-05-16 08:31:55 -0400 |
commit | 93153aab656f173ac36e0c3c2b4835caaa55669b (patch) | |
tree | a94941d7e720d20d06574d76c833b0b933d80dd8 /.gitlab/ci.sh | |
parent | 3d74cfca991f4c870b1568954d5e09d390977a44 (diff) | |
download | haskell-93153aab656f173ac36e0c3c2b4835caaa55669b.tar.gz |
packaging: Introduce CI job for generating hackage documentation
This adds a CI job (hackage-doc-tarball) which generates the necessary
tarballs for uploading libraries and documentation to hackage. The
release script knows to download this folder and the upload script will
also upload the release to hackage as part of the release.
The `ghc_upload_libs` script is moved from ghc-utils into .gitlab/ghc_upload_libs
There are two modes, preparation and upload.
* The `prepare` mode takes a link to a bindist and creates a folder containing the
source and doc tarballs ready to upload to hackage.
* The `upload` mode takes the folder created by prepare and performs the upload to
hackage.
Fixes #21493
Related to #21512
Diffstat (limited to '.gitlab/ci.sh')
-rwxr-xr-x | .gitlab/ci.sh | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/.gitlab/ci.sh b/.gitlab/ci.sh index 3bdec79b13..6c030a4e62 100755 --- a/.gitlab/ci.sh +++ b/.gitlab/ci.sh @@ -369,13 +369,17 @@ function setup_toolchain() { function cleanup_submodules() { start_section "clean submodules" - info "Cleaning submodules..." - # On Windows submodules can inexplicably get into funky states where git - # believes that the submodule is initialized yet its associated repository - # is not valid. Avoid failing in this case with the following insanity. - git submodule sync --recursive || git submodule deinit --force --all - git submodule update --init --recursive - git submodule foreach git clean -xdf + if [ -d .git ]; then + info "Cleaning submodules..." + # On Windows submodules can inexplicably get into funky states where git + # believes that the submodule is initialized yet its associated repository + # is not valid. Avoid failing in this case with the following insanity. + git submodule sync --recursive || git submodule deinit --force --all + git submodule update --init --recursive + git submodule foreach git clean -xdf + else + info "Not cleaning submodules, not in a git repo" + fi; end_section "clean submodules" } |