-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hercules agent appears to delete the .git folder #471
Comments
I'm glad you've described both problems, because since this week, you can solve the asynchronous build directly with the new While adding the The As a general outline, to use this feature the steps are
Click to open draft guide...Here's a draft of the TODO (@roberth)
Starting point
{
foo = mkDerivation ...;
bar = barPackages.bar;
slow = runCommand "slow" {} "";
} Add
let ciNix = {
foo = mkDerivation ...;
bar = barPackages.bar;
slow = runCommand "slow" {} "";
herculesCI = { ... }: {
onPush.default.outputs = fixupRecurseForDerivations (removeAttrs ["herculesCI"] ciNix);
};
} Update the branch protection settings on GitHub to look for the new status instead. Add
let ciNix = {
foo = mkDerivation ...;
bar = barPackages.bar;
slow = runCommand "slow" {} "";
herculesCI = { ... }: {
onPush.default.outputs = fixupRecurseForDerivations (removeAttrs ["herculesCI"] ciNix) // { slow = null; };
onSchedule.slow = {
outputs = { inherit (ciNix) slow; };
when = {
# every day at 2:xx UTC
# see [docs](https://docs.hercules-ci.com/hercules-ci-agent/evaluation/#attributes-herculesCI.onSchedule-when)
hour = [ 2 ];
};
};
};
} |
This solves 90% of our problem, however we also want to deploy a version of the haddock and timings report with the rest of our application in a http authenticated 'dev' environment. |
Where it says You could deploy the haddocks and timings report to a separate profile; for example Alternatively, I now realize that your I can generalize the update effect in |
A workaround for this, when using a
|
Description
At supercede we're trying to make the docs and ghc timings report not build for every master merge, and do this perhaps once per week.
Both these products are simply not that interesting to be kept up to date all the time, but they take up to 30% of CI running times.
This is problematic considering we sometimes need to do "hot" fixes, and having to wait an additional 20 minutes on some build product you don't care about isn't great.
So we wanted to pin this to some previous version of the product.
And have this pin updated once a week by a cron job.
To Reproduce
The most obvious thing we tried was creating a nix file labeled nix/old-supercede.nix and then:
This fails because there is no .git folder.
(although this particular command won't tell, the nixpkgs fetchGit will).
Expected behavior
I'd expect the git folder to be there
Logs
this is from fetch git:
but a more eleborate scheme where I ran all git commands myself resulted in:
Platform / Version
The text was updated successfully, but these errors were encountered: