Closed noahgibbs closed 1 year ago
Jenkins exists and works, but there's a lot of polish-up still to do. For now I'll keep that in a single issue here.
Everything here is either done or has moved into #207 and #209.
Jenkins exists and works, but there's a lot of polish-up still to do. For now I'll keep that in a single issue here.
Jenkins is using http only; need to use https, which will mean configuring NGinX and LetsEncryptJenkins needs better authentication, probably via GitHub OAuth, which will need a GitHub app (https://plugins.jenkins.io/github-oauth/)Added: figure out how we want to configure Jenkins auth in terms of the org; the plugin seems to be having trouble with Shopify having an uppercase name :-(I've given up and added people manually with full admin privileges.Jenkins Slack notification exists but is very simple (e.g. https://github.com/Shopify/yjit-metrics/blob/main/continuous_reporting/jenkins/Jenkinsfile_full_benchmark_run#L262) - need to configure better with colours, bold, etc, and add configurable notification per-build defaulting to #yjit-metrics channel; see https://www.jenkins.io/doc/pipeline/tour/running-multiple-steps/ for notification types; note: can't easily get per-stage failures, so need to surround the stages in try/catch.Moved to https://github.com/Shopify/yjit-metrics/issues/209Update to latest Jenkins (https://medium.com/geekculture/how-to-upgrade-jenkins-on-windows-linux-server-b7d4526abc31) - can this be done via apt? (note: done via apt)Get the full-benchmark runs working - right now there are periodic Git checkout/update issues that need to be figured outGet checkout happening right after benchmark runs, not waiting until after reportingGet the new GitHub repos and keys in place to avoid all tokens with privileges on Shopify infrastructureMoved to https://github.com/Shopify/yjit-metrics/issues/207I'm manually copy-and-pasting chunks of Jenkinsfile in several places - it's possible to use a shared lib to share code (see https://www.lambdatest.com/blog/use-jenkins-shared-libraries-in-a-jenkins-pipeline/ https://www.jenkins.io/doc/book/pipeline/shared-libraries/ https://www.jenkins.io/blog/2017/10/02/pipeline-templates-with-shared-libraries/) and/or invoke one job from another (https://stackoverflow.com/questions/43337070/how-to-invoke-a-jenkins-pipeline-a-in-another-jenkins-pipeline-b)Moved to https://github.com/Shopify/yjit-metrics/issues/208