Skip to content

Commit ca9d9a2

Browse files
RenkuBotlorenzo-cavazzileaftyolevskiandre-code
authored
release 0.67.0 (#3956)
* chore: create release 0.67.0 * chore(ci): update renku actions to v1.16.0 (#3945) * chore: bump renku-actions to 1.17.0 (#3958) * test: add a custom check for 2.0 infrastructure (#3955) Co-authored-by: Flora Thiebaut <flora.thiebaut@sdsc.ethz.ch> Co-authored-by: Tasko Olevski <tasko.olevski@sdsc.ethz.ch> * feat: data connector authorization, use private gitlab images (#3959) * feat: update amalthea to 0.18.1 * feat: update ui to 3.51.0, data services to 0.37.0 * feat: enable migrate project with private images from the Renku Gitlab registry from Renku V1 to Renku 2.0 (#3961) * chore: update missing renku-ui 3.52.0 individual component in changelog * feat: Enable accessing solr from data-services (#3939) * feat: Configure data-services to connect to solr (#3918) --------- Co-authored-by: Lorenzo Cavazzi <43481553+lorenzo-cavazzi@users.noreply.github.com> Co-authored-by: Flora Thiebaut <flora.thiebaut@sdsc.ethz.ch> Co-authored-by: Tasko Olevski <tasko.olevski@sdsc.ethz.ch> Co-authored-by: Andrea Cordoba <43388408+andre-code@users.noreply.github.com> Co-authored-by: eikek <701128+eikek@users.noreply.github.com>
1 parent 90df784 commit ca9d9a2

11 files changed

Lines changed: 142 additions & 17 deletions

File tree

.github/workflows/cron-jobs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-24.04
1212
steps:
1313
- name: renku teardown
14-
uses: SwissDataScienceCenter/renku-actions/cleanup-renku-ci-deployments@v1.15.1
14+
uses: SwissDataScienceCenter/renku-actions/cleanup-renku-ci-deployments@v1.17.0
1515
env:
1616
GITLAB_TOKEN: ${{ secrets.DEV_GITLAB_TOKEN }}
1717
RENKUBOT_KUBECONFIG: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }}

.github/workflows/publish-helm-chart.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Set version
1616
id: vars
1717
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
18-
- uses: SwissDataScienceCenter/renku-actions/publish-chart@v1.15.1
18+
- uses: SwissDataScienceCenter/renku-actions/publish-chart@v1.17.0
1919
env:
2020
CHART_DIR: helm-chart/
2121
CHART_NAME: renku

.github/workflows/publish-master-merges.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
- id: set-version
3636
run: |
3737
echo "publish_version=${{ steps.bump-semver.outputs.new_version }}.$(echo ${{ github.sha }} | cut -c 1-7)" >> $GITHUB_ENV
38-
- uses: SwissDataScienceCenter/renku-actions/publish-chart@v1.15.1
38+
- uses: SwissDataScienceCenter/renku-actions/publish-chart@v1.17.0
3939
env:
4040
CHART_DIR: helm-chart/
4141
CHART_TAG: "--tag ${{env.publish_version}}"

.github/workflows/pull-request-test.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
extra-values: ${{ steps.deploy-comment.outputs.extra-values}}
7171
steps:
7272
- id: deploy-comment
73-
uses: SwissDataScienceCenter/renku-actions/check-pr-description@v1.15.1
73+
uses: SwissDataScienceCenter/renku-actions/check-pr-description@v1.17.0
7474
with:
7575
pr_ref: ${{ github.event.number }}
7676

@@ -105,7 +105,7 @@ jobs:
105105
You can access the deployment of this PR at https://ci-renku-${{ github.event.number }}.dev.renku.ch
106106
- name: renku build and deploy
107107
if: needs.check-deploy.outputs.pr-contains-string == 'true'
108-
uses: SwissDataScienceCenter/renku-actions/deploy-renku@v1.15.1
108+
uses: SwissDataScienceCenter/renku-actions/deploy-renku@v1.17.0
109109
env:
110110
DOCKER_PASSWORD: ${{ secrets.RENKU_DOCKER_PASSWORD }}
111111
DOCKER_USERNAME: ${{ secrets.RENKU_DOCKER_USERNAME }}
@@ -134,7 +134,7 @@ jobs:
134134
needs: [check-deploy, deploy-pr]
135135
if: github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-legacy-enabled == 'true'
136136
steps:
137-
- uses: SwissDataScienceCenter/renku-actions/test-renku@v1.15.1
137+
- uses: SwissDataScienceCenter/renku-actions/test-renku@v1.17.0
138138
with:
139139
kubeconfig: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }}
140140
renku-release: ci-renku-${{ github.event.number }}
@@ -162,7 +162,8 @@ jobs:
162162
rstudioSession,
163163
]
164164
steps:
165-
- uses: SwissDataScienceCenter/renku-actions/test-renku-cypress@v1.15.1
165+
- uses: SwissDataScienceCenter/renku-actions/test-renku-cypress@v1.17.0
166+
if: github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-enabled == 'true'
166167
with:
167168
e2e-target: ${{ matrix.tests }}
168169
renku-reference: ${{ github.ref }}
@@ -187,7 +188,7 @@ jobs:
187188
sessionBasics,
188189
]
189190
steps:
190-
- uses: SwissDataScienceCenter/renku-actions/test-renku-cypress@v1.14.2
191+
- uses: SwissDataScienceCenter/renku-actions/test-renku-cypress@v1.17.0
191192
if: github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-enabled == 'true'
192193
with:
193194
e2e-folder: cypress/e2e/v2/
@@ -242,7 +243,7 @@ jobs:
242243
body: |
243244
Tearing down the temporary RenkuLab deplyoment for this PR.
244245
- name: renku teardown
245-
uses: SwissDataScienceCenter/renku-actions/cleanup-renku-ci-deployments@v1.15.1
246+
uses: SwissDataScienceCenter/renku-actions/cleanup-renku-ci-deployments@v1.17.0
246247
env:
247248
HELM_RELEASE_REGEX: "^ci-renku-${{ github.event.number }}$"
248249
GITLAB_TOKEN: ${{ secrets.DEV_GITLAB_TOKEN }}

.github/workflows/renku-dev-test.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
github.event.client_payload.message == 'Helm test succeeded' }}
99
runs-on: ubuntu-24.04
1010
steps:
11-
- uses: SwissDataScienceCenter/renku-actions/test-renku@v1.15.1
11+
- uses: SwissDataScienceCenter/renku-actions/test-renku@v1.17.0
1212
with:
1313
kubeconfig: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }}
1414
renku-release: renku

CHANGELOG.rst

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,47 @@
11
.. _changelog:
22

3+
0.67.0
4+
------
5+
6+
Renku ``0.67.0`` simplifies the authorization for data connectors and allows
7+
private images from the Renku Gitlab repository to be used in V2 sessions.
8+
9+
User-Facing Changes
10+
~~~~~~~~~~~~~~~~~~~
11+
12+
**🌟 New Features**
13+
14+
- **UI**: Data connectors can be owned by projects.
15+
- **Data services**: Private images from the Renku Gitlab registry can be used in V2 sessions.
16+
- **UI**: Projects with private images from the Renku Gitlab registry can now be migrated from Renku v1 to Renku 2.0 (`#3603 <https://github.com/SwissDataScienceCenter/renku-ui/pull/3603>`__)
17+
18+
**🐞 Bug Fixes**
19+
20+
- **Data services**: Copy the project documentation when a project is copied.
21+
22+
Internal Changes
23+
~~~~~~~~~~~~~~~~
24+
25+
**Improvements**
26+
27+
- **Amalthea**: Add image pull policy for the session image.
28+
- **Data services**: Simplify authorization for data connectors.
29+
30+
**Bug Fixes**
31+
32+
- **Data services**: Use "Always" as the image pull policy for session images.
33+
- **Data services**: Remove potential infinite recursion in project slug regex checks.
34+
35+
Individual components
36+
~~~~~~~~~~~~~~~~~~~~~~
37+
38+
- `amalthea-sessions 0.18.0 <https://github.com/SwissDataScienceCenter/amalthea/releases/tag/0.18.0>`_
39+
- `amalthea-sessions 0.18.1 <https://github.com/SwissDataScienceCenter/amalthea/releases/tag/0.18.1>`_
40+
- `renku-data-services 0.37.0 <https://github.com/SwissDataScienceCenter/renku-data-services/releases/tag/v0.37.0>`_
41+
- `renku-ui 3.51.0 <https://github.com/SwissDataScienceCenter/renku-ui/releases/tag/3.51.0>`_
42+
- `renku-ui 3.52.0 <https://github.com/SwissDataScienceCenter/renku-ui/releases/tag/3.52.0>`_
43+
44+
345
0.66.0
446
------
547

@@ -24,6 +66,7 @@ Internal Changes
2466
**New Features**
2567

