fix: keep dev e2e repo fetch on host
This commit is contained in:
@@ -654,45 +654,21 @@ spec:
|
||||
- name: app-image
|
||||
type: string
|
||||
default: unidesk-code-queue:dev
|
||||
- name: backend-core-commit
|
||||
type: string
|
||||
default: unknown
|
||||
- name: frontend-commit
|
||||
type: string
|
||||
default: unknown
|
||||
- name: code-queue-commit
|
||||
type: string
|
||||
default: unknown
|
||||
- name: deploy-json-b64
|
||||
type: string
|
||||
default: ""
|
||||
workspaces:
|
||||
- name: source
|
||||
steps:
|
||||
- name: clone-deploy-manifest
|
||||
image: alpine/git:2.45.2
|
||||
env:
|
||||
- name: HTTP_PROXY
|
||||
value: "http://d601-provider-egress-proxy.unidesk.svc.cluster.local:18789"
|
||||
- name: HTTPS_PROXY
|
||||
value: "http://d601-provider-egress-proxy.unidesk.svc.cluster.local:18789"
|
||||
- name: ALL_PROXY
|
||||
value: "http://d601-provider-egress-proxy.unidesk.svc.cluster.local:18789"
|
||||
- name: NO_PROXY
|
||||
value: "localhost,127.0.0.1,::1,d601-provider-egress-proxy,d601-provider-egress-proxy.unidesk,d601-provider-egress-proxy.unidesk.svc,d601-provider-egress-proxy.unidesk.svc.cluster.local"
|
||||
- name: http_proxy
|
||||
value: "http://d601-provider-egress-proxy.unidesk.svc.cluster.local:18789"
|
||||
- name: https_proxy
|
||||
value: "http://d601-provider-egress-proxy.unidesk.svc.cluster.local:18789"
|
||||
- name: all_proxy
|
||||
value: "http://d601-provider-egress-proxy.unidesk.svc.cluster.local:18789"
|
||||
- name: no_proxy
|
||||
value: "localhost,127.0.0.1,::1,d601-provider-egress-proxy,d601-provider-egress-proxy.unidesk,d601-provider-egress-proxy.unidesk.svc,d601-provider-egress-proxy.unidesk.svc.cluster.local"
|
||||
script: |
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
run_dir="$(workspaces.source.path)/dev-e2e-$(params.run-id)"
|
||||
rm -rf "$run_dir"
|
||||
mkdir -p "$run_dir"
|
||||
git clone --filter=blob:none --no-checkout "$(params.repo-url)" "$run_dir/repo"
|
||||
cd "$run_dir/repo"
|
||||
git fetch --depth=1 origin "$(params.desired-ref)"
|
||||
actual="$(git rev-parse FETCH_HEAD)"
|
||||
expected="$(params.deploy-commit)"
|
||||
if [ "$actual" != "$expected" ]; then
|
||||
echo "desired ref commit mismatch actual=$actual expected=$expected" >&2
|
||||
exit 1
|
||||
fi
|
||||
git show FETCH_HEAD:deploy.json >"$run_dir/deploy.json"
|
||||
printf '%s\n' "$actual" >"$run_dir/deploy-commit.txt"
|
||||
- name: namespace-smoke-e2e
|
||||
image: "$(params.app-image)"
|
||||
imagePullPolicy: Never
|
||||
@@ -719,8 +695,12 @@ spec:
|
||||
ns="unidesk-ci-e2e-$(params.run-id)"
|
||||
keep="$(params.keep-namespace)"
|
||||
run_dir="$(workspaces.source.path)/dev-e2e-$(params.run-id)"
|
||||
deploy_json="$run_dir/deploy.json"
|
||||
mkdir -p "$run_dir"
|
||||
result_json="$run_dir/dev-e2e-result.json"
|
||||
deploy_json_b64="$(params.deploy-json-b64)"
|
||||
backend_commit="$(params.backend-core-commit)"
|
||||
frontend_commit="$(params.frontend-commit)"
|
||||
code_queue_commit="$(params.code-queue-commit)"
|
||||
kube_api="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT_HTTPS}"
|
||||
kube_token="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
|
||||
kube_ca="/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
|
||||
@@ -749,33 +729,6 @@ spec:
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
bun - "$deploy_json" "$run_dir/dev-e2e-service-commits.env" "$(params.environment)" <<'BUN'
|
||||
const [deployPath, outPath, environment] = process.argv.slice(2);
|
||||
const manifest = await Bun.file(deployPath).json();
|
||||
if (!manifest || manifest.schemaVersion !== 2 || !manifest.environments?.[environment]) {
|
||||
throw new Error(`deploy.json must contain schemaVersion=2 environments.${environment}`);
|
||||
}
|
||||
const services = manifest.environments[environment].services;
|
||||
if (!Array.isArray(services) || services.length === 0) {
|
||||
throw new Error(`deploy.json environments.${environment}.services must contain services`);
|
||||
}
|
||||
const lines = [];
|
||||
for (const service of services) {
|
||||
if (!service?.id || !service?.commitId || !service?.repo) {
|
||||
throw new Error(`each deploy.json environments.${environment} service must contain id, repo and commitId`);
|
||||
}
|
||||
const key = String(service.id).toUpperCase().replace(/[^A-Z0-9]/g, "_");
|
||||
lines.push(`${key}_COMMIT=${service.commitId}`);
|
||||
}
|
||||
await Bun.write(outPath, lines.join("\n") + "\n");
|
||||
console.log(JSON.stringify({ ok: true, environment, services: services.map((service) => ({ id: service.id, commitId: service.commitId })) }));
|
||||
BUN
|
||||
# shellcheck disable=SC1091
|
||||
source "$run_dir/dev-e2e-service-commits.env"
|
||||
backend_commit="${BACKEND_CORE_COMMIT:-unknown}"
|
||||
frontend_commit="${FRONTEND_COMMIT:-unknown}"
|
||||
code_queue_commit="${CODE_QUEUE_COMMIT:-unknown}"
|
||||
|
||||
delete_path "api/v1/namespaces/$ns"
|
||||
cat >/tmp/dev-e2e-namespace.yaml <<YAML
|
||||
apiVersion: v1
|
||||
@@ -792,7 +745,6 @@ spec:
|
||||
--data-binary @/tmp/dev-e2e-namespace.yaml \
|
||||
"$kube_api/api/v1/namespaces/$ns?fieldManager=unidesk-ci&force=true" >/dev/null
|
||||
|
||||
deploy_json_b64="$(base64 -w0 "$deploy_json")"
|
||||
cat >/tmp/dev-e2e-configmap.yaml <<YAML
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
@@ -1002,6 +954,18 @@ spec:
|
||||
- name: app-image
|
||||
type: string
|
||||
default: unidesk-code-queue:dev
|
||||
- name: backend-core-commit
|
||||
type: string
|
||||
default: unknown
|
||||
- name: frontend-commit
|
||||
type: string
|
||||
default: unknown
|
||||
- name: code-queue-commit
|
||||
type: string
|
||||
default: unknown
|
||||
- name: deploy-json-b64
|
||||
type: string
|
||||
default: ""
|
||||
workspaces:
|
||||
- name: shared-workspace
|
||||
tasks:
|
||||
@@ -1023,6 +987,14 @@ spec:
|
||||
value: "$(params.keep-namespace)"
|
||||
- name: app-image
|
||||
value: "$(params.app-image)"
|
||||
- name: backend-core-commit
|
||||
value: "$(params.backend-core-commit)"
|
||||
- name: frontend-commit
|
||||
value: "$(params.frontend-commit)"
|
||||
- name: code-queue-commit
|
||||
value: "$(params.code-queue-commit)"
|
||||
- name: deploy-json-b64
|
||||
value: "$(params.deploy-json-b64)"
|
||||
workspaces:
|
||||
- name: source
|
||||
workspace: shared-workspace
|
||||
|
||||
Reference in New Issue
Block a user