mirror of
https://gitlab.com/veilid/veilid.git
synced 2024-12-26 15:59:24 -05:00
Merge branch 'no-build-cache' into 'main'
Bugfix: Build the build cache when no cache See merge request veilid/veilid!283
This commit is contained in:
commit
808d8895c7
@ -35,12 +35,17 @@ build_cache:
|
|||||||
stage: prepare
|
stage: prepare
|
||||||
script:
|
script:
|
||||||
- apk update && apk add jq && apk add curl
|
- apk update && apk add jq && apk add curl
|
||||||
|
- if ! docker manifest inspect $CI_REGISTRY_IMAGE/build-cache:latest > /dev/null; then
|
||||||
|
- CACHE_EPOCH=0
|
||||||
|
- else
|
||||||
- 'CONT_REPO_ID=$(curl "https://gitlab.com/api/graphql" --header "Content-Type: application/json" --request POST --data "{\"query\": \"query { project(fullPath: \\\"$CI_PROJECT_PATH\\\" ) { containerRepositories( name: \\\"build-cache\\\" ) { nodes { id }}}} \"}" | jq -r ".data.project.containerRepositories.nodes[0].id")'
|
- 'CONT_REPO_ID=$(curl "https://gitlab.com/api/graphql" --header "Content-Type: application/json" --request POST --data "{\"query\": \"query { project(fullPath: \\\"$CI_PROJECT_PATH\\\" ) { containerRepositories( name: \\\"build-cache\\\" ) { nodes { id }}}} \"}" | jq -r ".data.project.containerRepositories.nodes[0].id")'
|
||||||
|
- echo "CONTAINER REPO ID = $CONT_REPO_ID"
|
||||||
- 'CACHE_TS=$(curl "https://gitlab.com/api/graphql" --header "Content-Type: application/json" --request POST --data "{\"query\": \"query { containerRepository(id: \\\"$CONT_REPO_ID\\\") { tags( first: 1 name: \\\"latest\\\" ) { nodes { location publishedAt }}}} \"}" | jq -r ".data.containerRepository.tags.nodes[0].publishedAt" | cut -d "+" -f1 | sed "s/T/ /g" )'
|
- 'CACHE_TS=$(curl "https://gitlab.com/api/graphql" --header "Content-Type: application/json" --request POST --data "{\"query\": \"query { containerRepository(id: \\\"$CONT_REPO_ID\\\") { tags( first: 1 name: \\\"latest\\\" ) { nodes { location publishedAt }}}} \"}" | jq -r ".data.containerRepository.tags.nodes[0].publishedAt" | cut -d "+" -f1 | sed "s/T/ /g" )'
|
||||||
- CACHE_EPOCH=$(date -d "$CACHE_TS" +%s)
|
- CACHE_EPOCH=$(date -d "$CACHE_TS" +%s)
|
||||||
|
- fi
|
||||||
- EARTHLY_EPOCH=$(git log -1 --format=%ct Earthfile)
|
- EARTHLY_EPOCH=$(git log -1 --format=%ct Earthfile)
|
||||||
- echo "CACHE EPOCH = $CACHE_EPOCH, EARTHLY EPOCH = $EARTHLY_EPOCH"
|
- echo "CACHE EPOCH = $CACHE_EPOCH, EARTHLY EPOCH = $EARTHLY_EPOCH"
|
||||||
- if ! docker manifest inspect $CI_REGISTRY_IMAGE/build-cache:latest > /dev/null || [[ $EARTHLY_EPOCH -gt $CACHE_EPOCH ]] || [[ "$CI_PIPELINE_SOURCE" == "schedule" ]] || [[ "$CI_PIPELINE_SOURCE" == "web" ]] ; then
|
- if [[ $EARTHLY_EPOCH -gt $CACHE_EPOCH ]] || [[ "$CI_PIPELINE_SOURCE" == "schedule" ]] || [[ "$CI_PIPELINE_SOURCE" == "web" ]] ; then
|
||||||
- *earthly_setup
|
- *earthly_setup
|
||||||
- earthly --use-inline-cache --save-inline-cache --strict --push -P +build-linux-cache $project_args
|
- earthly --use-inline-cache --save-inline-cache --strict --push -P +build-linux-cache $project_args
|
||||||
- else
|
- else
|
||||||
|
Loading…
Reference in New Issue
Block a user