-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
According to (internal) https://dev.azure.com/vclibs/_settings/storage , we're consuming 5.01 GiB for "Pipeline caching" (which is expected and good), and 11.09 TiB for "Pipeline artifacts". 🙀 While https://dev.azure.com/vclibs/_settings/billing notes that there's "No limit, pay for what you use" and "Artifacts now bills for packages-only", 11 ters are probably going to attract someone's attention (probably someone whose job title is Person In Charge Of Sending Scary Emails About Not Spending All Of Microsoft's Money On Hard Drives, which is a totally cool and necessary job, we just don't want to get those scary emails about the STL).
Questions of varying importance:
- What are pipeline artifacts?
- Are they the result of building the STL? And/or are they the result of building all of the STL's tests?
- Are we intentionally storing pipeline artifacts?
- I don't expect runs to output anything other than logs.
- What's causing us to store pipeline artifacts, so we can stop doing this?
- I suspect it's the occurrences of
publishArtifactadded by Build, but don't run, ARM/ARM64 tests #1505:
STL/azure-devops/run-tests.yml
Lines 17 to 19 in a31bd6e
- name: publishArtifact type: boolean default: false
STL/azure-devops/run-tests.yml
Lines 41 to 48 in a31bd6e
- publish: $(${{ parameters.buildOutPutLocationVar }})/out artifact: '${{ parameters.targetPlatform }}-$(System.JobPositionInPhase)-libs-$(System.JobId)' condition: ${{ parameters.publishArtifact }} displayName: 'Publish Libs and Headers Artifact' - publish: $(${{ parameters.buildOutPutLocationVar }})/tests artifact: '${{ parameters.targetPlatform }}-$(System.JobPositionInPhase)-tests-$(System.JobId)' condition: ${{ parameters.publishArtifact }} displayName: 'Publish Tests Artifact'
STL/azure-devops/cross-build.yml
Lines 45 to 51 in a31bd6e
- template: run-tests.yml parameters: hostArch: ${{ parameters.hostArch }} targetPlatform: ${{ parameters.targetPlatform }} targetArch: ${{ parameters.vsDevCmdArch }} displayName: 'Build Tests' publishArtifact: true - The
Publish Tests Artifactappears to indicate that this is indeed saving the result of building all of the STL's tests. As this is done only for the cross-build (i.e. ARM/ARM64, and not x86/x64), and I am not aware of anything that consumes these artifacts, I suspect that they are unnecessary (at least for now; possibly the intention was to copy them to ARM/ARM64 machines for execution).
- I suspect it's the occurrences of
- Can we delete the pipeline artifacts we've accumulated so far?
- https://dev.azure.com/vclibs/STL/_settings/settings has retention policies, although I am not immediately sure how to change them.
- Perhaps this is lower priority; given that we haven't received any scary emails yet, perhaps we can wait 30 days (or whatever, but that appears to be an upper bound) for the accumulated artifacts to expire.