also, I tried my best to speed up the build process. but guix pull cannot be cached. hence it takes around 50-70 minutes to build. and most of the time is spent by guix pull. so be sure to increase the default timeout per job to 2h+
if you try to cache that step, it yields the following error:
FILE: scripts/build.sh
ice-9/eval.scm:223:20: In procedure proc:
error: libnode: unbound variable
hint: Did you forget a `use-modules' form?
you can find more information about GitLab CI predefined variables here. I'm not sure if commit title and commit description are smart enough to pickup the commit message of current tag.
see the result - release body contains both commit title and commit description of the tag but it's name belongs to a previous commit on master (I didn't setup a mirror so that's why it doesn't match with any commit from this PR).
you can always add a Changelog file and do a commit on it before creating a lightweight tag. this way you can ensure that release name and body are intentional and accurate.
also .netrc.template is not necessary because it's functionality is replaced by CI variables. you can decide to remove or integrate it in future.
Closes: #2
this PR contains the following changes:
A refactoring of pull target; because that mv command was getting in the way of a CI job (random fails saying
mv command not found
) and since it was a static/mandatory step anyway, I see no harm in moving it to Dockerfile - https://github.com/metacall/distributable/commit/e9a34c023b720311dc179e3c367a0308658f53e6Upon creating a new tag it will trigger the CI to prepare a tarball, creates a release by using
${CI_COMMIT_TITLE}
and${CI_COMMIT_DESCRIPTION}
as name and body for the release. then uploads the build artifact asmetacall-tarball-linux-amd64.tar.gz
- https://github.com/metacall/distributable/commit/b24932947b1eabfa42a51427165953d3949f3254README.md is updated with required steps for automatic release. https://github.com/metacall/distributable/commit/c5c38ce74e12970ca81e6b78f7f7c389ef3e4935
also, I tried my best to speed up the build process. but
guix pull
cannot be cached. hence it takes around 50-70 minutes to build. and most of the time is spent byguix pull
. so be sure to increase the default timeout per job to 2h+if you try to cache that step, it yields the following error:
you can find more information about GitLab CI predefined variables here. I'm not sure if commit title and commit description are smart enough to pickup the commit message of current tag.
see the result - release body contains both commit title and commit description of the tag but it's name belongs to a previous commit on master (I didn't setup a mirror so that's why it doesn't match with any commit from this PR).
you can always add a Changelog file and do a commit on it before creating a lightweight tag. this way you can ensure that release name and body are intentional and accurate.
also
.netrc.template
is not necessary because it's functionality is replaced by CI variables. you can decide to remove or integrate it in future.