84 lines
2.8 KiB
Jsonnet
84 lines
2.8 KiB
Jsonnet
// common.libsonnet - Shared configuration
|
||
{
|
||
environment: {
|
||
GIT_SSL_NO_VERIFY: "true"
|
||
},
|
||
|
||
cloneStep: {
|
||
name: "clone",
|
||
image: "alpine/git",
|
||
commands: [
|
||
"echo '🔄 Cloning repository...'",
|
||
"git config --global http.sslVerify false",
|
||
"git config --global user.email 'drone@aipice.local'",
|
||
"git config --global user.name 'Drone CI'",
|
||
"git clone https://gitea.aipice.local/AIPICE/auth-service.git . || echo 'Clone failed, but continuing...'",
|
||
"git checkout $DRONE_COMMIT || echo 'Checkout failed, using default'"
|
||
],
|
||
when: {
|
||
event: ["push"]
|
||
}
|
||
},
|
||
|
||
versionStep: {
|
||
name: "read-version",
|
||
image: "alpine:latest",
|
||
commands: [
|
||
"echo '📄 Reading version configuration...'",
|
||
"echo 'Sourcing version.conf...'",
|
||
". ./version.conf",
|
||
"echo \"BASE_VERSION: $BASE_VERSION\"",
|
||
"echo \"DOCKER_REPO: $DOCKER_REPO\"",
|
||
"DOCKER_TAG=\"$DOCKER_REPO:$BASE_VERSION.$DRONE_BUILD_NUMBER\"",
|
||
"echo \"DOCKER_TAG: $DOCKER_TAG\"",
|
||
"echo '✅ Version configuration loaded!'",
|
||
"echo \"Will build: $DOCKER_TAG\""
|
||
],
|
||
when: {
|
||
event: ["push"]
|
||
}
|
||
},
|
||
|
||
testStep: {
|
||
name: "test",
|
||
image: "alpine:latest",
|
||
commands: [
|
||
"echo '🧪 Starting tests...'",
|
||
"echo 'Repository ${DRONE_REPO}'",
|
||
"echo 'Branch ${DRONE_BRANCH}'",
|
||
"echo 'Owner ${DRONE_REPO_OWNER}'",
|
||
"echo 'Commit ${DRONE_COMMIT_SHA:0:8}'",
|
||
"echo 'Build ${DRONE_BUILD_NUMBER}'",
|
||
"echo 'Reading version info...'",
|
||
". ./version.conf",
|
||
"DOCKER_TAG=\"$DOCKER_REPO:$BASE_VERSION.$DRONE_BUILD_NUMBER\"",
|
||
"echo \"Docker tag will be: $DOCKER_TAG\"",
|
||
"echo 'Checking Dockerfile:'",
|
||
"cat Dockerfile || echo '❌ Dockerfile not found!'",
|
||
"echo '✅ Pre-build validation passed!'"
|
||
],
|
||
when: {
|
||
event: ["push"]
|
||
}
|
||
},
|
||
|
||
cleanupStep: {
|
||
name: "cleanup-build-lock",
|
||
image: "alpine:latest",
|
||
commands: [
|
||
"echo '🧹 Ensuring build lock cleanup...'",
|
||
"apk add --no-cache curl",
|
||
"curl -LO \"https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl\"",
|
||
"chmod +x kubectl && mv kubectl /usr/local/bin/",
|
||
"BUILDAH_POD=$(kubectl get pods -n apps--droneio--prd -l app=buildah-external --field-selector=status.phase=Running -o jsonpath='{.items[0].metadata.name}')",
|
||
"if [ -n \"$BUILDAH_POD\" ]; then kubectl exec $BUILDAH_POD -n apps--droneio--prd -- rm -f \"/workspace/locks/build-${DRONE_BUILD_NUMBER}.lock\" || echo \"Lock cleanup completed\"; echo \"✅ Lock cleanup verified\"; else echo \"⚠️ Buildah pod not available for cleanup\"; fi"
|
||
],
|
||
when: {
|
||
status: ["success", "failure"]
|
||
}
|
||
},
|
||
|
||
trigger: {
|
||
event: ["push", "pull_request"]
|
||
}
|
||
} |