Skip to content

Commit 0cf88e3

Browse files
committed
workaround CI installing same config against different schemas
- install an extra 'old' yaml config when installing against an old binderhub version - this file should only exist during PRs that change the schema, delete immediately after merging
1 parent f0db8e4 commit 0cf88e3

File tree

4 files changed

+87
-2
lines changed

4 files changed

+87
-2
lines changed

.github/workflows/diff.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,20 @@ jobs:
3737
3838
# NOTE: We change the directory so binderhub the chart name won't be
3939
# misunderstood as the local folder name.
40+
# validation is disabled, because the config is for a different version!
4041
cd testing
4142
43+
old_config="../testing/k8s-binder-k8s-hub/binderhub-chart-config-old.yaml"
44+
if [ -f "$old_config" ]; then
45+
echo "using old config"
46+
else
47+
old_config="../testing/k8s-binder-k8s-hub/binderhub-chart-config.yaml"
48+
fi
49+
4250
helm install binderhub-test binderhub \
43-
--values ./k8s-binder-k8s-hub/binderhub-chart-config.yaml \
51+
--values "$old_config" \
4452
--repo https://jupyterhub.github.io/helm-chart/ \
53+
--disable-openapi-validation \
4554
--version=$UPGRADE_FROM_VERSION
4655
4756
- name: "Helm diff latest released dev chart with local chart"

.github/workflows/test.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,19 @@ jobs:
167167
#
168168
# https://github.com/helm/helm/issues/9244
169169
cd ci
170+
171+
old_config="../testing/k8s-binder-k8s-hub/binderhub-chart-config-old.yaml"
172+
if [ -f "$old_config" ]; then
173+
echo "using old config"
174+
else
175+
old_config="../testing/k8s-binder-k8s-hub/binderhub-chart-config.yaml"
176+
fi
177+
170178
helm install binderhub-test \
171179
--repo https://jupyterhub.github.io/helm-chart/ binderhub \
180+
--disable-openapi-validation \
172181
--version=$UPGRADE_FROM_VERSION \
173-
--values ../testing/k8s-binder-k8s-hub/binderhub-chart-config.yaml \
182+
--values "$old_config" \
174183
--set config.BinderHub.hub_url=http://localhost:30902 \
175184
--set config.BinderHub.hub_url_local=http://proxy-public \
176185
--set config.GitHubRepoProvider.access_token=$GITHUB_ACCESS_TOKEN \
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# (DELETE ME)
2+
# this file should be removed immediately after merging PR #1472
3+
4+
service:
5+
type: NodePort
6+
nodePort: 30901
7+
8+
config:
9+
BinderHub:
10+
# Use the internal host name for Pod to Pod communication
11+
# We can't use `hub_url` here because that is set to localhost which
12+
# works on the host but not from within a Pod
13+
hub_url_local: http://proxy-public
14+
use_registry: false
15+
log_level: 10
16+
cors_allow_origin: "*"
17+
18+
templates:
19+
page.html: |
20+
{% extends "templates/page.html" %}
21+
{% block footer %}
22+
{{ super() }}
23+
<span>test-template</span>
24+
{% endblock %}
25+
26+
ingress:
27+
# Enabled to test the creation/update of the k8s Ingress resource, but not
28+
# used actively in our CI system.
29+
enabled: true
30+
31+
dind:
32+
# Not enabled to test the creation/update of the image-cleaner DaemonSet
33+
# resource because it also requires us to setup a container registry to test
34+
# against which we haven't. We currently only test this via
35+
# lint-and-validate-values.yaml that makes sure our rendered templates are
36+
# valid against a k8s api-server.
37+
enabled: false
38+
39+
# NOTE: This is a mirror of the jupyterhub section in
40+
# jupyterhub-chart-config.yaml in testing/local-binder-k8s-hub, keep these
41+
# two files synced please.
42+
jupyterhub:
43+
debug:
44+
enabled: true
45+
46+
hub:
47+
config:
48+
BinderSpawner:
49+
cors_allow_origin: "*"
50+
db:
51+
type: "sqlite-memory"
52+
53+
proxy:
54+
service:
55+
type: NodePort
56+
nodePorts:
57+
http: 30902
58+
59+
singleuser:
60+
storage:
61+
type: none
62+
memory:
63+
guarantee: null

testing/k8s-binder-k8s-hub/binderhub-chart-config.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# This config is used when both BinderHub and the JupyterHub it uses are
22
# deployed to a kubernetes cluster.
3+
# note: when changing the config schema,
4+
# the old version of this file may need to be copied to ./binderhub-chart-config-old.yaml
5+
# before updating, and then deleted in a subsequent PR.
6+
37
service:
48
type: NodePort
59
nodePort: 30901

0 commit comments

Comments
 (0)