diff --git a/.github/issue_label_bot.yaml b/.github/issue_label_bot.yaml deleted file mode 100644 index d55b2fbf02b..00000000000 --- a/.github/issue_label_bot.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# for https://mlbot.net -label-alias: - bug: 'kind/bug' - feature_request: 'kind/feature' - feature: 'kind/feature' - question: 'kind/question' diff --git a/.github/pull.yml b/.github/pull.yml deleted file mode 100644 index 6dcab8d206c..00000000000 --- a/.github/pull.yml +++ /dev/null @@ -1,8 +0,0 @@ -version: "1" -rules: - - base: master - upstream: kubeflow:master - mergeMethod: none # don't automatically merge - mergeUnstable: false -label: "do-not-merge/hold" -conflictLabel: "needs-rebase" diff --git a/.github/stale.yml b/.github/stale.yml deleted file mode 100644 index 99db79fe405..00000000000 --- a/.github/stale.yml +++ /dev/null @@ -1,44 +0,0 @@ -## Configuration for "Probot: Stale" -## https://github.com/probot/stale - -# Number of days of inactivity before an issue becomes stale -daysUntilStale: 90 - -# Number of days of inactivity before a stale issue is closed -daysUntilClose: 7 - -# Issues with these labels will never be considered stale -exemptLabels: - - lifecycle/frozen - - priority/p0 - - priority/p1 - - priority/p2 - - priority/p3 - -# Set to true to ignore issues in a project -exemptProjects: true - -# Set to true to ignore issues in a milestone -exemptMilestones: true - -# Label to use when marking an issue as stale -staleLabel: lifecycle/stale - -# Comment to post when marking an issue as stale. Set to `false` to disable -markComment: | - This issue has been automatically marked as stale because it has not had activity in __90 days__. - It will be closed in __7 days__ if no further activity occurs. - - Thank you for your contributions. - - --- - - Issues never become stale if any of the following is true: - - 1. they are added to a GitHub __Project__ - 2. they are added to a GitHub __Milestone__ - 3. they have a priority label: `priority/p0`, `priority/p1`, `priority/p2`, `priority/p3` - 4. they have the frozen label: `lifecycle/frozen` - -# Comment to post when closing a stale issue. Set to `false` to disable -closeComment: false \ No newline at end of file diff --git a/.github/workflows/auto-add-issue-to-project.yaml b/.github/workflows/auto-add-issue-to-project.yaml deleted file mode 100644 index 3a956c1481c..00000000000 --- a/.github/workflows/auto-add-issue-to-project.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: Auto Add Issues to Tracking boards -on: - issues: - types: - - opened -jobs: - add-to-project: - name: Add issue to projects - runs-on: ubuntu-latest - steps: - - name: Generate github-app token - id: app-token - uses: getsentry/action-github-app-token@v2 - with: - app_id: ${{ secrets.DEVOPS_APP_ID }} - private_key: ${{ secrets.DEVOPS_APP_PRIVATE_KEY }} - - uses: actions/add-to-project@v0.5.0 - with: - project-url: https://github.com/orgs/opendatahub-io/projects/39 - github-token: ${{ steps.app-token.outputs.token }} - - uses: actions/add-to-project@v0.5.0 - with: - project-url: https://github.com/orgs/opendatahub-io/projects/40 - github-token: ${{ steps.app-token.outputs.token }} - - uses: actions/add-to-project@v0.5.0 - with: - project-url: https://github.com/orgs/opendatahub-io/projects/45 - github-token: ${{ steps.app-token.outputs.token }} diff --git a/.github/workflows/centraldb_angular_backend_test.yaml b/.github/workflows/centraldb_angular_backend_test.yaml deleted file mode 100644 index 79b0b38d5dc..00000000000 --- a/.github/workflows/centraldb_angular_backend_test.yaml +++ /dev/null @@ -1,34 +0,0 @@ -name: CentralDashboard-angular Backend Tests -on: - pull_request: - paths: - - components/centraldashboard-angular/backend/** - -jobs: - run-backend-unittests: - name: Unit tests - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 12 - - name: Run unit tests - run: | - cd components/centraldashboard-angular/backend/ - npm i - npm run test - - run-backend-tslint: - name: TSLint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 12 - - name: Run tslint - run: | - cd components/centraldashboard-angular/backend/ - npm i - npm run tslint diff --git a/.github/workflows/centraldb_angular_docker_publish.yaml b/.github/workflows/centraldb_angular_docker_publish.yaml deleted file mode 100644 index 86308be9128..00000000000 --- a/.github/workflows/centraldb_angular_docker_publish.yaml +++ /dev/null @@ -1,54 +0,0 @@ -name: Build & Publish CentralDashboard-Angular Docker image -on: - push: - branches: - - master - - v*-branch - paths: - - components/centraldashboard-angular/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - IMG: kubeflownotebookswg/centraldashboard-angular - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Run CentralDashboard-Angular build/push - run: | - cd components/centraldashboard-angular - make docker-build docker-push - - - name: Run CentralDashboard-Angular build/push latest - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/centraldashboard-angular - make docker-build docker-push - - - name: Run CentralDashboard-Angular build/push on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/centraldashboard-angular - make docker-build docker-push diff --git a/.github/workflows/centraldb_angular_frontend_test.yaml b/.github/workflows/centraldb_angular_frontend_test.yaml deleted file mode 100644 index 61566a35756..00000000000 --- a/.github/workflows/centraldb_angular_frontend_test.yaml +++ /dev/null @@ -1,104 +0,0 @@ -name: CentralDashboard-angular Frontend Tests -on: - pull_request: - paths: - - components/centraldashboard-angular/frontend/** - -jobs: - frontend-format-lint-check: - name: Check code format and lint - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Check frontend code formatting - run: | - cd components/centraldashboard-angular/frontend/ - npm i - npm run format:check - - - name: Check frontend code linting - run: | - cd components/centraldashboard-angular/frontend - npm i - npm run lint-check - - run-frontend-unittests: - name: Unit tests - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 12 - - name: Run unit tests - run: | - cd components/centraldashboard-angular/frontend/ - npm i - npm run test:prod - - run-tests-in-chrome: - name: UI tests in chrome - runs-on: ubuntu-20.04 - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup node version to 12 - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - - name: Install kustomize - run: ./components/testing/gh-actions/install_kustomize.sh - - - name: Install Istio - run: ./components/testing/gh-actions/install_istio.sh - - - name: Apply KF Controllers - run: | - cd components - kubectl create namespace kubeflow - kustomize build profile-controller/config/overlays/kubeflow | kubectl apply -f - - kustomize build notebook-controller/config/overlays/kubeflow | kubectl apply -f - - kubectl wait pods -n kubeflow -l kustomize.component=profiles --for=condition=Ready --timeout=300s - kubectl wait pods -n kubeflow -l app=notebook-controller --for=condition=Ready --timeout=300s - - - name: Apply JWA manifests - run: | - cd components/crud-web-apps/jupyter/manifests - kustomize build overlays/istio | kubectl apply -f - - kubectl wait pods -n kubeflow -l app=jupyter-web-app --for=condition=Ready --timeout=300s - kubectl port-forward -n kubeflow svc/jupyter-web-app-service 8086:80 & - - - name: Apply VWA manifests - run: | - cd components/crud-web-apps/volumes/manifests - kustomize build overlays/istio | kubectl apply -f - - kubectl wait pods -n kubeflow -l app=volumes-web-app --for=condition=Ready --timeout=300s - kubectl port-forward -n kubeflow svc/volumes-web-app-service 8087:80 & - - - name: Apply necessary CRs - run: | - kustomize build https://github.com/kubeflow/manifests//common/kubeflow-roles/base?ref=master | kubectl apply -f - - cd components/testing/gh-actions/resources - kubectl apply -f user-profile.yaml - while ! kubectl get ns kubeflow-user; do sleep 1; done - kubectl apply -f test-notebook.yaml - kubectl wait notebooks -n kubeflow-user -l app=test-notebook --for=condition=Ready --timeout=300s - - - name: Test proxied apps - run: | - curl -H "kubeflow-userid: user" localhost:8086 - curl -H "kubeflow-userid: user" localhost:8087 diff --git a/.github/workflows/centraldb_angular_intergration_test.yaml b/.github/workflows/centraldb_angular_intergration_test.yaml deleted file mode 100644 index 5a4b78d6d4e..00000000000 --- a/.github/workflows/centraldb_angular_intergration_test.yaml +++ /dev/null @@ -1,52 +0,0 @@ -name: CentralDashboard-Angular Intergration Test -on: - pull_request: - paths: - - components/centraldashboard-angular/** - branches: - - master - - v*-branch - -env: - IMG: centraldashboard-angular - TAG: intergration-test - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Build CentralDashboard-Angular Image - run: | - cd components/centraldashboard-angular - make docker-build - - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - - name: Load Images into KinD Cluster - run: | - kind load docker-image ${{env.IMG}}:${{env.TAG}} - - - name: Install kustomize - run: ./components/testing/gh-actions/install_kustomize.sh - - - name: Install Istio - run: ./components/testing/gh-actions/install_istio.sh - - - name: Build & Apply manifests - run: | - cd components/centraldashboard-angular/manifests/overlays/kserve - kubectl create ns kubeflow - - export CURRENT_CENTRALDB_IMG=docker.io/kubeflownotebookswg/centraldashboard-angular - export PR_CENTRALDB_IMG=${{env.IMG}}:${{env.TAG}} - kustomize edit set image ${CURRENT_CENTRALDB_IMG}=${PR_CENTRALDB_IMG} - - kustomize build . | kubectl apply -f - - kubectl wait pods -n kubeflow -l app=centraldashboard-angular --for=condition=Ready --timeout=300s diff --git a/.github/workflows/centraldb_docker_publish.yaml b/.github/workflows/centraldb_docker_publish.yaml deleted file mode 100644 index 9bd55e01bda..00000000000 --- a/.github/workflows/centraldb_docker_publish.yaml +++ /dev/null @@ -1,61 +0,0 @@ -name: Build & Publish CentralDashboard Docker image -on: - push: - branches: - - master - - v*-branch - paths: - - components/centraldashboard/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - IMG: kubeflownotebookswg/centraldashboard - ARCH: linux/ppc64le,linux/amd64 - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Setup QEMU - uses: docker/setup-qemu-action@v2 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build and push multi-arch docker image - run: | - cd components/centraldashboard - make docker-build-push-multi-arch - - - name: Build and push latest multi-arch docker image - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/centraldashboard - make docker-build-push-multi-arch - - - name: Build and push multi-arch docker image on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/centraldashboard - make docker-build-push-multi-arch diff --git a/.github/workflows/centraldb_frontend_tests.yaml b/.github/workflows/centraldb_frontend_tests.yaml deleted file mode 100644 index 1d61ceb6cd6..00000000000 --- a/.github/workflows/centraldb_frontend_tests.yaml +++ /dev/null @@ -1,32 +0,0 @@ -name: CentralDashboard Frontend Tests -on: - pull_request: - paths: - - components/centraldashboard/** - branches: - - master - - v*-branch - -jobs: - frontend-tests: - runs-on: ubuntu-latest - name: Unit tests - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup node version to 12 - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Setup Chrome - uses: browser-actions/setup-chrome@v1 - with: - chrome-version: stable - - - name: Run frontend tests - run: | - cd components/centraldashboard - npm install - CHROMIUM_BIN=$(which chrome) npm run test diff --git a/.github/workflows/centraldb_intergration_test.yaml b/.github/workflows/centraldb_intergration_test.yaml deleted file mode 100644 index 045718cbce5..00000000000 --- a/.github/workflows/centraldb_intergration_test.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: CentralDashboard Intergration Test -on: - pull_request: - paths: - - components/centraldashboard/** - branches: - - master - - v*-branch - -env: - IMG: centraldashboard - TAG: intergration-test - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup QEMU - uses: docker/setup-qemu-action@v2 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build CentralDashboard Image - run: | - cd components/centraldashboard - ARCH=linux/ppc64le make docker-build-multi-arch - ARCH=linux/amd64 make docker-build-multi-arch - - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - - name: Load Images into KinD Cluster - run: | - kind load docker-image ${{env.IMG}}:${{env.TAG}} - - - name: Install kustomize - run: ./components/testing/gh-actions/install_kustomize.sh - - - name: Install Istio - run: ./components/testing/gh-actions/install_istio.sh - - - name: Build & Apply manifests - run: | - cd components/centraldashboard/manifests/overlays/kserve - kubectl create ns kubeflow - - export CURRENT_CENTRALDB_IMG=docker.io/kubeflownotebookswg/centraldashboard - export PR_CENTRALDB_IMG=${{env.IMG}}:${{env.TAG}} - kustomize edit set image ${CURRENT_CENTRALDB_IMG}=${PR_CENTRALDB_IMG} - - kustomize build . | kubectl apply -f - - kubectl wait pods -n kubeflow -l app=centraldashboard --for=condition=Ready --timeout=300s diff --git a/.github/workflows/common_frontend_tests.yaml b/.github/workflows/common_frontend_tests.yaml deleted file mode 100644 index 0bddaf99c2c..00000000000 --- a/.github/workflows/common_frontend_tests.yaml +++ /dev/null @@ -1,47 +0,0 @@ -name: Common Frontend Tests -on: - pull_request: - paths: - - components/crud-web-apps/common/frontend/kubeflow-common-lib/** - -jobs: - frontend-format-lint-check: - name: Check code format and lint - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Check frontend code formatting - run: | - cd components/crud-web-apps/common/frontend/kubeflow-common-lib - npm i - npm run format:check - - name: Check frontend code linting - run: | - cd components/crud-web-apps/common/frontend/kubeflow-common-lib - npm i - npm run lint-check - - frontend-unit-tests: - runs-on: ubuntu-latest - name: Unit tests - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup node version to 12 - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Install Kubeflow common library dependecies - run: | - cd components/crud-web-apps/common/frontend/kubeflow-common-lib - npm i - npm run test:prod diff --git a/.github/workflows/jwa_backend_unittests.yaml b/.github/workflows/jwa_backend_unittests.yaml deleted file mode 100644 index a1a39dca2a0..00000000000 --- a/.github/workflows/jwa_backend_unittests.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: JWA Backend Tests -on: - pull_request: - paths: - - components/crud-web-apps/jupyter/backend/** - -jobs: - run-backend-unittests: - name: Unittests - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - uses: actions/setup-python@v4 - with: - python-version: '3.7' - - name: Setup Python environment - run: | - cd components/crud-web-apps/jupyter/backend - make install-deps - - name: Run unittests - run: | - cd components/crud-web-apps/jupyter/backend - make unittest diff --git a/.github/workflows/jwa_docker_publish.yaml b/.github/workflows/jwa_docker_publish.yaml deleted file mode 100644 index 6aa75f2b6d9..00000000000 --- a/.github/workflows/jwa_docker_publish.yaml +++ /dev/null @@ -1,62 +0,0 @@ -name: Build & Publish JWA Docker image -on: - push: - branches: - - master - - v*-branch - paths: - - components/crud-web-apps/jupyter/** - - components/crud-web-apps/common/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - IMG: kubeflownotebookswg/jupyter-web-app - ARCH: linux/ppc64le,linux/amd64 - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Setup QEMU - uses: docker/setup-qemu-action@v2 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build and push multi-arch docker image - run: | - cd components/crud-web-apps/jupyter - make docker-build-push-multi-arch - - - name: Build and push latest multi-arch docker image - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/crud-web-apps/jupyter - make docker-build-push-multi-arch - - - name: Build and push multi-arch docker image on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/crud-web-apps/jupyter - make docker-build-push-multi-arch diff --git a/.github/workflows/jwa_frontend_tests.yaml b/.github/workflows/jwa_frontend_tests.yaml deleted file mode 100644 index 2fb8162755f..00000000000 --- a/.github/workflows/jwa_frontend_tests.yaml +++ /dev/null @@ -1,86 +0,0 @@ -name: JWA Frontend Tests -on: - pull_request: - paths: - - components/crud-web-apps/jupyter/frontend/** - -jobs: - frontend-format-linting-check: - name: Check code format and lint - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Check frontend formatting - run: | - cd components/crud-web-apps/jupyter/frontend - npm i - npm run format:check - - - name: Check frontend code linting - run: | - cd components/crud-web-apps/jupyter/frontend - npm i - npm run lint-check - - frontend-unit-tests: - runs-on: ubuntu-latest - name: Unit tests - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup node version to 12 - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Install Kubeflow common library dependecies - run: | - cd components/crud-web-apps/common/frontend/kubeflow-common-lib - npm i - npm run build - npm link ./dist/kubeflow - - name: Install JWA dependencies - run: | - cd components/crud-web-apps/jupyter/frontend - npm i - npm link kubeflow - - name: Run unit tests - run: | - cd components/crud-web-apps/jupyter/frontend - npm run test:prod - - run-ui-tests: - name: UI tests with Cypress - runs-on: ubuntu-20.04 - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup node version to 12 - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Install Kubeflow common library dependecies - run: | - cd components/crud-web-apps/common/frontend/kubeflow-common-lib - npm i - npm run build - npm link ./dist/kubeflow - - name: Install JWA dependencies - run: | - cd components/crud-web-apps/jupyter/frontend - npm i - npm link kubeflow - - name: Serve UI & run Cypress tests in Chrome and Firefox - run: | - cd components/crud-web-apps/jupyter/frontend - npm run serve & npx wait-on http://localhost:4200 - npm run ui-test-ci-all diff --git a/.github/workflows/jwa_intergration_test.yaml b/.github/workflows/jwa_intergration_test.yaml deleted file mode 100644 index 3099d465e39..00000000000 --- a/.github/workflows/jwa_intergration_test.yaml +++ /dev/null @@ -1,53 +0,0 @@ -name: JWA Intergration Test -on: - pull_request: - paths: - - components/crud-web-apps/jupyter/** - - components/crud-web-apps/common/** - branches: - - master - - v*-branch - -env: - IMG: jupyter-web-app - TAG: intergration-test - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Build JWA Image - run: | - cd components/crud-web-apps/jupyter - make docker-build - - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - - name: Load Image into KinD Cluster - run: | - kind load docker-image ${{env.IMG}}:${{env.TAG}} - - - name: Install kustomize - run: ./components/testing/gh-actions/install_kustomize.sh - - - name: Install Istio - run: ./components/testing/gh-actions/install_istio.sh - - - name: Build & Apply manifests - run: | - cd components/crud-web-apps/jupyter/manifests/overlays/istio - kubectl create ns kubeflow - - export CURRENT_JWA_IMG=docker.io/kubeflownotebookswg/jupyter-web-app - export PR_JWA_IMG=${{env.IMG}}:${{env.TAG}} - kustomize edit set image ${CURRENT_JWA_IMG}=${PR_JWA_IMG} - - kustomize build . | kubectl apply -f - - kubectl wait pods -n kubeflow -l app=jupyter-web-app --for=condition=Ready --timeout=300s diff --git a/.github/workflows/kfam_docker_publish.yaml b/.github/workflows/kfam_docker_publish.yaml deleted file mode 100644 index cfd580f0b82..00000000000 --- a/.github/workflows/kfam_docker_publish.yaml +++ /dev/null @@ -1,61 +0,0 @@ -name: Build & Publish KFAM Docker image -on: - push: - branches: - - master - - v*-branch - paths: - - components/access-management/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - IMG: kubeflownotebookswg/kfam - ARCH: linux/ppc64le,linux/amd64 - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Setup QEMU - uses: docker/setup-qemu-action@v2 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build and push multi-arch docker image - run: | - cd components/access-management - make docker-build-push-multi-arch - - - name: Build and push latest multi-arch docker image - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/access-management - make docker-build-push-multi-arch - - - name: Build and push multi-arch docker image on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/access-management - make docker-build-push-multi-arch diff --git a/.github/workflows/nb_controller_docker_publish.yaml b/.github/workflows/nb_controller_docker_publish.yaml deleted file mode 100644 index a2c776e2157..00000000000 --- a/.github/workflows/nb_controller_docker_publish.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: Build & Publish Notebook Controller Docker image -on: - push: - branches: - - master - - v*-branch - paths: - - components/notebook-controller/** - - components/common/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - IMG: kubeflownotebookswg/notebook-controller - ARCH: linux/ppc64le,linux/amd64 - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Setup QEMU - uses: docker/setup-qemu-action@v2 - with: - platforms: ppc64le - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build and push multi-arch docker image - run: | - cd components/notebook-controller - make docker-build-push-multi-arch - - - name: Build and push latest multi-arch docker image - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/notebook-controller - make docker-build-push-multi-arch - - - name: Build and push multi-arch docker image on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/notebook-controller - make docker-build-push-multi-arch diff --git a/.github/workflows/nb_controller_intergration_test.yaml b/.github/workflows/nb_controller_intergration_test.yaml deleted file mode 100644 index 36e9f463384..00000000000 --- a/.github/workflows/nb_controller_intergration_test.yaml +++ /dev/null @@ -1,52 +0,0 @@ -name: Notebook Controller Intergration Test -on: - pull_request: - paths: - - components/notebook-controller/** - branches: - - master - - v*-branch - -env: - IMG: notebook-controller - TAG: intergration-test - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Build Notebook Controller Image - run: | - cd components/notebook-controller - make docker-build - - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - - name: Load Images into KinD Cluster - run: | - kind load docker-image ${{env.IMG}}:${{env.TAG}} - - - name: Install kustomize - run: ./components/testing/gh-actions/install_kustomize.sh - - - name: Install Istio - run: ./components/testing/gh-actions/install_istio.sh - - - name: Build & Apply manifests - run: | - cd components/notebook-controller/config/overlays/kubeflow - kubectl create ns kubeflow - - export CURRENT_NOTEBOOK_IMG=docker.io/kubeflownotebookswg/notebook-controller - export PR_NOTEBOOK_IMG=${{env.IMG}}:${{env.TAG}} - kustomize edit set image ${CURRENT_NOTEBOOK_IMG}=${PR_NOTEBOOK_IMG} - - kustomize build . | kubectl apply -f - - kubectl wait pods -n kubeflow -l app=notebook-controller --for=condition=Ready --timeout=300s diff --git a/.github/workflows/nb_server_codeserver_python_docker_publish.yaml b/.github/workflows/nb_server_codeserver_python_docker_publish.yaml deleted file mode 100644 index 8fe47b6d0f6..00000000000 --- a/.github/workflows/nb_server_codeserver_python_docker_publish.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: Build & Publish Codeserver Python Notebook Server Docker images -on: - push: - branches: - - master - - v*-branch - paths: - - components/example-notebook-servers/codeserver-python/** - - components/example-notebook-servers/codeserver/** - - components/example-notebook-servers/base/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - REGISTRY: kubeflownotebookswg - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER}} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Build and push Notebook Server images - run: | - cd components/example-notebook-servers/ - make docker-build -C codeserver-python - make docker-push -C codeserver-python - - - name: Build and push latest Notebook Server images - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/example-notebook-servers/ - make docker-build -C codeserver-python - make docker-push -C codeserver-python - - - name: Build and push Notebook Server images on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/example-notebook-servers/ - make docker-build -C codeserver-python - make docker-push -C codeserver-python diff --git a/.github/workflows/nb_server_jupyter_pytorch_full_docker_publish.yaml b/.github/workflows/nb_server_jupyter_pytorch_full_docker_publish.yaml deleted file mode 100644 index 83fec42c085..00000000000 --- a/.github/workflows/nb_server_jupyter_pytorch_full_docker_publish.yaml +++ /dev/null @@ -1,66 +0,0 @@ -name: Build & Publish Jupyter Pytorch Full Notebook Server Docker images -on: - push: - branches: - - master - - v*-branch - paths: - - components/example-notebook-servers/jupyter-pytorch-full/** - - components/example-notebook-servers/jupyter-pytorch/** - - components/example-notebook-servers/jupyter/** - - components/example-notebook-servers/base/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - REGISTRY: kubeflownotebookswg - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Build and push Notebook Server images - run: | - cd components/example-notebook-servers/ - make docker-build-cpu -C jupyter-pytorch-full - make docker-build-cuda -C jupyter-pytorch-full - make docker-push-cpu -C jupyter-pytorch-full - make docker-push-cuda -C jupyter-pytorch-full - - - name: Build and push latest Notebook Server images - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/example-notebook-servers/ - make docker-build-cpu -C jupyter-pytorch-full - make docker-build-cuda -C jupyter-pytorch-full - make docker-push-cpu -C jupyter-pytorch-full - make docker-push-cuda -C jupyter-pytorch-full - - - name: Build and push Notebook Server images on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/example-notebook-servers/ - make docker-build-cpu -C jupyter-pytorch-full - make docker-build-cuda -C jupyter-pytorch-full - make docker-push-cpu -C jupyter-pytorch-full - make docker-push-cuda -C jupyter-pytorch-full diff --git a/.github/workflows/nb_server_jupyter_scipy_docker_publish.yaml b/.github/workflows/nb_server_jupyter_scipy_docker_publish.yaml deleted file mode 100644 index dcb1a2de141..00000000000 --- a/.github/workflows/nb_server_jupyter_scipy_docker_publish.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: Build & Publish Notebook Server Docker images -on: - push: - branches: - - master - - v*-branch - paths: - - components/example-notebook-servers/jupyter-scipy/** - - components/example-notebook-servers/jupyter/** - - components/example-notebook-servers/base/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - REGISTRY: kubeflownotebookswg - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Build and push Notebook Server images - run: | - cd components/example-notebook-servers/ - make docker-build -C jupyter-scipy - make docker-push -C jupyter-scipy - - - name: Build and push latest Notebook Server images - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/example-notebook-servers/ - make docker-build -C jupyter-scipy - make docker-push -C jupyter-scipy - - - name: Build and push Notebook Server images on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/example-notebook-servers/ - make docker-build -C jupyter-scipy - make docker-push -C jupyter-scipy diff --git a/.github/workflows/nb_server_jupyter_tf_full_docker_publish.yaml b/.github/workflows/nb_server_jupyter_tf_full_docker_publish.yaml deleted file mode 100644 index 6748d662540..00000000000 --- a/.github/workflows/nb_server_jupyter_tf_full_docker_publish.yaml +++ /dev/null @@ -1,66 +0,0 @@ -name: Build & Publish Jupyter TensorFlow Full Notebook Server Docker images -on: - push: - branches: - - master - - v*-branch - paths: - - components/example-notebook-servers/jupyter-tensorflow-full/** - - components/example-notebook-servers/jupyter-tensorflow/** - - components/example-notebook-servers/jupyter/** - - components/example-notebook-servers/base/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - REGISTRY: kubeflownotebookswg - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Build and push Notebook Server images - run: | - cd components/example-notebook-servers/ - make docker-build-cpu -C jupyter-tensorflow-full - make docker-build-cuda -C jupyter-tensorflow-full - make docker-push-cpu -C jupyter-tensorflow-full - make docker-push-cuda -C jupyter-tensorflow-full - - - name: Build and push latest Notebook Server images - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/example-notebook-servers/ - make docker-build-cpu -C jupyter-tensorflow-full - make docker-build-cuda -C jupyter-tensorflow-full - make docker-push-cpu -C jupyter-tensorflow-full - make docker-push-cuda -C jupyter-tensorflow-full - - - name: Build and push Notebook Server images on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/example-notebook-servers/ - make docker-build-cpu -C jupyter-tensorflow-full - make docker-build-cuda -C jupyter-tensorflow-full - make docker-push-cpu -C jupyter-tensorflow-full - make docker-push-cuda -C jupyter-tensorflow-full diff --git a/.github/workflows/nb_server_rstudio_tidyverse_docker_publish.yaml b/.github/workflows/nb_server_rstudio_tidyverse_docker_publish.yaml deleted file mode 100644 index b15596f8669..00000000000 --- a/.github/workflows/nb_server_rstudio_tidyverse_docker_publish.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: Build & Publish RStudio Tidyverse Notebook Server Docker images -on: - push: - branches: - - master - - v*-branch - paths: - - components/example-notebook-servers/rstudio-tidyverse/** - - components/example-notebook-servers/rstudio/** - - components/example-notebook-servers/base/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - REGISTRY: kubeflownotebookswg - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Build and push Notebook Server images - run: | - cd components/example-notebook-servers/ - make docker-build -C rstudio-tidyverse - make docker-push -C rstudio-tidyverse - - - name: Build and push latest Notebook Server images - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/example-notebook-servers/ - make docker-build -C rstudio-tidyverse - make docker-push -C rstudio-tidyverse - - - name: Build and push Notebook Server images on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/example-notebook-servers/ - make docker-build -C rstudio-tidyverse - make docker-push -C rstudio-tidyverse diff --git a/.github/workflows/notebook_controller_unit_test.yaml b/.github/workflows/notebook_controller_unit_test.yaml index 9cf29664090..39b8e770b8d 100644 --- a/.github/workflows/notebook_controller_unit_test.yaml +++ b/.github/workflows/notebook_controller_unit_test.yaml @@ -1,23 +1,26 @@ name: Run Notebook Controller unit tests on: + push: pull_request: paths: - components/notebook-controller/** + workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: '1.17' check-latest: true + go-version-file: components/notebook-controller/go.mod + cache-dependency-path: components/notebook-controller/go.sum - name: Run unit tests run: | cd components/notebook-controller - make test \ No newline at end of file + make test diff --git a/.github/workflows/odh_notebook_controller_unit_test.yaml b/.github/workflows/odh_notebook_controller_unit_test.yaml new file mode 100644 index 00000000000..a8bbf5a5fe5 --- /dev/null +++ b/.github/workflows/odh_notebook_controller_unit_test.yaml @@ -0,0 +1,26 @@ +name: Run ODH Notebook Controller unit tests +on: + push: + pull_request: + paths: + - components/odh-notebook-controller/** + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Go + uses: actions/setup-go@v5 + with: + check-latest: true + go-version-file: components/odh-notebook-controller/go.mod + cache-dependency-path: components/odh-notebook-controller/go.sum + + - name: Run unit tests + run: | + cd components/odh-notebook-controller + make test diff --git a/.github/workflows/poddefaults_docker_publish.yaml b/.github/workflows/poddefaults_docker_publish.yaml deleted file mode 100644 index 0557391897c..00000000000 --- a/.github/workflows/poddefaults_docker_publish.yaml +++ /dev/null @@ -1,61 +0,0 @@ -name: Build & Publish PodDefaults Docker image -on: - push: - branches: - - master - - v*-branch - paths: - - components/admission-webhook/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - IMG: kubeflownotebookswg/poddefaults-webhook - ARCH: linux/ppc64le,linux/amd64 - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Setup QEMU - uses: docker/setup-qemu-action@v2 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build and push multi-arch docker image - run: | - cd components/admission-webhook - make docker-build-push-multi-arch - - - name: Build and push latest multi-arch docker image - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/admission-webhook - make docker-build-push-multi-arch - - - name: Build and push multi-arch docker image on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/admission-webhook - make docker-build-push-multi-arch diff --git a/.github/workflows/poddefaults_intergration_test.yaml b/.github/workflows/poddefaults_intergration_test.yaml deleted file mode 100644 index 7addefd2236..00000000000 --- a/.github/workflows/poddefaults_intergration_test.yaml +++ /dev/null @@ -1,55 +0,0 @@ -name: PodDefaults Intergration Test -on: - pull_request: - paths: - - components/admission-webhook/** - branches: - - master - - v*-branch - -env: - IMG: poddefaults-webhook - TAG: intergration-test - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Build PodDefaults Image - run: | - cd components/admission-webhook - make docker-build - - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - - name: Load Images into KinD Cluster - run: | - kind load docker-image ${{env.IMG}}:${{env.TAG}} - - - name: Install kustomize - run: ./components/testing/gh-actions/install_kustomize.sh - - - name: Install Istio - run: ./components/testing/gh-actions/install_istio.sh - - - name: Install cert-manager - run: ./components/testing/gh-actions/install_cert_manager.sh - - - name: Build & Apply manifests - run: | - cd components/admission-webhook/manifests/overlays/cert-manager - kubectl create ns kubeflow - - export CURRENT_PODDEFAULTS_IMG=docker.io/kubeflownotebookswg/poddefaults-webhook - export PR_PODDEFAULTS_IMG=${{env.IMG}}:${{env.TAG}} - kustomize edit set image ${CURRENT_PODDEFAULTS_IMG}=${PR_PODDEFAULTS_IMG} - - kustomize build . | kubectl apply -f - - kubectl wait pods -n kubeflow -l app=poddefaults --for=condition=Ready --timeout=300s diff --git a/.github/workflows/prof_controller_docker_publish.yaml b/.github/workflows/prof_controller_docker_publish.yaml deleted file mode 100644 index a7bc5ec0b66..00000000000 --- a/.github/workflows/prof_controller_docker_publish.yaml +++ /dev/null @@ -1,61 +0,0 @@ -name: Build & Publish Profile Controller Docker image -on: - push: - branches: - - master - - v*-branch - paths: - - components/profile-controller/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - IMG: kubeflownotebookswg/profile-controller - ARCH: linux/ppc64le,linux/amd64 - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: kubeflownotebookswg - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Setup QEMU - uses: docker/setup-qemu-action@v2 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build and push multi-arch docker image - run: | - cd components/profile-controller - make docker-build-push-multi-arch - - - name: Build and push latest multi-arch docker image - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/profile-controller - make docker-build-push-multi-arch - - - name: Build and push multi-arch docker image on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/profile-controller - make docker-build-push-multi-arch diff --git a/.github/workflows/prof_controller_unit_test.yaml b/.github/workflows/prof_controller_unit_test.yaml deleted file mode 100644 index dcbe95c26db..00000000000 --- a/.github/workflows/prof_controller_unit_test.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: Run Profile Controller unit tests -on: - pull_request: - paths: - - components/profile-controller/** - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Install Go - uses: actions/setup-go@v3 - with: - go-version: '1.17' - check-latest: true - - - name: Run unit tests - run: | - cd components/profile-controller - make test diff --git a/.github/workflows/profiles_kfam_intergration_test.yaml b/.github/workflows/profiles_kfam_intergration_test.yaml deleted file mode 100644 index babe36e51e0..00000000000 --- a/.github/workflows/profiles_kfam_intergration_test.yaml +++ /dev/null @@ -1,62 +0,0 @@ -name: Profiles/KFAM Integration Tests -on: - pull_request: - paths: - - components/profile-controller/** - - components/access-management/** - branches: - - master - - v*-branch - -env: - PROFILE_IMG: profile-controller - KFAM_IMG: kfam - TAG: intergration-test - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Build Profile Controller Image - run: | - cd components/profile-controller - make docker-build IMG=${{env.PROFILE_IMG}} - - - name: Build Kfam Image - run: | - cd components/access-management - make docker-build IMG=${{env.KFAM_IMG}} - - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - - name: Load Images into KinD Cluster - run: | - kind load docker-image ${{env.PROFILE_IMG}}:${{env.TAG}} - kind load docker-image ${{env.KFAM_IMG}}:${{env.TAG}} - - - name: Install kustomize - run: ./components/testing/gh-actions/install_kustomize.sh - - - name: Install Istio - run: ./components/testing/gh-actions/install_istio.sh - - - name: Build & Apply manifests - run: | - cd components/profile-controller/config/overlays/kubeflow - kubectl create ns kubeflow - - export CURRENT_PROFILE_IMG=docker.io/kubeflownotebookswg/profile-controller - export CURRENT_KFAM_IMG=docker.io/kubeflownotebookswg/kfam - export PR_PROFILE_IMG=${{env.PROFILE_IMG}}:${{env.TAG}} - export PR_KFAM_IMG=${{env.KFAM_IMG}}:${{env.TAG}} - kustomize edit set image ${CURRENT_PROFILE_IMG}=${PR_PROFILE_IMG} ${CURRENT_KFAM_IMG}=${PR_KFAM_IMG} - - kustomize build . | kubectl apply -f - - kubectl wait pods -n kubeflow -l kustomize.component=profiles --for=condition=Ready --timeout=300s diff --git a/.github/workflows/tb_controller_docker_publish.yaml b/.github/workflows/tb_controller_docker_publish.yaml deleted file mode 100644 index 45932959a26..00000000000 --- a/.github/workflows/tb_controller_docker_publish.yaml +++ /dev/null @@ -1,61 +0,0 @@ -name: Build & Publish Tensorboard Controller Docker image -on: - push: - branches: - - master - - v*-branch - paths: - - components/tensorboard-controller/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - IMG: kubeflownotebookswg/tensorboard-controller - ARCH: linux/ppc64le,linux/amd64 - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Setup QEMU - uses: docker/setup-qemu-action@v2 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build and push multi-arch docker image - run: | - cd components/tensorboard-controller - make docker-build-push-multi-arch - - - name: Build and push latest multi-arch docker image - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/tensorboard-controller - make docker-build-push-multi-arch - - - name: Build and push multi-arch docker image on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/tensorboard-controller - make docker-build-push-multi-arch diff --git a/.github/workflows/tb_controller_intergration_test.yaml b/.github/workflows/tb_controller_intergration_test.yaml deleted file mode 100644 index efaf654f007..00000000000 --- a/.github/workflows/tb_controller_intergration_test.yaml +++ /dev/null @@ -1,52 +0,0 @@ -name: Tensorboard Controller Intergration Test -on: - pull_request: - paths: - - components/tensorboard-controller/** - branches: - - master - - v*-branch - -env: - IMG: tensorboard-controller - TAG: intergration-test - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Build Tensorboard Controller Image - run: | - cd components/tensorboard-controller - make docker-build - - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - - name: Load Images into KinD Cluster - run: | - kind load docker-image ${{env.IMG}}:${{env.TAG}} - - - name: Install kustomize - run: ./components/testing/gh-actions/install_kustomize.sh - - - name: Install Istio - run: ./components/testing/gh-actions/install_istio.sh - - - name: Build & Apply manifests - run: | - cd components/tensorboard-controller/config/overlays/kubeflow - kubectl create ns kubeflow - - export CURRENT_TENSORBOARD_IMG=docker.io/kubeflownotebookswg/tensorboard-controller - export PR_TENSORBOARD_IMG=${{env.IMG}}:${{env.TAG}} - kustomize edit set image ${CURRENT_TENSORBOARD_IMG}=${PR_TENSORBOARD_IMG} - - kustomize build . | kubectl apply -f - - kubectl wait pods -n kubeflow -l app=tensorboard-controller --for=condition=Ready --timeout=300s diff --git a/.github/workflows/triage_issues.yaml b/.github/workflows/triage_issues.yaml deleted file mode 100644 index 5d4551ce97b..00000000000 --- a/.github/workflows/triage_issues.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# Define a GitHub action workflow to determine whether issues -# should be added or removed from the Needs Triage Kanban board. -name: Check Triage Status of Issue -on: - issues: - types: [opened, closed, reopened, transferred, labeled, unlabeled] - # Issue is created, Issue is closed, Issue added or removed from projects, Labels added/removed - -jobs: - test: - runs-on: ubuntu-latest - steps: - - name: Update Kanban - uses: kubeflow/code-intelligence/Issue_Triage/action@master - with: - # Letting input NEEDS_TRIAGE_PROJECT_CARD_ID use the default value - ISSUE_NUMBER: ${{ github.event.issue.number }} - GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.triage_projects_github_token }} - diff --git a/.github/workflows/twa_docker_publish.yaml b/.github/workflows/twa_docker_publish.yaml deleted file mode 100644 index cb6b1a2c973..00000000000 --- a/.github/workflows/twa_docker_publish.yaml +++ /dev/null @@ -1,62 +0,0 @@ -name: Build & Publish TWA Docker image -on: - push: - branches: - - master - - v*-branch - paths: - - components/crud-web-apps/tensorboards/** - - components/crud-web-apps/common/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - IMG: kubeflownotebookswg/tensorboards-web-app - ARCH: linux/ppc64le,linux/amd64 - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Setup QEMU - uses: docker/setup-qemu-action@v2 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build and push multi-arch docker image - run: | - cd components/crud-web-apps/tensorboards - make docker-build-push-multi-arch - - - name: Build and push latest multi-arch docker image - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/crud-web-apps/tensorboards - make docker-build-push-multi-arch - - - name: Build and push multi-arch docker image on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/crud-web-apps/tensorboards - make docker-build-push-multi-arch diff --git a/.github/workflows/twa_frontend_tests.yaml b/.github/workflows/twa_frontend_tests.yaml deleted file mode 100644 index b3aa35298d3..00000000000 --- a/.github/workflows/twa_frontend_tests.yaml +++ /dev/null @@ -1,86 +0,0 @@ -name: TWA Frontend Tests -on: - pull_request: - paths: - - components/crud-web-apps/tensorboards/frontend/** - -jobs: - frontend-format-linting-check: - name: Code format and lint - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Format tensorboards web app - run: | - cd components/crud-web-apps/tensorboards/frontend - npm i - npm run format:check - - - name: Lint tensorboards web app - run: | - cd components/crud-web-apps/tensorboards/frontend - npm i - npm run lint-check - - frontend-unit-tests: - runs-on: ubuntu-latest - name: Unit tests - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup node version to 12 - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Install Kubeflow common library dependecies - run: | - cd components/crud-web-apps/common/frontend/kubeflow-common-lib - npm i - npm run build - npm link ./dist/kubeflow - - name: Install TWA dependencies - run: | - cd components/crud-web-apps/tensorboards/frontend - npm i - npm link kubeflow - - name: Run unit tests - run: | - cd components/crud-web-apps/tensorboards/frontend - npm run test:prod - - frontend-ui-tests: - name: UI tests with Cypress - runs-on: ubuntu-22.04 - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup node version to 12 - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Install Kubeflow common library dependecies - run: | - cd components/crud-web-apps/common/frontend/kubeflow-common-lib - npm i - npm run build - npm link ./dist/kubeflow - - name: Install TWA dependencies - run: | - cd components/crud-web-apps/tensorboards/frontend - npm i - npm link kubeflow - - name: Serve UI & run Cypress tests in Chrome and Firefox - run: | - cd components/crud-web-apps/tensorboards/frontend - npm run serve & npx wait-on http://localhost:4200 - npm run ui-test-ci-all diff --git a/.github/workflows/twa_intergration_test.yaml b/.github/workflows/twa_intergration_test.yaml deleted file mode 100644 index 8db3c62edb5..00000000000 --- a/.github/workflows/twa_intergration_test.yaml +++ /dev/null @@ -1,53 +0,0 @@ -name: TWA Intergration Test -on: - pull_request: - paths: - - components/crud-web-apps/tensorboards/** - - components/crud-web-apps/common/** - branches: - - master - - v*-branch - -env: - IMG: tensorboards-web-app - TAG: intergration-test - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Build TWA Image - run: | - cd components/crud-web-apps/tensorboards - make docker-build - - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - - name: Load Image into KinD Cluster - run: | - kind load docker-image ${{env.IMG}}:${{env.TAG}} - - - name: Install kustomize - run: ./components/testing/gh-actions/install_kustomize.sh - - - name: Install Istio - run: ./components/testing/gh-actions/install_istio.sh - - - name: Build & Apply manifests - run: | - cd components/crud-web-apps/tensorboards/manifests/overlays/istio - kubectl create ns kubeflow - - export CURRENT_TWA_IMG=docker.io/kubeflownotebookswg/tensorboards-web-app - export PR_TWA_IMG=${{env.IMG}}:${{env.TAG}} - kustomize edit set image ${CURRENT_TWA_IMG}=${PR_TWA_IMG} - - kustomize build . | kubectl apply -f - - kubectl wait pods -n kubeflow -l app=tensorboards-web-app --for=condition=Ready --timeout=300s diff --git a/.github/workflows/vwa_docker_publish.yaml b/.github/workflows/vwa_docker_publish.yaml deleted file mode 100644 index 3c10cbcd548..00000000000 --- a/.github/workflows/vwa_docker_publish.yaml +++ /dev/null @@ -1,62 +0,0 @@ -name: Build & Publish VWA Docker image -on: - push: - branches: - - master - - v*-branch - paths: - - components/crud-web-apps/volumes/** - - components/crud-web-apps/common/** - - releasing/version/VERSION - -env: - DOCKER_USER: kubeflownotebookswg - IMG: kubeflownotebookswg/volumes-web-app - ARCH: linux/ppc64le,linux/amd64 - -jobs: - push_to_registry: - name: Build & Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - version: - - 'releasing/version/VERSION' - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.KUBEFLOWNOTEBOOKSWG_DOCKER_TOKEN }} - - - name: Setup QEMU - uses: docker/setup-qemu-action@v2 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build and push multi-arch docker image - run: | - cd components/crud-web-apps/volumes - make docker-build-push-multi-arch - - - name: Build and push latest multi-arch docker image - if: github.ref == 'refs/heads/master' - run: | - export TAG=latest - cd components/crud-web-apps/volumes - make docker-build-push-multi-arch - - - name: Build and push multi-arch docker image on Version change - id: version - if: steps.filter.outputs.version == 'true' - run: | - export TAG=$(cat releasing/version/VERSION) - cd components/crud-web-apps/volumes - make docker-build-push-multi-arch diff --git a/.github/workflows/vwa_frontend_tests.yaml b/.github/workflows/vwa_frontend_tests.yaml deleted file mode 100644 index f7c5bb0eeca..00000000000 --- a/.github/workflows/vwa_frontend_tests.yaml +++ /dev/null @@ -1,119 +0,0 @@ -name: VWA Frontend Tests -on: - pull_request: - paths: - - components/crud-web-apps/volumes/frontend/** - -jobs: - frontend-format-lint-check: - name: Check code format and lint - runs-on: ubuntu-latest - - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Check frontend code formatting - run: | - cd components/crud-web-apps/volumes/frontend - npm i - npm run format:check - - name: Check frontend code linting - run: | - cd components/crud-web-apps/volumes/frontend - npm i - npm run lint-check - - frontend-unit-tests: - runs-on: ubuntu-latest - name: Unit tests - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup node version to 12 - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Install Kubeflow common library dependecies - run: | - cd components/crud-web-apps/common/frontend/kubeflow-common-lib - npm i - npm run build - npm link ./dist/kubeflow - - name: Install VWA dependencies - run: | - cd components/crud-web-apps/volumes/frontend - npm i - npm link kubeflow - - name: Run unit tests - run: | - cd components/crud-web-apps/volumes/frontend - npm run test:prod - - run-tests-in-chrome: - name: UI tests in chrome - runs-on: ubuntu-20.04 - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup node version to 12 - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Install Kubeflow common library dependecies - run: | - cd components/crud-web-apps/common/frontend/kubeflow-common-lib - npm i - npm run build - npm link ./dist/kubeflow - - name: Install VWA dependencies - run: | - cd components/crud-web-apps/volumes/frontend - npm i - npm link kubeflow - - name: Serve UI & run Cypress tests in Chrome - uses: cypress-io/github-action@v4.2.0 - with: - working-directory: components/crud-web-apps/volumes/frontend - start: npm run serve - install: false - browser: chrome - wait-on: "http://localhost:4200" - - run-tests-in-firefox: - name: UI tests in firefox - runs-on: ubuntu-20.04 - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup node version to 12 - uses: actions/setup-node@v3 - with: - node-version: 12 - - - name: Install Kubeflow common library dependecies - run: | - cd components/crud-web-apps/common/frontend/kubeflow-common-lib - npm i - npm run build - npm link ./dist/kubeflow - - name: Install VWA dependencies - run: | - cd components/crud-web-apps/volumes/frontend - npm i - npm link kubeflow - - name: Serve UI & run Cypress tests in Firefox - uses: cypress-io/github-action@v4.2.0 - with: - working-directory: components/crud-web-apps/volumes/frontend - start: npm run serve - install: false - browser: firefox - wait-on: "http://localhost:4200" diff --git a/.github/workflows/vwa_intergration_test.yaml b/.github/workflows/vwa_intergration_test.yaml deleted file mode 100644 index 1dbe23e7798..00000000000 --- a/.github/workflows/vwa_intergration_test.yaml +++ /dev/null @@ -1,53 +0,0 @@ -name: VWA Intergration Test -on: - pull_request: - paths: - - components/crud-web-apps/volumes/** - - components/crud-web-apps/common/** - branches: - - master - - v*-branch - -env: - IMG: volumes-web-app - TAG: intergration-test - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Build VWA Image - run: | - cd components/crud-web-apps/volumes - make docker-build - - - name: Install KinD - run: ./components/testing/gh-actions/install_kind.sh - - - name: Create KinD Cluster - run: kind create cluster --config components/testing/gh-actions/kind-1-25.yaml - - - name: Load Image into KinD Cluster - run: | - kind load docker-image ${{env.IMG}}:${{env.TAG}} - - - name: Install kustomize - run: ./components/testing/gh-actions/install_kustomize.sh - - - name: Install Istio - run: ./components/testing/gh-actions/install_istio.sh - - - name: Build & Apply manifests - run: | - cd components/crud-web-apps/volumes/manifests/overlays/istio - kubectl create ns kubeflow - - export CURRENT_VWA_IMG=docker.io/kubeflownotebookswg/volumes-web-app - export PR_VWA_IMG=${{env.IMG}}:${{env.TAG}} - kustomize edit set image ${CURRENT_VWA_IMG}=${PR_VWA_IMG} - - kustomize build . | kubectl apply -f - - kubectl wait pods -n kubeflow -l app=volumes-web-app --for=condition=Ready --timeout=300s diff --git a/components/notebook-controller/controllers/notebook_controller.go b/components/notebook-controller/controllers/notebook_controller.go index 9f8c4b62f47..09ecff5dd2e 100644 --- a/components/notebook-controller/controllers/notebook_controller.go +++ b/components/notebook-controller/controllers/notebook_controller.go @@ -162,7 +162,7 @@ func (r *NotebookReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c // Copy the pod template labels, but reconcilation is not required // exclusively based on ths pod template labels - if *ss.Spec.Replicas != *foundStateful.Spec.Replicas { + if ss.Spec.Replicas != nil && foundStateful.Spec.Replicas != nil && *ss.Spec.Replicas != *foundStateful.Spec.Replicas { if !reflect.DeepEqual(foundStateful.Spec.Template.ObjectMeta.Labels, ss.Spec.Template.ObjectMeta.Labels) { foundStateful.Spec.Template.ObjectMeta.Labels = ss.Spec.Template.ObjectMeta.Labels }