Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: release 0.52.0 #3581

Merged
merged 34 commits into from
May 27, 2024
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
4ed19f6
chore: create release 0.52.x
RenkuBot Apr 9, 2024
02a4f16
chore: run cypress tests in parallel (#3579)
olevski Apr 10, 2024
bafe439
chore(deps): bump python-keycloak in /scripts/init-realm (#3582)
dependabot[bot] Apr 10, 2024
726a3c5
chore: Update logback-classic from 1.5.3 to 1.5.5 (#3587)
RenkuBot Apr 15, 2024
6e8eabc
chore: Update slf4j-log4j12 from 2.0.12 to 2.0.13 (#3588)
RenkuBot Apr 15, 2024
495a410
chore: Update scalacheck from 1.17.0 to 1.17.1 (#3590)
RenkuBot Apr 17, 2024
59c1c2e
chore: Update logback-classic from 1.5.3 to 1.5.6 (#3592)
RenkuBot Apr 18, 2024
d1f207a
feat: add authorization service to Renku Helm chart (#3340)
olevski Apr 22, 2024
9fd4507
chore: fix parallel cypress tests (#3586)
olevski Apr 29, 2024
8cf85c8
test(cypress): do not look for session stopping button
ciyer Apr 2, 2024
eedb23d
fix: cloning repositories in sessions (#3607)
olevski May 3, 2024
d087b9b
chore: Update sbt from 1.9.9 to 1.10.0 (#3609)
RenkuBot May 7, 2024
b7cfd07
chore: Update http4s-circe from 0.23.26 to 0.23.27 (#3608)
RenkuBot May 7, 2024
f3f6e87
chore: Update scala-library from 2.13.13 to 2.13.14 (#3606)
RenkuBot May 7, 2024
6331a00
feat: add secrets to sessions (#3591)
lorenzo-cavazzi May 10, 2024
af880fe
fix: add missing value in values.yaml for secrets mount (#3614)
Panaetius May 10, 2024
9aded8b
chore: bump renku notebooks to 1.23.0 (#3616)
Panaetius May 13, 2024
2231170
feat: authorization service and Renku 2.0 project integration (#3584)
olevski May 13, 2024
5c43bb0
Update search services to 0.0.46 (#3621)
eikek May 15, 2024
ea79767
chore: bump UI version to 3.24.0 (#3623)
lorenzo-cavazzi May 16, 2024
d4e2cc3
docs: expand documentation for secrets (#3605)
lorenzo-cavazzi May 16, 2024
ea84cd6
chore: Update circe-core, circe-literal, ... from 0.14.6 to 0.14.7 (#…
RenkuBot May 17, 2024
208ab4e
feat: add connected services for Renku 2.0 (#3626)
leafty May 17, 2024
a69d260
Update search services to 0.1.0 (#3631)
eikek May 17, 2024
479fc53
chore: add check to prevent merging prs with custom deploy command (#…
Panaetius May 17, 2024
8a77e54
chore(ci): Update renku actions to v1.11.2 (#3634)
RenkuBot May 21, 2024
bf12bae
chore: publish prometheus metrics from authorization database (#3628)
olevski May 21, 2024
92f67ee
chore(ci): Update renku actions to v1.11.3 (#3636)
RenkuBot May 23, 2024
5082275
chore: bump renku-notebooks version to 1.25.0
lorenzo-cavazzi May 22, 2024
22a3bf4
chore: bump renku-ui version
lorenzo-cavazzi May 23, 2024
c12962f
chore: update the changelog
lorenzo-cavazzi May 23, 2024
9735c44
update changelog
Panaetius May 23, 2024
996625b
feat: authorization for Renku 2.0 groups and namespaces (#3639)
olevski May 27, 2024
d666f1f
chore: revise 0.52.0 changelog
lokijuhy May 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/cron-jobs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: renku teardown
uses: SwissDataScienceCenter/renku-actions/[email protected].0
uses: SwissDataScienceCenter/renku-actions/[email protected].1
env:
GITLAB_TOKEN: ${{ secrets.DEV_GITLAB_TOKEN }}
RENKUBOT_KUBECONFIG: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-helm-chart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Set version
id: vars
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
- uses: SwissDataScienceCenter/renku-actions/[email protected].0
- uses: SwissDataScienceCenter/renku-actions/[email protected].1
env:
CHART_DIR: helm-chart/
CHART_NAME: renku
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-master-merges.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- id: set-version
run: |
echo "publish_version=${{ steps.bump-semver.outputs.new_version }}.$(echo ${{ github.sha }} | cut -c 1-7)" >> $GITHUB_ENV
- uses: SwissDataScienceCenter/renku-actions/[email protected].0
- uses: SwissDataScienceCenter/renku-actions/[email protected].1
env:
CHART_DIR: helm-chart/
CHART_TAG: "--tag ${{env.publish_version}}"
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/pull-request-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
steps:
- uses: actions/[email protected]
- id: deploy-comment
uses: SwissDataScienceCenter/renku-actions/[email protected].0
uses: SwissDataScienceCenter/renku-actions/[email protected].1
with:
string: /deploy
pr_ref: ${{ github.event.number }}
Expand All @@ -78,7 +78,7 @@ jobs:
- uses: actions/[email protected]
- name: renku build and deploy
if: needs.check-deploy.outputs.pr-contains-string == 'true'
uses: SwissDataScienceCenter/renku-actions/[email protected].0
uses: SwissDataScienceCenter/renku-actions/[email protected].1
env:
DOCKER_PASSWORD: ${{ secrets.RENKU_DOCKER_PASSWORD }}
DOCKER_USERNAME: ${{ secrets.RENKU_DOCKER_USERNAME }}
Expand Down Expand Up @@ -120,7 +120,7 @@ jobs:
needs: [check-deploy, deploy-pr]
runs-on: ubuntu-22.04
steps:
- uses: SwissDataScienceCenter/renku-actions/[email protected].0
- uses: SwissDataScienceCenter/renku-actions/[email protected].1
with:
kubeconfig: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }}
renku-release: ci-renku-${{ github.event.number }}
Expand All @@ -135,7 +135,6 @@ jobs:

strategy:
fail-fast: false
max-parallel: 1
matrix:
tests:
[
Expand All @@ -149,7 +148,7 @@ jobs:
]

steps:
- uses: SwissDataScienceCenter/renku-actions/[email protected].0
- uses: SwissDataScienceCenter/renku-actions/[email protected].1
if: github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-enabled == 'true'
with:
e2e-target: ${{ matrix.tests }}
Expand All @@ -162,7 +161,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: renku teardown
uses: SwissDataScienceCenter/renku-actions/[email protected].0
uses: SwissDataScienceCenter/renku-actions/[email protected].1
env:
HELM_RELEASE_REGEX: "^ci-renku-${{ github.event.number }}$"
GITLAB_TOKEN: ${{ secrets.DEV_GITLAB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/renku-dev-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
github.event.client_payload.message == 'Helm test succeeded' }}
runs-on: ubuntu-20.04
steps:
- uses: SwissDataScienceCenter/renku-actions/[email protected].0
- uses: SwissDataScienceCenter/renku-actions/[email protected].1
with:
kubeconfig: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }}
renku-release: renku
Expand Down
53 changes: 53 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,58 @@
.. _changelog:

0.52.0
------

Renku ``0.52.0`` introduces a new secrets-storage service that allows users to store and use secrets in sessions.
lorenzo-cavazzi marked this conversation as resolved.
Show resolved Hide resolved

This release also contains new features related to Renku 2.0. However, Renku 2.0 is still
in early development and is not yet accessible to users. For more information, see our
[blog](https://blog.renkulab.io/renku-2).

User-Facing Changes
~~~~~~~~~~~~~~~~~~~

**🌟 New Features**

- **Data Services**: Added new secrets storage service for managing user session secrets, including
new endpoints on data-service to manage these secrets.

Internal Changes
~~~~~~~~~~~~~~~~

**🌟 New Features**

- **Data Services**: Updated the authorization for access to Renku 2.0 projects to work with Authzed DB,
a 3rd party database dedicated to saving authorization data and making authorization decisions

Individual Components
~~~~~~~~~~~~~~~~~~~~~

- `renku-data-services 0.9.0 <https://github.com/SwissDataScienceCenter/renku-data-services/releases/tag/v0.9.0>`_
- `renku-data-services 0.10.0 <https://github.com/SwissDataScienceCenter/renku-data-services/releases/tag/v0.10.0>`_
- `renku-notebooks 1.23.0 <https://github.com/SwissDataScienceCenter/renku-notebooks/releases/tag/1.23.0>`_

0.51.1
------

Renku ``0.51.1`` fixes a bug where sessions were not considering the case (upper or lower) of the
project name that was being cloned when a session is started. This resulted in the working directory
being set to one location and the project cloned in another. This bug only affected projects where
users have manually changed their project paths to include uppercase characters or for projects that
were not created through Renku but were imported after creation.

User-Facing Changes
~~~~~~~~~~~~~~~~~~~

**🐞 Bug Fixes**

- **Notebooks**: Use the case sensitive project name when cloning repositories at startup

Individual Components
~~~~~~~~~~~~~~~~~~~~~

- `renku-notebooks 1.22.1 <https://github.com/SwissDataScienceCenter/renku-notebooks/releases/tag/1.22.1>`_

0.51.0
------

Expand Down
10 changes: 5 additions & 5 deletions acceptance-tests/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
organization := "ch.renku"
name := "renku-acceptance-tests"
version := "0.1.0"
scalaVersion := "2.13.13"
scalaVersion := "2.13.14"

Test / parallelExecution := false

Expand All @@ -30,21 +30,21 @@ publishTo := Some(Resolver.file("Unused transient repository", file("target/unus

val circeVersion = "0.14.6"

libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.5.3"
libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.5.6"
libraryDependencies += "com.github.pureconfig" %% "pureconfig" % "0.17.6" % Test
libraryDependencies += "eu.timepit" %% "refined" % "0.11.1" % Test
libraryDependencies += "io.circe" %% "circe-core" % circeVersion % Test
libraryDependencies += "io.circe" %% "circe-literal" % circeVersion % Test
libraryDependencies += "io.circe" %% "circe-parser" % circeVersion % Test
libraryDependencies += "io.circe" %% "circe-optics" % "0.15.0" % Test
libraryDependencies += "org.http4s" %% "http4s-blaze-client" % "0.23.16" % Test
libraryDependencies += "org.http4s" %% "http4s-circe" % "0.23.26" % Test
libraryDependencies += "org.scalacheck" %% "scalacheck" % "1.17.0" % Test
libraryDependencies += "org.http4s" %% "http4s-circe" % "0.23.27" % Test
libraryDependencies += "org.scalacheck" %% "scalacheck" % "1.17.1" % Test
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.18" % Test
libraryDependencies += "org.scalatestplus" %% "selenium-4-1" % "3.2.12.1" % Test
libraryDependencies += "org.seleniumhq.selenium" % "selenium-http-jdk-client" % "4.13.0" % Test
libraryDependencies += "org.seleniumhq.selenium" % "selenium-java" % "4.18.1" % Test
libraryDependencies += "org.slf4j" % "slf4j-log4j12" % "2.0.12" % Test
libraryDependencies += "org.slf4j" % "slf4j-log4j12" % "2.0.13" % Test
libraryDependencies += "org.typelevel" %% "cats-effect" % "3.5.4" % Test
libraryDependencies += "org.typelevel" %% "cats-effect-testing-scalatest" % "1.5.0" % Test

Expand Down
2 changes: 1 addition & 1 deletion acceptance-tests/project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.9.9
sbt.version=1.10.0
7 changes: 7 additions & 0 deletions chartpress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ charts:
- acceptance-tests
- scripts/init-realm
- scripts/init-db
- scripts/platform-init
images:
tests:
buildArgs:
Expand All @@ -43,3 +44,9 @@ charts:
valuesPath: initDb.image
paths:
- scripts/init-db
platform-init:
contextPath: scripts/platform-init
dockerfilePath: scripts/platform-init/Dockerfile
valuesPath: platformInit.image
paths:
- scripts/platform-init
17 changes: 4 additions & 13 deletions cypress-tests/cypress/e2e/checkWorkflows.cy.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,19 @@
import { TIMEOUTS } from "../../config";
import { ProjectIdentifier } from "../support/commands/projects";
import { validateLogin } from "../support/commands/general";
import { validateLogin, getRandomString } from "../support/commands/general";

const project: ProjectIdentifier = {
namespace: "renku-ui-tests",
name: "composite-workflows",
};

describe("Workflows pages", () => {
before(() => {
// Use a session to preserve login data
cy.session(
"login-updateProjects",
() => {
cy.robustLogin();
},
validateLogin
);
});
const sessionId = ["checkWorkflows", getRandomString()];

describe("Workflows pages", () => {
beforeEach(() => {
// Restore the session
cy.session(
"login-updateProjects",
sessionId,
() => {
cy.robustLogin();
},
Expand Down
33 changes: 10 additions & 23 deletions cypress-tests/cypress/e2e/privateProject.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,55 +3,42 @@ import {
ProjectIdentifier,
generatorProjectName,
} from "../support/commands/projects";
import { validateLogin } from "../support/commands/general";
import { validateLogin, getRandomString } from "../support/commands/general";

const username = Cypress.env("TEST_USERNAME");

const projectTestConfig = {
shouldCreateProject: true,
projectAlreadyExists: false,
projectName: generatorProjectName("privateProject"),
};

// ? Uncomment to debug using an existing project
// projectTestConfig.shouldCreateProject = false;
// projectTestConfig.projectAlreadyExists = true;
// projectTestConfig.projectName = "cypress-privateproject-ad99f11c1482";

const projectIdentifier: ProjectIdentifier = {
name: projectTestConfig.projectName,
namespace: username,
};

describe("Basic public project functionality", () => {
before(() => {
// Use a session to preserve login data
cy.session(
"login-publicProject",
() => {
cy.robustLogin();
},
validateLogin
);
const sessionId = ["privateProject", getRandomString()];

// Create a project for the local spec
if (projectTestConfig.shouldCreateProject) {
cy.visit("/");
cy.createProject({
templateName: "Python",
...projectIdentifier,
visibility: "private",
});
}
describe("Basic public project functionality", () => {
after(() => {
if (!projectTestConfig.projectAlreadyExists)
cy.deleteProjectFromAPI(projectIdentifier);
});

beforeEach(() => {
// Restore the session
cy.session(
"login-publicProject",
sessionId,
() => {
cy.robustLogin();
},
validateLogin
);
cy.createProjectIfMissing({templateName: "Python", ...projectIdentifier, visibility: "private"});
cy.visitAndLoadProject(projectIdentifier);
});

Expand Down
33 changes: 12 additions & 21 deletions cypress-tests/cypress/e2e/publicProject.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,51 +4,42 @@ import {
generatorProjectName,
projectUrlFromIdentifier,
} from "../support/commands/projects";
import { validateLogin } from "../support/commands/general";
import { validateLogin, getRandomString } from "../support/commands/general";

const username = Cypress.env("TEST_USERNAME");

const projectTestConfig = {
shouldCreateProject: true,
projectAlreadyExists: false,
projectName: generatorProjectName("publicProject"),
};

// ? Uncomment to debug using an existing project
// projectTestConfig.shouldCreateProject = false;
// projectTestConfig.projectAlreadyExists = true;
// projectTestConfig.projectName = "cypress-publicproject-8e01a2e0a8c1";

const projectIdentifier: ProjectIdentifier = {
name: projectTestConfig.projectName,
namespace: username,
};

describe("Basic public project functionality", () => {
before(() => {
// Use a session to preserve login data
cy.session(
"login-publicProject",
() => {
cy.robustLogin();
},
validateLogin
);
const sessionId = ["publicProject", getRandomString()];

// Create a project for the local spec
if (projectTestConfig.shouldCreateProject) {
cy.visit("/");
cy.createProject({ templateName: "Python", ...projectIdentifier });
}
describe("Basic public project functionality", () => {
after(() => {
if (!projectTestConfig.projectAlreadyExists)
cy.deleteProjectFromAPI(projectIdentifier);
});

beforeEach(() => {
// Restore the session
cy.session(
"login-publicProject",
sessionId,
() => {
cy.robustLogin();
},
validateLogin
);
cy.createProjectIfMissing({ templateName: "Python", ...projectIdentifier });
cy.visitAndLoadProject(projectIdentifier);
});

Expand All @@ -68,7 +59,7 @@ describe("Basic public project functionality", () => {
cy.getProjectSection("Overview").click();
cy.contains("README.md").should("be.visible");
cy.contains("This is a Renku project").should("be.visible");
if (projectTestConfig.shouldCreateProject) {
if (!projectTestConfig.projectAlreadyExists) {
cy.contains("Welcome to your new Renku project", {
timeout: TIMEOUTS.vlong,
}).should("be.visible");
Expand Down Expand Up @@ -106,7 +97,7 @@ describe("Basic public project functionality", () => {
cy.getDataCy("project-status-icon-element").should("not.exist");
cy.getProjectSection("Settings").click();
cy.getDataCy("project-version-section-open").should("exist").click();
if (projectTestConfig.shouldCreateProject) {
if (!projectTestConfig.projectAlreadyExists) {
cy.getDataCy("project-settings-migration-status")
.contains("This project uses the latest")
.should("exist");
Expand Down
Loading
Loading