diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 1ec9e9c..328cd5a 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -31,23 +31,31 @@ jobs: env: NOMAD_ADDR: ${{ secrets.NOMAD_ADDR }} run: | - # Force re-evaluation (uuid changes on each job run) - echo "Triggering evaluation at $NOMAD_ADDR" - curl -sS -X POST "$NOMAD_ADDR/v1/job/animaltrack/evaluate" > /dev/null + # Fetch current job, update meta.uuid to force deployment, resubmit + echo "Fetching current job spec..." + JOB=$(curl -sS "$NOMAD_ADDR/v1/job/animaltrack") + + # Update meta.uuid to force a new deployment + NEW_UUID=$(cat /proc/sys/kernel/random/uuid) + echo "Setting new UUID: $NEW_UUID" + UPDATED_JOB=$(echo "$JOB" | jq --arg uuid "$NEW_UUID" '.Meta.uuid = $uuid') + + # Submit the updated job + echo "Submitting job..." + RESULT=$(echo "{\"Job\": $UPDATED_JOB}" | curl -sS -X POST "$NOMAD_ADDR/v1/jobs" \ + -H "Content-Type: application/json" -d @-) + echo "Submit result: $RESULT" # Wait for deployment to be created - sleep 5 + sleep 3 echo "Fetching deployments..." - DEPLOYMENTS=$(curl -sS "$NOMAD_ADDR/v1/job/animaltrack/deployments") - echo "Response: $DEPLOYMENTS" - - DEPLOY_ID=$(echo "$DEPLOYMENTS" | jq -r '.[0].ID') + DEPLOY_ID=$(curl -sS "$NOMAD_ADDR/v1/job/animaltrack/deployments" | jq -r '.[0].ID') echo "Deployment ID: $DEPLOY_ID" if [ "$DEPLOY_ID" = "null" ] || [ -z "$DEPLOY_ID" ]; then - echo "No deployment found, job may not have update stanza" - exit 0 + echo "No deployment created" + exit 1 fi for i in $(seq 1 30); do