|
96 | 96 | ], |
97 | 97 | "passes": true |
98 | 98 | }, |
| 99 | + { |
| 100 | + "category": "technical", |
| 101 | + "description": "CI/CD: GitHub Actions pipelines for PR checks and master publish to GHCR, plus lint fixes and README deployment instructions", |
| 102 | + "steps": [ |
| 103 | + "PR pipeline (.github/workflows/pr.yml): triggers on pull_request to master, runs yarn install --immutable, yarn lint, yarn test — branch cannot merge without passing checks and an approval", |
| 104 | + "Publish pipeline (.github/workflows/publish.yml): triggers on push to master (merged PRs), runs yarn install --immutable, yarn lint, yarn test, then builds multi-arch container image via docker/build-push-action using existing Dockerfile and pushes to ghcr.io/twogiants/console-functions-plugin with :latest and :sha-<commit> tags", |
| 105 | + "Both pipelines use actions/setup-node@v4 with node-version 22, corepack enable, and cache: yarn for Yarn install caching (GitHub runners ship Node 20 by default with corepack disabled)", |
| 106 | + "Both pipelines authenticate to GHCR using GITHUB_TOKEN secret with packages:write permission (token added to repo's Actions secrets)", |
| 107 | + "Add yarn lint script to package.json if missing, run it, and fix all lint errors in the codebase", |
| 108 | + "Update README.md deployment section (lines 96-117) — replace generic Helm boilerplate, placeholder commands, and obsolete OCP 4.10 / i18n notes with concrete instructions: oc new-project console-functions-plugin, helm upgrade -i console-functions-plugin charts/openshift-console-plugin -n console-functions-plugin --create-namespace --set plugin.image=ghcr.io/twogiants/console-functions-plugin:latest@sha256:<digest>" |
| 109 | + ], |
| 110 | + "passes": true |
| 111 | + }, |
99 | 112 | { |
100 | 113 | "category": "functional", |
101 | 114 | "description": "GitHub PAT Avatar: session-wide PAT entry via modal + avatar component showing authenticated GitHub user", |
|
127 | 140 | ], |
128 | 141 | "passes": false |
129 | 142 | }, |
130 | | - { |
131 | | - "category": "technical", |
132 | | - "description": "CI/CD: GitHub Actions pipelines for PR checks and master publish to GHCR, plus lint fixes and README deployment instructions", |
133 | | - "steps": [ |
134 | | - "PR pipeline (.github/workflows/pr.yml): triggers on pull_request to master, runs yarn install --immutable, yarn lint, yarn test — branch cannot merge without passing checks and an approval", |
135 | | - "Publish pipeline (.github/workflows/publish.yml): triggers on push to master (merged PRs), runs yarn install --immutable, yarn lint, yarn test, then builds multi-arch container image via docker/build-push-action using existing Dockerfile and pushes to ghcr.io/twogiants/console-functions-plugin with :latest and :sha-<commit> tags", |
136 | | - "Both pipelines use actions/setup-node@v4 with node-version 22, corepack enable, and cache: yarn for Yarn install caching (GitHub runners ship Node 20 by default with corepack disabled)", |
137 | | - "Both pipelines authenticate to GHCR using GITHUB_TOKEN secret with packages:write permission (token added to repo's Actions secrets)", |
138 | | - "Add yarn lint script to package.json if missing, run it, and fix all lint errors in the codebase", |
139 | | - "Update README.md deployment section (lines 96-117) — replace generic Helm boilerplate, placeholder commands, and obsolete OCP 4.10 / i18n notes with concrete instructions: oc new-project console-functions-plugin, helm upgrade -i console-functions-plugin charts/openshift-console-plugin -n console-functions-plugin --create-namespace --set plugin.image=ghcr.io/twogiants/console-functions-plugin:latest@sha256:<digest>" |
140 | | - ], |
141 | | - "passes": true |
142 | | - }, |
143 | 143 | { |
144 | 144 | "category": "functional", |
145 | 145 | "description": "Set GitHub Secret (KUBECONFIG) on created function repos so GH Actions can deploy to the cluster", |
|
150 | 150 | "GH Actions workflow can authenticate to the cluster and run func deploy" |
151 | 151 | ], |
152 | 152 | "passes": false |
| 153 | + }, |
| 154 | + { |
| 155 | + "category": "functional", |
| 156 | + "description": "Function Edit Page with TreeView file browser and CodeEditor for editing and deploying function code", |
| 157 | + "steps": [ |
| 158 | + "SourceControlService extended with fetch(repo) method that retrieves full repo tree and file contents via git.getTree recursive + blob fetches", |
| 159 | + "GithubService push() updated to support subsequent commits (fetch HEAD SHA as parent, updateRef) in addition to initial commits", |
| 160 | + "Navigate to /faas/edit/:name loads files from GitHub (uses nav state SourceRepo if available, falls back to listFunctionRepos lookup)", |
| 161 | + "Page layout: toolbar at top (Back link left, danger Alert center, Save & Deploy button right), FileTreeView left panel (~16rem, horizontally scrollable), CodeEditor fills remaining width", |
| 162 | + "FileTreeView builds nested tree from flat FileEntry[] paths, directories expand/collapse only, files are selectable and update CodeEditor content", |
| 163 | + "CodeEditor displays selected file with language auto-detected from file extension via getLanguageFromPath utility", |
| 164 | + "Handler file auto-selected on load based on runtime from func.yaml (no fallback selection if handler not found)", |
| 165 | + "Modified files indicated in tree with dot and distinct color, dirty state derived by comparing working content against original per file on every onChange", |
| 166 | + "Save & Deploy button pushes all files to GitHub, resets dirty state on success, shows spinner and disables button during push", |
| 167 | + "Back to Functions link navigates to /faas directly if clean, shows unsaved changes confirmation modal if dirty", |
| 168 | + "Empty tree and empty editor shown when repo not found (no error message), Save & Deploy button disabled, back link always visible" |
| 169 | + ], |
| 170 | + "passes": false |
153 | 171 | } |
154 | 172 | ] |
0 commit comments