Pass -P-consume-incrementals unless a PR specifically includes marker file consume-incrementals#991
Pass -P-consume-incrementals unless a PR specifically includes marker file consume-incrementals#991jglick wants to merge 7 commits intojenkins-infra:masterfrom
-P-consume-incrementals unless a PR specifically includes marker file consume-incrementals#991Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
I don't trust GitHub search. Recommanding https://github.com/gabrie30/ghorg to search across a local copy of @jenkins-infra and/or @jenkinsci1 $ rg ARTIFACT_CACHING_PROXY_SERVERID
jenkins-infra/dist/profile/templates/jenkinscontroller/casc/clouds-kubernetes.yaml.erb
64: key: "ARTIFACT_CACHING_PROXY_SERVERID"
jenkins-infra/dist/profile/templates/jenkinscontroller/casc/clouds-azurevm.yaml.erb
39: [System.Environment]::SetEnvironmentVariable("ARTIFACT_CACHING_PROXY_SERVERID", "<%= @jcasc['artifact_caching_proxy']['servers'][cloudsetup['acpServerId']]['url'] %>", "Machine")
40: $Env:ARTIFACT_CACHING_PROXY_SERVERID = "<%= @jcasc['artifact_caching_proxy']['servers'][cloudsetup['acpServerId']]['url'] %>"
124: export ARTIFACT_CACHING_PROXY_SERVERID='<%= @jcasc['artifact_caching_proxy']['servers'][cloudsetup['acpServerId']]['url'] %>'
148: Environment="ARTIFACT_CACHING_PROXY_SERVERID=^${ARTIFACT_CACHING_PROXY_SERVERID}"
jenkins-infra/dist/profile/templates/jenkinscontroller/casc/clouds-ec2.yaml.erb
82: - key: "ARTIFACT_CACHING_PROXY_SERVERID"
pipeline-library/test/groovy/InfraStepTests.groovy
194: env.ARTIFACT_CACHING_PROXY_SERVERID = 'https://foo:1313'
205: assertTrue(assertMethodCallContainsPattern('echo', "INFO: using artifact caching proxy server '${env.ARTIFACT_CACHING_PROXY_SERVERID}'."))
207: assertTrue(assertMethodCallContainsPattern('configFile', "fileId=${env.ARTIFACT_CACHING_PROXY_SERVERID}"))
226: assertTrue(assertMethodCallContainsPattern('echo', "WARNING: artifact caching proxy is enabled but the provided 'ARTIFACT_CACHING_PROXY_SERVERID' setup on the agent is empty, will use repo.jenkins-ci.org."))
254: env.ARTIFACT_CACHING_PROXY_SERVERID = 'https://foo:1313'
268: assertTrue(assertMethodCallContainsPattern('configFile', "fileId=${env.ARTIFACT_CACHING_PROXY_SERVERID}"))
279: env.ARTIFACT_CACHING_PROXY_SERVERID = 'https://foo:1313'
293: assertFalse(assertMethodCallContainsPattern('configFile', "fileId=${env.ARTIFACT_CACHING_PROXY_SERVERID}"))
304: env.ARTIFACT_CACHING_PROXY_SERVERID = 'https://foo:1313'
317: assertTrue(assertMethodCallContainsPattern('configFile', "fileId=${env.ARTIFACT_CACHING_PROXY_SERVERID}"))
327: env.ARTIFACT_CACHING_PROXY_SERVERID = 'https://foo:1313'
341: assertTrue(assertMethodCallContainsPattern('echo', "WARNING: the artifact caching proxy server '${env.ARTIFACT_CACHING_PROXY_SERVERID}' isn't reachable, will use repo.jenkins-ci.org."))
343: assertFalse(assertMethodCallContainsPattern('echo', "INFO: using artifact caching proxy server '${env.ARTIFACT_CACHING_PROXY_SERVERID}'."))
345: assertFalse(assertMethodCallContainsPattern('configFile', "fileId=${env.ARTIFACT_CACHING_PROXY_SERVERID}"))
357: env.ARTIFACT_CACHING_PROXY_SERVERID = 'https://foo:1313'
pipeline-library/vars/infra.groovy
185: * Artifact Caching Proxy server defined in agent's env.ARTIFACT_CACHING_PROXY_SERVERID variable.
191: final String acpServerId = env.ARTIFACT_CACHING_PROXY_SERVERID
194: echo "WARNING: artifact caching proxy is enabled but the provided 'ARTIFACT_CACHING_PROXY_SERVERID' setup on the agent is empty, will use repo.jenkins-ci.org."
pipeline-library/vars/infra.txt
44: Artifact Caching Proxy server defined in agent's env.ARTIFACT_CACHING_PROXY_SERVERID variable.Footnotes
|
Most probably, here is the current config of ACP for our controllers on VMs (ci.jenkins.io, trusted.ci.jenkins.io & cert.ci.jenkins.io): https://github.com/jenkins-infra/jenkins-infra/blob/dcd24c38d6a61d2d0596f1dc6d84819a16e5ee75/dist/profile/templates/jenkinscontroller/casc/artifact-caching-proxy.yaml.erb See blame for evolution and links to the corresponding helpdesk issues. ( |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
@lemeurherve @dduportal I think I need help here, since I do not really know how the ACP is set up, and jenkins-infra/jenkins-infra#4669 did not work—it is apparently still serving artifacts from the |
|
Context in here: jenkins-infra/helpdesk#3969 (comment) and Basil explaining consequence here: |
Please note that the gain of caching incrementals has been surprisingly huge in term of bandwidth consumed from repo.jenkins-ci.org. If you are blocked by this, the config is here: https://github.com/jenkins-infra/helm-charts/blob/9d8ae214c001fa28598a7438556e0dcc73d828ca/charts/artifact-caching-proxy/templates/nginx-proxy-configmap.yaml#L133-L158 => the Be careful. it WILL have side effect, I can't recall which ones. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
…brary into disable-consume-incrementals
-P-consume-incrementals on origin repo builds-P-consume-incrementals unless a PR specifically requests them with marked file consume-incrementals
-P-consume-incrementals unless a PR specifically requests them with marked file consume-incrementals-P-consume-incrementals unless a PR specifically includes marker file consume-incrementals
| mavenOptions += "help:evaluate -Dexpression=changelist -Doutput=$changelistF" | ||
| } | ||
| } | ||
| if (fileExists('consume-incrementals')) { |
There was a problem hiding this comment.
Alternately, we could just have a marker file incrementals which would gate both production and consumption of incrementals. Thus, when developing paired upstream/downstream PRs, you would need to create this file on both PRs, and delete it prior to merging. (Assuming CD, the upstream PR would deploy a release after merging. jenkins-infra/interesting-category-action#1 would make this friendlier.)
There was a problem hiding this comment.
I'd rather avoid the production one unless its really needed.
Block usage of Incrementals dependencies not just during releases as jenkins-infra/jenkins-maven-cd-action#3 does, but “shifting left” into branch builds (
master) as well as all PR builds by default including those used by both Dependabot and Renovate, so that theconsume-incrementalsprofile would be active only locally (due to.mvn/maven.config) and in PR builds that specifically request it. Should offer a first line of defense against problems like jenkins-infra/helpdesk#4990 (comment).Required by jenkins-infra/helpdesk#4998. Probably harmless to merge first, but useless because as seen in jenkinsci/jenkins-infra-test-plugin#212 the Incrementals deps are loaded anyway, pending jenkins-infra/helpdesk#4998.