2668
- **Data services**: Support creating session environments based on code repositories.
69+
- **Data services**: Prepare helm charts to allow data-services to connect to SOLR.
2770
- **Notebooks**: Cache Shipwright BuildRuns and Tekton TaskRuns for image builds.
2871

2972
**Improvements**
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/**
2+
* Retry invoking a Cypress request until it succeeds or fail a few times in a row.
3+
* @param url - target URL
4+
* @param service - name of the tested service
5+
* @param limit - maximum attempts before failing
6+
* @param delaySeconds - delay between attempts
7+
* @returns response body from the request or `null`
8+
*/
9+
function retryRequest(
10+
url: string,
11+
service: string,
12+
limit = 6,
13+
delaySeconds = 20,
14+
retries = 1,
15+
) {
16+
if (retries > limit) {
17+
const minutes = Math.floor((limit * delaySeconds) / 60);
18+
throw new Error(
19+
`Backend service "${service}" not responding within ${minutes} minutes at URL ${url}.`,
20+
);
21+
}
22+
23+
cy.request({
24+
url,
25+
failOnStatusCode: false,
26+
}).then((resp) => {
27+
if (resp.status < 400 && !resp.body.error) return resp.body;
28+
29+
cy.wait(delaySeconds * 1000).then(() =>
30+
retryRequest(url, service, limit, delaySeconds, retries + 1),
31+
);
32+
});
33+
return null;
34+
}
35+
36+
describe("Verify the infrastructure is ready", () => {
37+
it("Can interact with the backend components", () => {
38+
retryRequest("api/data/version", "Data services");
39+
retryRequest("api/search/version", "Search");
40+
retryRequest("api/auth/login", "Gateway");
41+
retryRequest("config.json", "UI client");
42+
43+
// Data service should return a list of default resopurce pools
44+
const dataServiceUrl = "/api/data/resource_pools";
45+
cy.request(dataServiceUrl).then((resp) => {
46+
if (resp.status >= 400 || !resp.body.length)
47+
throw new Error("Data service endpoints not working as expected.");
48+
});
49+
50+
// Search should return a list of items
51+
const searchUrl = "/api/search/query";
52+
cy.request(searchUrl).then((resp) => {
53+
if (resp.status >= 400 || !("items" in resp.body))
54+
throw new Error("Search endpoints not working as expected.");
55+
});
56+
57+
// UI should load
58+
const uiUrl = `/help`;
59+
cy.request(uiUrl).then((resp) => {
60+
if (resp.status >= 400 || !resp.body.includes(`<div id="root"`))
61+
throw new Error("UI not showing as expected.");
62+
});
63+
});
64+
});

helm-chart/renku/requirements.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ dependencies:
1717
alias: jena
1818
- name: amalthea
1919
repository: "https://swissdatasciencecenter.github.io/helm-charts/"
20-
version: "0.17.0"
20+
version: "0.18.1"
2121
- name: amalthea-sessions
2222
repository: "https://swissdatasciencecenter.github.io/helm-charts/"
23-
version: "0.17.0"
23+
version: "0.18.1"
2424
- name: dlf-chart
2525
repository: "https://swissdatasciencecenter.github.io/datashim/"
2626
version: "0.3.9-renku-2"

helm-chart/renku/templates/data-service/deployment.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,17 @@ spec:
9696
secretKeyRef:
9797
name: {{ .Values.global.redis.existingSecret }}
9898
key: {{ .Values.global.redis.existingSecretPasswordKey }}
99+
- name: SOLR_URL
100+
value: "http://{{ template "solr.fullname" . }}:{{ .Values.global.solr.port }}"
101+
- name: SOLR_CORE
102+
value: "renku-data"
103+
- name: SOLR_USER
104+
value: {{ default "admin" .Values.solr.auth.adminUsername | quote }}
105+
- name: SOLR_PASSWORD
106+
valueFrom:
107+
secretKeyRef:
108+
name: {{ template "solr.fullname" . }}
109+
key: solr-password
99110
- name: SENTRY_ENABLED
100111
value: {{ .Values.dataService.sentry.enabled | quote }}
101112
- name: SENTRY_DSN

helm-chart/renku/templates/network-policies.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -642,6 +642,10 @@ spec:
642642
- Ingress
643643
ingress:
644644
- from:
645+
- podSelector:
646+
matchLabels:
647+
app: renku-data-service
648+
release: {{ .Release.Name }}
645649
- podSelector:
646650
matchLabels:
647651
app: search-api

0 commit comments

Comments
 (0)