You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add single workflow (ci.yml) that runs lint, build, and test
on pull requests, then builds and publishes a container image
to GHCR on master merge. Follows knative/func patterns:
top-level permissions, concurrency groups, version pinning.
Fix ESLint config by removing redundant rule spreads that
re-enabled the base no-unused-vars rule over the TypeScript
version. Add Jest globals for test files.
Downgrade @console/pluginAPI shared dep to >=4.19.0.
Restructure README: move deployment section to the top with
OCP 4.19 prerequisite and GHCR registry link. Add separate
prerequisites for deployment and development sections.
Add hack/next-plan-number.sh for deterministic plan numbering
based on remote PR count.
Co-Authored-By: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+22-25Lines changed: 22 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,16 +4,35 @@ A Functions-as-a-Service PoC UI for the OpenShift Web Console. Developers create
4
4
5
5
Built as an [OpenShift Console dynamic plugin](https://github.com/openshift/console/tree/main/frontend/packages/console-dynamic-plugin-sdk) using React, TypeScript, and PatternFly 6.
Available image tags are listed in the [container registry](https://github.com/twoGiants/func-console/pkgs/container/console-functions-plugin). Consult the chart [values](charts/openshift-console-plugin/values.yaml) file for additional parameters.
-[Docker](https://www.docker.com) or [podman 3.2.0+](https://podman.io)
13
34
- An [OpenShift cluster](https://console.redhat.com/openshift/create)
14
35
15
-
## Development
16
-
17
36
### Option 1: Local
18
37
19
38
In one terminal window, run:
@@ -93,28 +112,6 @@ NOTE: If you have a Mac with Apple silicon, you will need to add the flag
93
112
`--platform=linux/amd64` when building the image to target the correct platform
94
113
to run in-cluster.
95
114
96
-
## Deployment on cluster
97
-
98
-
A [Helm](https://helm.sh) chart is available to deploy the plugin to an OpenShift environment.
99
-
100
-
The following Helm parameters are required:
101
-
102
-
`plugin.image`: The location of the image containing the plugin that was previously pushed
103
-
104
-
Additional parameters can be specified if desired. Consult the chart [values](charts/openshift-console-plugin/values.yaml) file for the full set of supported parameters.
105
-
106
-
### Installing the Helm Chart
107
-
108
-
Install the chart using the name of the plugin as the Helm release name into a new namespace or an existing namespace as specified by the `plugin.name` parameter and providing the location of the image within the `plugin.image` parameter by using the following command:
NOTE: When deploying on OpenShift 4.10, it is recommended to add the parameter `--set plugin.securityContext.enabled=false` which will omit configurations related to Pod Security.
115
-
116
-
NOTE: When defining i18n namespace, adhere `plugin__<name-of-the-plugin>` format. The name of the plugin should be extracted from the `consolePlugin` declaration within the [package.json](package.json) file.
117
-
118
115
## i18n
119
116
120
117
The plugin uses [react-i18next](https://react.i18next.com/) for translations. The i18n namespace must match
Copy file name to clipboardExpand all lines: docs/WORKFLOW.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ For each comment: read the full text and its diff hunk context, make the fix, th
31
31
32
32
## Branching
33
33
34
-
Create a feature branch per plan: `<NNN>-<type>-<short-name>` where `<NNN>`matches the plannumber and `<type>` the conventional commit type as per our [Git Commit Guide](references/commit-message-guide.md#conventional-commits). Example: `001-feat-function-list-empty-state`. If we're on a feature branch already do nothing.
34
+
Create a feature branch per plan: `<NNN>-<type>-<short-name>` where `<NNN>`is determined by `./hack/next-plan-number.sh` (next PR number on the remote) and `<type>`is the conventional commit type as per our [Git Commit Guide](references/commit-message-guide.md#conventional-commits). The plan file uses the same number. Example: `010-feat-function-list-empty-state`. If we're on a feature branch already do nothing.
Copy file name to clipboardExpand all lines: docs/claude-progress.txt
+16Lines changed: 16 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,22 @@
1
1
# Claude Progress Log
2
2
# Newest entries first. Agents: append your entry at the top after the header.
3
3
4
+
---
5
+
## 2026-04-20 | Session: CI/CD pipeline and ESLint fixes
6
+
Worked on: GitHub Actions CI/CD pipeline, ESLint config fixes, README restructure
7
+
Completed:
8
+
- Single CI workflow (ci.yml): lint, build, test on PRs; build + publish container image to GHCR on master merge
9
+
- Follows knative/func patterns: top-level permissions, concurrency groups, cancel-in-progress for PRs, version pinning, timeout-minutes
10
+
- Fixed ESLint config: removed redundant rule spreads in src/** block that re-enabled base no-unused-vars over @typescript-eslint/no-unused-vars (all 194 lint errors were config issues, not code issues)
11
+
- Added Jest globals block for test files
12
+
- Downgraded @console/pluginAPI shared dep to >=4.19.0
13
+
- Restructured README: deployment section moved to top with OCP 4.19 prerequisite, GHCR registry link, separate prerequisites for deployment and development
14
+
- Added hack/next-plan-number.sh for deterministic plan/branch numbering based on remote PR count
15
+
- Updated WORKFLOW.md branching convention to use the helper script
16
+
- 8 suites, 34 tests, all passing, zero lint errors
17
+
Left off: PR #10 open. User needs to enable GITHUB_TOKEN write permissions in repo Settings and optionally add branch protection rule.
18
+
Blockers: None
19
+
4
20
---
5
21
## 2026-04-17 | Session: FaaS route rename and nav restructure
6
22
Worked on: Rename routes from /functions to /faas, restructure nav for both perspectives
Copy file name to clipboardExpand all lines: docs/features.json
+13Lines changed: 13 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -124,5 +124,18 @@
124
124
"Deployed functions without a matching repo still appear in the table with available cluster data (name, namespace, status, replicas, url)"
125
125
],
126
126
"passes": false
127
+
},
128
+
{
129
+
"category": "technical",
130
+
"description": "CI/CD: GitHub Actions pipelines for PR checks and master publish to GHCR, plus lint fixes and README deployment instructions",
131
+
"steps": [
132
+
"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",
133
+
"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",
134
+
"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)",
135
+
"Both pipelines authenticate to GHCR using GITHUB_TOKEN secret with packages:write permission (token added to repo's Actions secrets)",
136
+
"Add yarn lint script to package.json if missing, run it, and fix all lint errors in the codebase",
0 commit comments