SRVOCF-1003: improve developer experience and CI tooling - #78
Conversation
|
@pmeida: This pull request references SRVOCF-1003 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Skipping CI for Draft Pull Request. |
0833ad4 to
62bffd7
Compare
ea4a3b1 to
0588b27
Compare
|
@pmeida for |
0588b27 to
ce479e0
Compare
ce479e0 to
2ee83a9
Compare
Scripts were scattered across the repo root with no shared conventions. The Dockerfile duplicated build logic instead of using Makefile targets, and there was no way to reproduce CI presubmit checks locally. Move all scripts into hack/ with a shared logging library. Add Dockerfile.builder and builder-run.sh so developers can run make build, lint, unit, and e2e inside the same container image that CI uses. Refactor the production Dockerfile to delegate to Makefile targets and enable native cross-compilation via --platform=$BUILDPLATFORM with GOOS/GOARCH. Remove .devcontainer, .github/workflows, .ci-operator.yaml, and root-level wrapper scripts that are no longer needed. Signed-off-by: Pedro Almeida <pealmeid@redhat.com>
2ee83a9 to
84146dc
Compare
|
I find it little bit confusing to have |
- deploy-plugin.sh -> deploy.sh (Helm deploy only) - deploy.sh -> deploy-dev.sh (build + push + deploy) - Remove redundant --platform from builder-run.sh and Dockerfile.builder - Drop --net=host from CRC network opts in builder-run.sh Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
|
(cd backend && go build -buildvcs=false -o ../bin/backend .)but BACKEND_BIN ?= $(PROJECT_DIR)/bin/plugin-backendTwo different binaries in the same directory. Consider having |
Use make build-backend instead of inline go build, and rename bin/backend references to bin/plugin-backend. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Pedro Almeida pealmeid@redhat.com
f5cd6e7 to
421e812
Compare
Remove Docker fallback logic from all scripts and Makefile. Update README prerequisites to list only Podman. Co-Authored-By: Claude <noreply@anthropic.com>
Drop the CONTAINER_ENV comma-separated indirection. The script now explicitly forwards PLUGIN_PULL_SPEC and BRIDGE_KUBEADMIN_PASSWORD when set. This also fixes the unbound variable crash under set -u when CONTAINER_ENV was unset. Co-Authored-By: Claude <noreply@anthropic.com>
421e812 to
bb62984
Compare
|
/lgtm PTAL @dsimansk |
|
/unhold |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dsimansk, pmeida The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@pmeida: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Summary
Consolidates developer tooling.
Adds
Dockerfile.builderfor CI usage, containing node, python, yarn and helm - consolidates every ci needed tool in one scr.builder-run.sh
hack/builder-run.shruns any make target inside the same builder container that CI uses (Dockerfile.builder), allowing developers to locally emulate presubmit checks without installing Go, Node, Yarn, or Helm on the host.After some fixes to the original e2e flow, I was able to simulate a presubmit of
make e2elocally successful.Other changes
hack/hack/lib/log.sh).ci-operator.yaml, and root-level wrapper scriptsmake setup-serverlessas optional toolingdockersupport, usepodmandirectlyProw configuration
A separate PR to openshift/release will be opened to register the presubmit jobs. Something like: