Skip to content

Commit b233e9b

Browse files
authored
Merge branch 'main' into activitypub
2 parents 953c52c + decde18 commit b233e9b

File tree

15 files changed

+696
-36
lines changed

15 files changed

+696
-36
lines changed

.devcontainer/solr/install.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
set -e
33

44
echo "Activation SOLR feature"
5-
6-
download_url="https://dlcdn.apache.org/solr/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"
5+
download_url="https://archive.apache.org/dist/solr/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"
76

87
curl -sSL -o solr.tgz "$download_url"
98
mkdir -p /opt

.github/workflows/acceptance-tests.yml

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ concurrency:
2020
jobs:
2121
check-deploy:
2222
name: Analyze deploy string
23-
runs-on: ubuntu-22.04
23+
runs-on: ubuntu-24.04
2424
outputs:
2525
pr-contains-string: ${{ steps.deploy-comment.outputs.pr-contains-string }}
2626
renku: ${{ steps.deploy-comment.outputs.renku}}
@@ -32,17 +32,17 @@ jobs:
3232
amalthea-sessions: ${{ steps.deploy-comment.outputs.amalthea-sessions}}
3333
amalthea: ${{ steps.deploy-comment.outputs.amalthea}}
3434
test-enabled: ${{ steps.deploy-comment.outputs.test-enabled}}
35+
test-legacy-enabled: ${{ steps.deploy-comment.outputs.test-legacy-enabled}}
3536
extra-values: ${{ steps.deploy-comment.outputs.extra-values}}
3637
steps:
3738
- id: deploy-comment
38-
uses: SwissDataScienceCenter/renku-actions/check-pr-description@v1.14.1
39+
uses: SwissDataScienceCenter/renku-actions/check-pr-description@v1.16.0
3940
with:
40-
string: /deploy
4141
pr_ref: ${{ github.event.number }}
4242

4343
deploy-pr:
4444
name: Deploy
45-
runs-on: ubuntu-22.04
45+
runs-on: ubuntu-24.04
4646
needs: [check-deploy]
4747
permissions:
4848
pull-requests: write
@@ -52,6 +52,10 @@ jobs:
5252
url: https://renku-ci-ds-${{ github.event.number }}.dev.renku.ch
5353
steps:
5454
- uses: actions/checkout@v4
55+
with:
56+
repository: SwissDataScienceCenter/renku
57+
sparse-checkout: |
58+
minimal-deployment
5559
- name: Login to Docker Hub
5660
uses: docker/login-action@v3
5761
with:
@@ -73,21 +77,17 @@ jobs:
7377
body: |
7478
You can access the deployment of this PR at https://renku-ci-ds-${{ github.event.number }}.dev.renku.ch
7579
- name: Build and deploy
76-
uses: SwissDataScienceCenter/renku-actions/deploy-renku@v1.14.1
80+
uses: SwissDataScienceCenter/renku-actions/deploy-renku@v1.16.0
7781
env:
78-
RANCHER_PROJECT_ID: ${{ secrets.CI_RANCHER_PROJECT }}
7982
DOCKER_PASSWORD: ${{ secrets.RENKU_DOCKER_PASSWORD }}
8083
DOCKER_USERNAME: ${{ secrets.RENKU_DOCKER_USERNAME }}
8184
GITLAB_TOKEN: ${{ secrets.DEV_GITLAB_TOKEN }}
8285
KUBECONFIG: ${{ github.workspace }}/renkubot-kube.config
8386
RENKU_RELEASE: renku-ci-ds-${{ github.event.number }}
8487
RENKU_VALUES_FILE: ${{ github.workspace }}/values.yaml
85-
RENKU_VALUES: ${{ secrets.COMBINED_CHARTS_CI_RENKU_VALUES }}
88+
RENKU_VALUES: minimal-deployment/minimal-deployment-values.yaml
8689
RENKUBOT_KUBECONFIG: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }}
8790
RENKUBOT_RANCHER_BEARER_TOKEN: ${{ secrets.RENKUBOT_RANCHER_BEARER_TOKEN }}
88-
RANCHER_DEV_API_ENDPOINT: ${{ secrets.RANCHER_DEV_API_ENDPOINT }}
89-
RENKU_BOT_DEV_PASSWORD: ${{ secrets.RENKU_BOT_DEV_PASSWORD }}
90-
RENKU_TESTS_ENABLED: true
9191
TEST_ARTIFACTS_PATH: "tests-artifacts-${{ github.sha }}"
9292
renku_ui: "${{ needs.check-deploy.outputs.renku-ui }}"
9393
renku: "${{ needs.check-deploy.outputs.renku }}"
@@ -103,10 +103,10 @@ jobs:
103103
legacy-selenium-acceptance-tests:
104104
name: Legacy Selenium tests
105105
needs: [check-deploy, deploy-pr]
106-
if: github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-enabled == 'true'
107-
runs-on: ubuntu-22.04
106+
if: github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-legacy-enabled == 'true'
107+
runs-on: ubuntu-24.04
108108
steps:
109-
- uses: SwissDataScienceCenter/renku-actions/test-renku@v1.14.1
109+
- uses: SwissDataScienceCenter/renku-actions/test-renku@v1.16.0
110110
with:
111111
kubeconfig: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }}
112112
renku-release: renku-ci-ds-${{ github.event.number }}
@@ -117,9 +117,9 @@ jobs:
117117

