<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Jonas, our resident DevOps guru is happy with this approach, so I am, too ;)<div class=""><br class=""></div><div class="">Jonas notes that ”If the garbage collection can be time based, S3 can handle it itself: <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html" class="">https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html</a>”</div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Manuel<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">21.03.2018 02:14 Karpov, Mark <<a href="mailto:mark.karpov@tweag.io" class="">mark.karpov@tweag.io</a>>:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hello,<div class=""><br class=""></div><div class="">I'd like to share a solution for storing build artifacts we've come up with. The solution is to use S3 to store N last artifacts per job on Circle CI and also on AppVeyor. Auth info can be stored in environment variables if we're careful to use the following settings:</div><div class=""><br class=""></div><div class="">* For Circle CI, there is "Pass secrets to builds from forked pull requests", which should be set to "off". This way only pull requests from the same repo will have access to sensitive environment variables.</div><div class="">* For AppVeyor, similarly, there is "Enable secure variables in pull requests from the same repository only" (should be enabled).</div><div class=""><br class=""></div><div class="">Then we can put the key that AWS uses for authentication in an environment variable and either</div><div class=""><br class=""></div><div class="">* Use AWS CLI utility and do some bash coding around it.</div><div class="">* Create a little application that will handle uploading to S3 with all the necessary logic.</div><div class=""><br class=""></div><div class="">By the logic I mean that we perhaps should do some clean-up, such as deletion of old files.</div><div class=""><br class=""></div><div class="">Let me know if this sounds good to you, and if so, I could start on this.</div><div class=""><br class=""></div><div class="">Cheers,</div><div class=""><br class=""></div><div class="">Mark</div></div>
_______________________________________________<br class="">Ghc-devops-group mailing list<br class=""><a href="mailto:Ghc-devops-group@haskell.org" class="">Ghc-devops-group@haskell.org</a><br class="">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devops-group<br class=""></div></blockquote></div><br class=""></div></body></html>