ci(azure-pipelines): templatify caching; use cache template for dependencies

This commit is contained in:
Sarah Vaupel 2025-02-07 21:34:13 +01:00
parent fb2647803b
commit 248c8ca42e
2 changed files with 24 additions and 48 deletions

View File

@ -5,8 +5,6 @@
parameters: parameters:
- name: serviceName - name: serviceName
type: string type: string
# - name: dependenciesArtifacts
# type: string
- name: dependenciesCaches - name: dependenciesCaches
type: object type: object
default: [] default: []
@ -20,18 +18,6 @@ parameters:
- name: dependenciesBuildTimeout - name: dependenciesBuildTimeout
type: number type: number
default: 60 default: 60
# - name: dependenciesSource
# type: string
# default: 'current'
# values:
# - 'current'
# - 'specific'
# - name: dependenciesVersion
# type: string
# default: 'latest'
# values:
# - 'latest'
# - 'latestFromBranch'
jobs: jobs:
- job: SetupDependencies_${{parameters.serviceName}} - job: SetupDependencies_${{parameters.serviceName}}
@ -54,26 +40,11 @@ jobs:
steps: steps:
# Restore previously-built dependencies from caches # Restore previously-built dependencies from caches
- ${{ each cache in parameters.dependenciesCaches }}: - ${{ each cache in parameters.dependenciesCaches }}:
- task: Cache@2 - template: ./../../steps/cache.yaml
displayName: Restore cached ${{parameters.serviceName}} dependencies parameters:
inputs: cacheIdent: '${{parameters.serviceName}}-dependencies'
key: '"${{parameters.serviceName}}-dependencies" | ${{cache.key}}' cacheKeys: '${{cache.key}}'
path: '${{cache.path}}' cachePath: '${{cache.path}}'
# - task: DownloadPipelineArtifact@2
# displayName: Download previously built ${{parameters.serviceName}} dependencies
# condition: eq(variables.useCachedDependencies, true)
# continueOnError: true
# inputs:
# artifactName: '${{parameters.serviceName}}-dependencies'
# source: ${{parameters.dependenciesSource}}
# project: 'Fahrerausbildung' # TODO: hardcoded for now, could not figure out which predefined variable to use
# pipeline: $(System.DefinitionId)
# buildVersionToDownload: '${{parameters.dependenciesVersion}}'
# # tags: '${{dependenciesArtifacts}}'
# allowPartiallySucceededBuilds: true
# allowFailedBuilds: true
# patterns: '${{parameters.dependenciesArtifacts}}'
# targetPath: '$(Build.Repository.LocalPath)'
# Compile dependencies # Compile dependencies
- template: ./../../steps/make.yaml - template: ./../../steps/make.yaml
@ -82,16 +53,3 @@ jobs:
makeService: ${{parameters.serviceName}} makeService: ${{parameters.serviceName}}
# (Note: a post-job for updating the dependency cache is automatically created, so no further step is due here.) # (Note: a post-job for updating the dependency cache is automatically created, so no further step is due here.)
# Upload newly-built dependencies as artifacts
# - task: CopyFiles@2
# displayName: Copy ${{parameters.serviceName}} dependencies for upload
# inputs:
# Contents: '${{parameters.dependenciesArtifacts}}'
# TargetFolder: '$(Build.ArtifactStagingDirectory)'
# - task: PublishBuildArtifacts@1
# displayName: Upload ${{parameters.serviceName}} dependencies as artifacts
# inputs:
# PathtoPublish: '$(Build.ArtifactStagingDirectory)'
# ArtifactName: '${{parameters.serviceName}}-dependencies'
# publishLocation: 'Container'

View File

@ -0,0 +1,18 @@
# SPDX-FileCopyrightText: 2025 Sarah Vaupel <sarah.vaupel@uniworx.de>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
parameters:
- name: cacheIdent
type: string
- name: cacheKeys
type: string
- name: cachePath
type: string
steps:
- task: Cache@2
displayName: Restore ${{parameters.cacheIdent}} cache
inputs:
key: '"${{parameters.cacheIdent}}" | ${{cacheKeys}}'
path: '${{cachePath}}'