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

feat(ws): Add Workspace Data Vol column functionality to workspaces table #159

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
20a3de3
feat(ws): initial commit for controller (#5)
jiridanek May 23, 2024
9a945fb
feat(ws): initial commit for backend (#7)
ederign May 31, 2024
a42f0a3
feat(ws): add kubernetes client to backend (#15)
ederign Jun 8, 2024
0ff4d03
feat(ws): add `Workspace` and `WorkspaceKind` CRD scaffolds (#6)
jiridanek Jun 19, 2024
565a740
feat(ws): update `Workspace` and `WorkspaceKind` definitions (#16)
thesuperzapper Jun 21, 2024
3e89605
chore: clean up OWNERS file (avoid non-maintainers) (#17)
thesuperzapper Jun 24, 2024
b0367e8
feat(ws): initial commit for frontend (#19)
ederign Jun 28, 2024
a8de501
feat(ws): add `containerSecurityContext` to WorkspaceKind (#20)
thesuperzapper Jun 30, 2024
ca78327
fix(ws): use correct `nodeSelector` type and add CRD validation tests…
thesuperzapper Jul 5, 2024
0cacff7
feat(ws): initial Workspace and WorkspaceKind controller loops (#22)
Adembc Jul 15, 2024
574ed81
chore(ws): remove unused libraries `react-axe` and `react-docgen-type…
ederign Jul 18, 2024
50fda65
test(ws): add safety prompt for E2E test execution (#28)
Adembc Aug 5, 2024
12610f0
test(ws): add e2e tests (#30)
Adembc Aug 6, 2024
e4e0aff
ci(ws): run `make test-e2e` on GitHub Actions (#11)
jiridanek Aug 6, 2024
38b8955
feat(ws): set `status.pauseTime` on workspace (#26)
Adembc Aug 6, 2024
bc4e445
feat(ws): add validation webhooks for Workspace and WorkspaceKind (#34)
Adembc Aug 29, 2024
b0af8ae
feat(ws): use controller-runtime for backend (#43)
thesuperzapper Sep 14, 2024
f852c16
Notebooks 2.0 // Backend // List Workspaces API (#60)
ederign Sep 23, 2024
e46633b
feat(ws): add CRUD operations to backend (#66)
ederign Oct 10, 2024
a3a7c84
chore(ws): restructure frontend and setup navigation (#67)
Griffin-Sullivan Oct 23, 2024
4068e9e
Proposing to add myself as owner of frontend directory (#72)
ederign Nov 5, 2024
9d02acf
chore(ws): add cypress structure and initial tests for frontend (#73)
Griffin-Sullivan Nov 8, 2024
2b747ac
feat(ws): Notebooks 2.0 // Backend // List namespaces (#124)
ederign Nov 28, 2024
e920dd9
chore: update go linting + update dependencies for controller (#137)
thesuperzapper Dec 2, 2024
68d0b91
feat(ws): Notebooks 2.0 // Frontend // Workspaces table // Live mocku…
paulovmr Dec 3, 2024
68a0060
chore(ws): Setup eslint and jest configurations (#141)
paulovmr Dec 3, 2024
d1a8c3c
test(ws): enhance e2e test setup and cleanup (#39)
Adembc Dec 5, 2024
90c21df
chore(ws): run tests for frontend in GHA (#75)
Griffin-Sullivan Dec 5, 2024
346a74e
ci: add action to enforce semantic PR titles (#14)
Adembc Dec 11, 2024
bca3cc2
Fix for - RHOAIENG-16563: Workspace Data Vol column
Dec 12, 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
84 changes: 84 additions & 0 deletions .github/workflows/controller-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Controller - Build and Test

permissions: {}

on:
push:
branches: [ "main", "notebooks-v2", "v*-branch" ]
pull_request:
paths: [ "workspaces/controller/**" ]
branches: [ "main", "notebooks-v2", "v*-branch" ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: workspaces/controller/go.mod
check-latest: true
cache-dependency-path: workspaces/controller/go.sum

- name: Lint
working-directory: workspaces/controller
run: make lint

- name: Build
working-directory: workspaces/controller
run: make build

- name: Check if there are uncommitted file changes
working-directory: workspaces/controller
run: |
clean=$(git status --porcelain)
if [[ -z "$clean" ]]; then
echo "Empty git status --porcelain: $clean"
else
echo "Uncommitted file changes detected: $clean"
git diff
exit 1
fi

unit-tests:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: workspaces/controller/go.mod
check-latest: true
cache-dependency-path: workspaces/controller/go.sum

- name: Run unit tests
working-directory: workspaces/controller
run: make test

e2e-tests:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4

- name: Set up Kind
uses: helm/kind-action@v1
with:
version: v0.23.0
node_image: kindest/node:v1.25.16@sha256:5da57dfc290ac3599e775e63b8b6c49c0c85d3fec771cd7d55b45fae14b38d3b
cluster_name: kind

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: workspaces/controller/go.mod
check-latest: true
cache-dependency-path: workspaces/controller/go.sum

- name: Run e2e tests
working-directory: workspaces/controller
run: make test-e2e
40 changes: 40 additions & 0 deletions .github/workflows/semantic-prs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Semantic PRs

on:
pull_request_target:
types:
- edited
- opened
- reopened
- synchronize

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }}
cancel-in-progress: true

jobs:
validate_title:
name: Validate Title
runs-on: ubuntu-latest
steps:
- uses: amannn/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
types: |
fix
feat
improve
refactor
revert
test
ci
docs
chore

scopes: |
nb
pvc
tb
ws
requireScope: false
60 changes: 60 additions & 0 deletions .github/workflows/ui-bff-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: UI - BFF - Build and Test

permissions: {}

on:
push:
branches: [ "main", "notebooks-v2", "v*-branch" ]
pull_request:
paths: [ "workspaces/backend/**" ]
branches: [ "main", "notebooks-v2", "v*-branch" ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: workspaces/backend/go.mod
check-latest: true
cache-dependency-path: workspaces/backend/go.sum

- name: Lint
working-directory: workspaces/backend
run: make lint

- name: Build
working-directory: workspaces/backend
run: make build

- name: Check if there are uncommitted file changes
working-directory: workspaces/backend
run: |
clean=$(git status --porcelain)
if [[ -z "$clean" ]]; then
echo "Empty git status --porcelain: $clean"
else
echo "Uncommitted file changes detected: $clean"
git diff
exit 1
fi

unit-tests:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: workspaces/backend/go.mod
check-latest: true
cache-dependency-path: workspaces/backend/go.sum

- name: Run unit tests
working-directory: workspaces/backend
run: make test
45 changes: 45 additions & 0 deletions .github/workflows/ui-frontend-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: UI - Frontend - Test and Build
on:
push:
branches: [ "main", "notebooks-v2", "v*-branch" ]
pull_request:
paths: [ "workspaces/frontend/**" ]
branches: [ "main", "notebooks-v2", "v*-branch" ]
jobs:
test-and-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20'

- name: Install dependencies
working-directory: workspaces/frontend
run: npm install

- name: Clean
working-directory: workspaces/frontend
run: npm run build:clean

- name: Build
working-directory: workspaces/frontend
run: npm run build

- name: Run tests
working-directory: workspaces/frontend
run: npm run test

- name: Check if there are uncommitted file changes
working-directory: workspaces/frontend
run: |
clean=$(git status --porcelain)
if [[ -z "$clean" ]]; then
echo "Empty git status --porcelain: $clean"
else
echo "Uncommitted file changes detected: $clean"
git diff
exit 1
fi
8 changes: 1 addition & 7 deletions OWNERS
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
approvers:
- kimwnasptd
- thesuperzapper
- andreyvelich
- james-jwu
- jbottum
- johnugeorge
- terrytangyuan
- zijianjoy
- thesuperzapper
3 changes: 3 additions & 0 deletions workspaces/backend/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# More info: https://docs.docker.com/engine/reference/builder/#dockerignore-file
# Ignore build and test binaries.
bin/
17 changes: 17 additions & 0 deletions workspaces/backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
bin/*
Dockerfile.cross

# Test binary, built with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

# Go workspace file
go.work
105 changes: 105 additions & 0 deletions workspaces/backend/.golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
run:
timeout: 5m
allow-parallel-runners: true

issues:
# disable the default set of exclude rules
exclude-use-default: false

exclude-rules:
# disable some linters for api packages
- path: "api/*"
linters:
- lll

# disable some linters for internal packages
- path: "internal/*"
linters:
- dupl
- lll

# exclude some linters for the test directory and test files
- path: test/.*|.*_test\.go
linters:
- dupl
- errcheck
- goconst
- gocyclo
- gosec

linters:
disable-all: true
enable:
- asciicheck
- bodyclose
- copyloopvar
- dogsled
- dupl
- errcheck
- errorlint
- exhaustive
- ginkgolinter
- goconst
- gocritic
- gocyclo
- gofmt
- goheader
- goimports
- goprintffuncname
- gosec
- gosimple
- govet
- ineffassign
- lll
- misspell
- nakedret
- nolintlint
- prealloc
- revive
- staticcheck
- typecheck
- unconvert
- unparam
- unused

linters-settings:
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
disabled-checks:
- assignOp
- filepathJoin
- paramTypeCombine
- rangeValCopy
- unnamedResult
- whyNoLint

goimports:
local-prefixes: github.com/kubeflow/notebooks/workspaces/backend

goheader:
template: |-
Copyright 2024.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

misspell:
locale: US

revive:
rules:
- name: comment-spacings
Loading
Loading