118118
legacy-cypress-acceptance-tests:
119119
name: Legacy Cypress tests
120-
runs-on: ubuntu-22.04
120+
runs-on: ubuntu-24.04
121121
needs: [check-deploy, deploy-pr]
122-
if: github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-enabled == 'true'
122+
if: github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-legacy-enabled == 'true'
123123
strategy:
124124
fail-fast: false
125125
matrix:
@@ -131,11 +131,10 @@ jobs:
131131
- useSession
132132
- checkWorkflows
133133
- rstudioSession
134-
- dashboardV2
135134
steps:
136135
- name: Extract Renku repository reference
137136
run: echo "RENKU_REFERENCE=`echo '${{ needs.check-deploy.outputs.renku }}' | cut -d'@' -f2`" >> $GITHUB_ENV
138-
- uses: SwissDataScienceCenter/renku-actions/test-renku-cypress@v1.14.1
137+
- uses: SwissDataScienceCenter/renku-actions/test-renku-cypress@v1.16.0
139138
with:
140139
e2e-target: ${{ matrix.tests }}
141140
renku-reference: ${{ env.RENKU_REFERENCE }}
@@ -144,7 +143,7 @@ jobs:
144143

145144
cypress-acceptance-tests:
146145
name: Cypress tests
147-
runs-on: ubuntu-22.04
146+
runs-on: ubuntu-24.04
148147
needs: [check-deploy, deploy-pr]
149148
if: github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-enabled == 'true'
150149
strategy:
@@ -161,7 +160,7 @@ jobs:
161160
steps:
162161
- name: Extract Renku repository reference
163162
run: echo "RENKU_REFERENCE=`echo '${{ needs.check-deploy.outputs.renku }}' | cut -d'@' -f2`" >> $GITHUB_ENV
164-
- uses: SwissDataScienceCenter/renku-actions/test-renku-cypress@v1.14.1
163+
- uses: SwissDataScienceCenter/renku-actions/test-renku-cypress@v1.16.0
165164
with:
166165
e2e-target: ${{ matrix.tests }}
167166
renku-reference: ${{ env.RENKU_REFERENCE }}
@@ -170,7 +169,7 @@ jobs:
170169

171170
cleanup:
172171
name: Cleanup
173-
runs-on: ubuntu-22.04
172+
runs-on: ubuntu-24.04
174173
needs: check-deploy
175174
if: github.event.action == 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true'
176175
permissions:
@@ -192,7 +191,7 @@ jobs:
192191
body: |
193192
Tearing down the temporary RenkuLab deplyoment for this PR.
194193
- name: renku teardown
195-
uses: SwissDataScienceCenter/renku-actions/cleanup-renku-ci-deployments@v1.14.1
194+
uses: SwissDataScienceCenter/renku-actions/cleanup-renku-ci-deployments@v1.16.0
196195
env:
197196
HELM_RELEASE_REGEX: "^renku-ci-ds-${{ github.event.number }}$"
198197
GITLAB_TOKEN: ${{ secrets.DEV_GITLAB_TOKEN }}

