-
Notifications
You must be signed in to change notification settings - Fork 1.2k
88 lines (82 loc) · 3.19 KB
/
Copy pathhelm-docker-release.yaml
File metadata and controls
88 lines (82 loc) · 3.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
name: Build and Publish Helm Charts
description: Build and publish docker image and Helm charts for SkyPilot.
on:
workflow_call:
inputs:
package_name:
description: 'SkyPilot PyPI package name'
required: true
type: string
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
HELM_DEPLOY_KEY:
required: true
workflow_dispatch:
inputs:
package_name:
description: 'SkyPilot PyPI package name'
required: true
type: choice
options:
- 'skypilot-nightly'
- 'skypilot'
default: 'skypilot-nightly'
jobs:
set-package:
runs-on: ubuntu-latest
outputs:
package_name: ${{ inputs.package_name }}
steps:
- name: Validate package name
run: |
if [[ "${{ inputs.package_name }}" != "skypilot-nightly" && "${{ inputs.package_name }}" != "skypilot" ]]; then
echo "Error: package_name must be either 'skypilot-nightly' or 'skypilot'"
exit 1
fi
- name: Echo package name
run: echo "Using package ${{ inputs.package_name }}"
docker-build:
needs: set-package
uses: ./.github/workflows/docker-build.yaml
with:
package_name: ${{ needs.set-package.outputs.package_name }}
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
publish-helm:
needs: [set-package, docker-build]
uses: ./.github/workflows/publish-helm.yml
with:
version: ${{ needs.docker-build.outputs.version }}
commit_message: 'Update Helm charts for ${{ needs.set-package.outputs.package_name }} version ${{ needs.docker-build.outputs.version }}'
package_name: ${{ needs.set-package.outputs.package_name }}
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
HELM_DEPLOY_KEY: ${{ secrets.HELM_DEPLOY_KEY }}
smoke-tests-gke:
needs: [set-package, docker-build, publish-helm]
uses: ./.github/workflows/buildkite-trigger-wait.yml
with:
commit: ${{ github.sha }}
branch: ${{ github.ref_name }}
message: "helm-docker-release deploy tests GKE ${{ needs.set-package.outputs.package_name }} ${{ needs.docker-build.outputs.version }}"
pipeline: "smoke-tests"
build_env_vars: '{"ARGS": "--gcp --helm-package ${{ needs.set-package.outputs.package_name }} --helm-version ${{ needs.docker-build.outputs.version }} -k test_helm_deploy_gke"}'
timeout_minutes: 60
secrets:
BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }}
smoke-tests-eks:
needs: [set-package, docker-build, publish-helm]
uses: ./.github/workflows/buildkite-trigger-wait.yml
with:
commit: ${{ github.sha }}
branch: ${{ github.ref_name }}
message: "helm-docker-release deploy tests EKS ${{ needs.set-package.outputs.package_name }} ${{ needs.docker-build.outputs.version }}"
pipeline: "smoke-tests"
build_env_vars: '{"ARGS": "--aws --helm-package ${{ needs.set-package.outputs.package_name }} --helm-version ${{ needs.docker-build.outputs.version }} -k test_helm_deploy_eks"}'
timeout_minutes: 60
secrets:
BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }}