11name : Acceptance tests
2+ permissions :
3+ contents : read
4+ pull-requests : read
25
36on :
47 pull_request :
@@ -15,7 +18,8 @@ concurrency:
1518
1619jobs :
1720 check-deploy :
18- runs-on : ubuntu-22.04
21+ name : Analyze deploy string
22+ runs-on : ubuntu-24.04
1923 outputs :
2024 pr-contains-string : ${{ steps.deploy-comment.outputs.pr-contains-string }}
2125 renku : ${{ steps.deploy-comment.outputs.renku}}
@@ -24,40 +28,56 @@ jobs:
2428 renku-graph : ${{ steps.deploy-comment.outputs.renku-graph}}
2529 renku-ui : ${{ steps.deploy-comment.outputs.renku-ui}}
2630 amalthea : ${{ steps.deploy-comment.outputs.amalthea}}
31+ amalthea-sessions : ${{ steps.deploy-comment.outputs.amalthea-sessions}}
2732 renku-data-services : ${{ steps.deploy-comment.outputs.renku-data-services}}
2833 test-enabled : ${{ steps.deploy-comment.outputs.test-enabled}}
34+ test-legacy-enabled : ${{ steps.deploy-comment.outputs.test-legacy-enabled}}
2935 extra-values : ${{ steps.deploy-comment.outputs.extra-values}}
3036 steps :
3137 - id : deploy-comment
32- uses : SwissDataScienceCenter/renku-actions/check-pr-description@v1.12.3
38+ uses : SwissDataScienceCenter/renku-actions/check-pr-description@v1.14.2
3339 with :
34- string : /deploy
3540 pr_ref : ${{ github.event.number }}
3641
3742 deploy-pr :
38- needs : check-deploy
43+ name : Deploy
44+ runs-on : ubuntu-24.04
45+ needs : [check-deploy]
46+ permissions :
47+ pull-requests : write
3948 if : github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true'
40- runs-on : ubuntu-22.04
4149 environment :
4250 name : renku-ci-nb-${{ github.event.number }}
4351 url : https://renku-ci-nb-${{ github.event.number }}.dev.renku.ch
4452 steps :
45- - name : deploy-pr
46- uses :
SwissDataScienceCenter/renku-actions/[email protected] 53+ - uses : actions/checkout@v4
54+ - name : Find deplyoment url
55+ uses : peter-evans/find-comment@v3
56+ id : deploymentUrlMessage
57+ with :
58+ issue-number : ${{ github.event.pull_request.number }}
59+ comment-author : " RenkuBot"
60+ body-includes : " You can access the deployment of this PR at"
61+ - name : Create comment deployment url
62+ if : steps.deploymentUrlMessage.outputs.comment-id == 0
63+ uses : peter-evans/create-or-update-comment@v4
64+ with :
65+ token : ${{ secrets.RENKUBOT_GITHUB_TOKEN }}
66+ issue-number : ${{ github.event.pull_request.number }}
67+ body : |
68+ You can access the deployment of this PR at https://renku-ci-nb-${{ github.event.number }}.dev.renku.ch
69+ - name : Build and deploy
70+ uses :
SwissDataScienceCenter/renku-actions/[email protected] 4771 env :
4872 DOCKER_PASSWORD : ${{ secrets.RENKU_DOCKER_PASSWORD }}
4973 DOCKER_USERNAME : ${{ secrets.RENKU_DOCKER_USERNAME }}
5074 GITLAB_TOKEN : ${{ secrets.DEV_GITLAB_TOKEN }}
5175 KUBECONFIG : " ${{ github.workspace }}/renkubot-kube.config"
52- RANCHER_PROJECT_ID : ${{ secrets.CI_RANCHER_PROJECT }}
5376 RENKU_RELEASE : renku-ci-nb-${{ github.event.number }}
5477 RENKU_VALUES_FILE : " ${{ github.workspace }}/values.yaml"
5578 RENKU_VALUES : ${{ secrets.COMBINED_CHARTS_CI_RENKU_VALUES }}
5679 RENKUBOT_KUBECONFIG : ${{ secrets.RENKUBOT_DEV_KUBECONFIG }}
5780 RENKUBOT_RANCHER_BEARER_TOKEN : ${{ secrets.RENKUBOT_RANCHER_BEARER_TOKEN }}
58- RANCHER_DEV_API_ENDPOINT : ${{ secrets.RANCHER_DEV_API_ENDPOINT }}
59- RENKU_BOT_DEV_PASSWORD : ${{ secrets.RENKU_BOT_DEV_PASSWORD }}
60- RENKU_TESTS_ENABLED : true
6181 TEST_ARTIFACTS_PATH : " tests-artifacts-${{ github.sha }}"
6282 renku_notebooks : " @${{ github.head_ref }}"
6383 renku : " ${{ needs.check-deploy.outputs.renku }}"
@@ -67,44 +87,16 @@ jobs:
6787 renku_data_services : " ${{ needs.check-deploy.outputs.renku-data-services }}"
6888 renku_ui : " ${{ needs.check-deploy.outputs.renku-ui }}"
6989 amalthea : " ${{ needs.check-deploy.outputs.amalthea }}"
90+ amalthea_sessions : " ${{ needs.check-deploy.outputs.amalthea-sessions }}"
7091 extra_values : " ${{ needs.check-deploy.outputs.extra-values }}"
71- - name : Check existing renkubot comment
72- uses : peter-evans/find-comment@v3
73- id : findcomment
74- with :
75- issue-number : ${{ github.event.pull_request.number }}
76- comment-author : " RenkuBot"
77- body-includes : " You can access the deployment of this PR at"
78- - name : Create comment pre deploy
79- if : steps.findcomment.outputs.comment-id == 0
80- uses : peter-evans/create-or-update-comment@v4
81- with :
82- token : ${{ secrets.RENKUBOT_GITHUB_TOKEN }}
83- issue-number : ${{ github.event.pull_request.number }}
84- body : |
85- You can access the deployment of this PR at https://renku-ci-nb-${{ github.event.number }}.dev.renku.ch
8692
87- selenium-acceptance-tests :
93+ legacy-cypress-acceptance-tests :
94+ name : Legacy Cypress tests
95+ runs-on : ubuntu-24.04
8896 needs : [check-deploy, deploy-pr]
89- if : github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-enabled == 'true'
90- runs-on : ubuntu-22.04
91- steps :
92- -
uses :
SwissDataScienceCenter/renku-actions/[email protected] 93- with :
94- kubeconfig : ${{ secrets.RENKUBOT_DEV_KUBECONFIG }}
95- renku-release : renku-ci-nb-${{ github.event.number }}
96- gitlab-token : ${{ secrets.DEV_GITLAB_TOKEN }}
97- s3-results-access-key : ${{ secrets.ACCEPTANCE_TESTS_BUCKET_ACCESS_KEY }}
98- s3-results-secret-key : ${{ secrets.ACCEPTANCE_TESTS_BUCKET_SECRET_KEY }}
99- test-timeout-mins : " 60"
100-
101- cypress-acceptance-tests :
102- needs : [check-deploy, deploy-pr]
103- if : github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-enabled == 'true'
104- runs-on : ubuntu-22.04
97+ if : github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-legacy-enabled == 'true'
10598 strategy :
10699 fail-fast : false
107- max-parallel : 1
108100 matrix :
109101 tests :
110102 - publicProject
@@ -114,25 +106,68 @@ jobs:
114106 - useSession
115107 - checkWorkflows
116108 - rstudioSession
117-
118109 steps :
119110 - name : Extract Renku repository reference
120111 run : echo "RENKU_REFERENCE=`echo '${{ needs.check-deploy.outputs.renku }}' | cut -d'@' -f2`" >> $GITHUB_ENV
121- - uses : SwissDataScienceCenter/renku-actions/test-renku-cypress@v1.12.3
112+ - uses : SwissDataScienceCenter/renku-actions/test-renku-cypress@v1.14.2
122113 with :
123114 e2e-target : ${{ matrix.tests }}
124115 renku-reference : ${{ env.RENKU_REFERENCE }}
125116 renku-release : renku-ci-nb-${{ github.event.number }}
126117 test-user-password : ${{ secrets.RENKU_BOT_DEV_PASSWORD }}
118+
119+ cypress-acceptance-tests :
120+ name : Cypress tests
121+ runs-on : ubuntu-24.04
122+ needs : [check-deploy, deploy-pr]
123+ if : github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-enabled == 'true'
124+ strategy :
125+ fail-fast : false
126+ matrix :
127+ tests :
128+ - anonymousNavigation
129+ - dashboardV2
130+ - groupBasics
131+ - projectBasics
132+ - projectResources
133+ - searchEntities
134+ - sessionBasics
135+ steps :
136+ - name : Extract Renku repository reference
137+ run : echo "RENKU_REFERENCE=`echo '${{ needs.check-deploy.outputs.renku }}' | cut -d'@' -f2`" >> $GITHUB_ENV
138+ -
uses :
SwissDataScienceCenter/renku-actions/[email protected] 139+ with :
140+ e2e-target : ${{ matrix.tests }}
141+ renku-reference : ${{ env.RENKU_REFERENCE }}
142+ renku-release : renku-ci-nb-${{ github.event.number }}
143+ test-user-password : ${{ secrets.RENKU_BOT_DEV_PASSWORD }}
144+
127145
128146 cleanup :
147+ name : Cleanup
148+ runs-on : ubuntu-24.04
129149 needs : check-deploy
130150 if : github.event.action == 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true'
131- runs-on : ubuntu-22.04
151+ permissions :
152+ pull-requests : write
132153 steps :
133- - uses : actions/checkout@v4
154+ - name : Find deplyoment url
155+ uses : peter-evans/find-comment@v3
156+ id : deploymentUrlMessage
157+ with :
158+ issue-number : ${{ github.event.pull_request.number }}
159+ comment-author : " RenkuBot"
160+ body-includes : " Tearing down the temporary RenkuLab deplyoment"
161+ - name : Create comment deployment url
162+ if : steps.deploymentUrlMessage.outputs.comment-id == 0
163+ uses : peter-evans/create-or-update-comment@v4
164+ with :
165+ token : ${{ secrets.RENKUBOT_GITHUB_TOKEN }}
166+ issue-number : ${{ github.event.pull_request.number }}
167+ body : |
168+ Tearing down the temporary RenkuLab deplyoment for this PR.
134169 - name : renku teardown
135- uses : SwissDataScienceCenter/renku-actions/cleanup-renku-ci-deployments@v1.12.3
170+ uses : SwissDataScienceCenter/renku-actions/cleanup-renku-ci-deployments@v1.14.2
136171 env :
137172 HELM_RELEASE_REGEX : " ^renku-ci-nb-${{ github.event.number }}$"
138173 GITLAB_TOKEN : ${{ secrets.DEV_GITLAB_TOKEN }}
0 commit comments