bases/renku_data_services/data_api/app.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ def register_all_handlers(app: Sanic, config: Config) -> Sanic:
109109
session_repo=config.session_repo,
110110
data_connector_to_project_link_repo=config.data_connector_to_project_link_repo,
111111
data_connector_repo=config.data_connector_repo,
112+
project_migration_repo=config.project_migration_repo,
112113
)
113114
project_session_secrets = ProjectSessionSecretBP(
114115
name="project_session_secrets",

components/renku_data_services/app_config/config.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,12 @@
6666
from renku_data_services.namespace.db import GroupRepository
6767
from renku_data_services.notebooks.config import NotebooksConfig
6868
from renku_data_services.platform.db import PlatformRepository
69-
from renku_data_services.project.db import ProjectMemberRepository, ProjectRepository, ProjectSessionSecretRepository
69+
from renku_data_services.project.db import (
70+
ProjectMemberRepository,
71+
ProjectMigrationRepository,
72+
ProjectRepository,
73+
ProjectSessionSecretRepository,
74+
)
7075
from renku_data_services.repositories.db import GitRepositoriesRepository
7176
from renku_data_services.search.db import SearchUpdatesRepo
7277
from renku_data_services.secrets.db import LowLevelUserSecretsRepo, UserSecretsRepo
@@ -281,6 +286,7 @@ class Config:
281286
_rp_repo: ResourcePoolRepository | None = field(default=None, repr=False, init=False)
282287
_storage_repo: StorageRepository | None = field(default=None, repr=False, init=False)
283288
_project_repo: ProjectRepository | None = field(default=None, repr=False, init=False)
289+
_project_migration_repo: ProjectMigrationRepository | None = field(default=None, repr=False, init=False)
284290
_group_repo: GroupRepository | None = field(default=None, repr=False, init=False)
285291
_event_repo: EventRepository | None = field(default=None, repr=False, init=False)
286292
_reprovisioning_repo: ReprovisioningRepository | None = field(default=None, repr=False, init=False)
@@ -418,6 +424,20 @@ def project_repo(self) -> ProjectRepository:
418424
)
419425
return self._project_repo
420426

427+
@property
428+
def project_migration_repo(self) -> ProjectMigrationRepository:
429+
"""The DB adapter for Renku native project migrations."""
430+
if not self._project_migration_repo:
431+
self._project_migration_repo = ProjectMigrationRepository(
432+
session_maker=self.db.async_session_maker,
433+
authz=self.authz,
434+
message_queue=self.message_queue,
435+
project_repo=self.project_repo,
436+
event_repo=self.event_repo,
437+
session_repo=self.session_repo,
438+
)
439+
return self._project_migration_repo
440+
421441
@property
422442
def project_member_repo(self) -> ProjectMemberRepository:
423443
"""The DB adapter for Renku native projects members."""
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
"""add project migrations
2+
3+
Revision ID: 559b1fc46cfe
4+
Revises: 71ef5efe740f
5+
Create Date: 2025-03-03 13:58:07.450665
6+
7+
"""
8+
9+
import sqlalchemy as sa
10+
from alembic import op
11+
12+
# revision identifiers, used by Alembic.
13+
revision = "559b1fc46cfe"
14+
down_revision = "71ef5efe740f"
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade() -> None:
20+
# ### commands auto generated by Alembic - please adjust! ###
21+
op.create_table(
22+
"project_migrations",
23+
sa.Column("id", sa.String(length=26), nullable=False),
24+
sa.Column("project_v1_id", sa.Integer(), nullable=False),
25+
sa.Column("project_id", sa.String(length=26), nullable=False),
26+
sa.Column("launcher_id", sa.String(length=26), nullable=True),
27+
sa.ForeignKeyConstraint(["project_id"], ["projects.projects.id"], ondelete="CASCADE"),
28+
sa.PrimaryKeyConstraint("id"),
29+
sa.UniqueConstraint("project_v1_id"),
30+
sa.UniqueConstraint("project_v1_id", name="uq_project_v1_id"),
31+
schema="projects",
32+
)
33+
op.create_index(
34+
op.f("ix_projects_project_migrations_project_id"),
35+
"project_migrations",
36+
["project_id"],
37+
unique=False,
38+
schema="projects",
39+
)
40+
# ### end Alembic commands ###
41+
42+
43+
def downgrade() -> None:
44+
# ### commands auto generated by Alembic - please adjust! ###
45+
op.drop_index(op.f("ix_projects_project_migrations_project_id"), table_name="project_migrations", schema="projects")
46+
op.drop_table("project_migrations", schema="projects")
47+
# ### end Alembic commands ###

0 commit comments

Comments
 (0)