feat!: gateway refactor helm changes #9864
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy and Test PR | |
on: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
- closed | |
- edited | |
merge_group: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test-docs: | |
if: github.event.action != 'closed' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: "temurin" | |
java-version: "17" | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: install dependencies | |
run: | | |
sudo apt-get update -y && sudo apt-get install graphviz | |
git submodule sync | |
git submodule update --init --force docs/renku-python | |
pip install --upgrade pip | |
pip install -r docs/requirements.txt | |
- name: test the docs build | |
env: | |
SIDEBAR: 1 | |
run: | | |
cd docs | |
sphinx-build -nNW -b spelling -d _build/doctrees . _build/spelling | |
sphinx-build -qnNW . _build/html | |
- name: Upload docs | |
uses: actions/upload-artifact@v4 | |
if: success() | |
with: | |
name: docs | |
path: docs/_build/html/ | |
check-deploy: | |
runs-on: ubuntu-22.04 | |
outputs: | |
pr-contains-string: ${{ steps.deploy-comment.outputs.pr-contains-string }} | |
renku-core: ${{ steps.deploy-comment.outputs.renku-core}} | |
renku-gateway: ${{ steps.deploy-comment.outputs.renku-gateway}} | |
renku-graph: ${{ steps.deploy-comment.outputs.renku-graph}} | |
renku-notebooks: ${{ steps.deploy-comment.outputs.renku-notebooks}} | |
renku-ui: ${{ steps.deploy-comment.outputs.renku-ui}} | |
renku-data-services: ${{ steps.deploy-comment.outputs.renku-data-services}} | |
test-enabled: ${{ steps.deploy-comment.outputs.test-enabled}} | |
extra-values: ${{ steps.deploy-comment.outputs.extra-values}} | |
steps: | |
- uses: actions/checkout@v4 | |
- id: deploy-comment | |
uses: SwissDataScienceCenter/renku-actions/check-pr-description@gateway-refactoring-changes | |
with: | |
string: /deploy | |
pr_ref: ${{ github.event.number }} | |
deploy-pr: | |
if: github.event.action != 'closed' | |
needs: [check-deploy] | |
runs-on: ubuntu-22.04 | |
environment: | |
name: ci-renku-${{ github.event.number }} | |
url: https://ci-renku-${{ github.event.number }}.dev.renku.ch | |
steps: | |
- uses: actions/checkout@v4 | |
- name: renku build and deploy | |
if: needs.check-deploy.outputs.pr-contains-string == 'true' | |
uses: SwissDataScienceCenter/renku-actions/deploy-renku@gateway-refactoring-changes | |
env: | |
DOCKER_PASSWORD: ${{ secrets.RENKU_DOCKER_PASSWORD }} | |
DOCKER_USERNAME: ${{ secrets.RENKU_DOCKER_USERNAME }} | |
GITLAB_TOKEN: ${{ secrets.DEV_GITLAB_TOKEN }} | |
KUBECONFIG: "${{ github.workspace }}/renkubot-kube.config" | |
RENKU_ANONYMOUS_SESSIONS: true | |
RENKU_RELEASE: ci-renku-${{ github.event.number }} | |
RENKU_VALUES_FILE: "${{ github.workspace }}/values.yaml" | |
RENKU_VALUES: ${{ secrets.COMBINED_CHARTS_CI_RENKU_VALUES }} | |
RENKUBOT_KUBECONFIG: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }} | |
TEST_ARTIFACTS_PATH: "tests-artifacts-${{ github.sha }}" | |
renku: "@${{ github.head_ref }}" | |
renku_core: "${{ needs.check-deploy.outputs.renku-core }}" | |
renku_gateway: "${{ needs.check-deploy.outputs.renku-gateway }}" | |
renku_graph: "${{ needs.check-deploy.outputs.renku-graph }}" | |
renku_notebooks: "${{ needs.check-deploy.outputs.renku-notebooks }}" | |
renku_ui: "${{ needs.check-deploy.outputs.renku-ui }}" | |
renku_data_services: "${{ needs.check-deploy.outputs.renku-data-services }}" | |
extra_values: "${{ needs.check-deploy.outputs.extra-values }}" | |
- name: Check existing renkubot comment | |
if: needs.check-deploy.outputs.pr-contains-string == 'true' | |
uses: peter-evans/find-comment@v2 | |
id: findcomment | |
with: | |
issue-number: ${{ github.event.pull_request.number }} | |
comment-author: "RenkuBot" | |
- name: Create comment pre deploy | |
if: ${{ steps.findcomment.outputs.comment-id == 0 && | |
needs.check-deploy.outputs.pr-contains-string == 'true' }} | |
uses: peter-evans/create-or-update-comment@v3 | |
with: | |
token: ${{ secrets.RENKUBOT_GITHUB_TOKEN }} | |
issue-number: ${{ github.event.pull_request.number }} | |
body: | | |
You can access the deployment of this PR at https://ci-renku-${{ github.event.number }}.dev.renku.ch | |
test-pr: | |
if: github.event.action != 'closed' && needs.check-deploy.outputs.pr-contains-string == 'true' && needs.check-deploy.outputs.test-enabled == 'true' | |
needs: [check-deploy, deploy-pr] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: SwissDataScienceCenter/renku-actions/test-renku@gateway-refactoring-changes | |
with: | |
kubeconfig: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }} | |
renku-release: ci-renku-${{ github.event.number }} | |
gitlab-token: ${{ secrets.DEV_GITLAB_TOKEN }} | |
s3-results-access-key: ${{ secrets.ACCEPTANCE_TESTS_BUCKET_ACCESS_KEY }} | |
s3-results-secret-key: ${{ secrets.ACCEPTANCE_TESTS_BUCKET_SECRET_KEY }} | |
test-timeout-mins: "120" | |
test-pr-cypress: | |
needs: [check-deploy, deploy-pr] | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
max-parallel: 1 | |
matrix: | |
tests: | |
[ | |
publicProject, | |
privateProject, | |
updateProjects, | |
testDatasets, | |
useSession, | |
checkWorkflows, | |
rstudioSession, | |
] | |
steps: | |
- uses: SwissDataScienceCenter/renku-actions/test-renku-cypress@gateway-refactoring-changes | |
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 }} | |
renku-reference: ${{ github.ref }} | |
renku-release: ci-renku-${{ github.event.number }} | |
test-user-password: ${{ secrets.RENKU_BOT_DEV_PASSWORD }} | |
cleanup: | |
if: github.event.action == 'closed' | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: renku teardown | |
uses: SwissDataScienceCenter/renku-actions/cleanup-renku-ci-deployments@gateway-refactoring-changes | |
env: | |
HELM_RELEASE_REGEX: "^ci-renku-${{ github.event.number }}$" | |
GITLAB_TOKEN: ${{ secrets.DEV_GITLAB_TOKEN }} | |
RENKUBOT_KUBECONFIG: ${{ secrets.RENKUBOT_DEV_KUBECONFIG }} | |
MAX_AGE_SECONDS: 0 | |
DELETE_NAMESPACE: "true" |