Add operator PR testing workflow#88
Merged
sciabarracom merged 7 commits intoapache:mainfrom Mar 11, 2026
Merged
Conversation
The .gitmodules file uses git config syntax which does not support license headers.
flatdict 4.0.1 only ships as a source tarball. Building it requires pkg_resources (setuptools), removed from Python 3.12 virtual environments. Version 4.1.0 ships a pre-built wheel, bypassing the build step entirely. Also update Dockerfile Poetry from 1.8.5 to 2.3.2 to match the lock-version 2.1 format already in use.
Allow forks to push operator images to ghcr.io by setting the IMAGE_REGISTRY repository variable, without requiring Docker Hub credentials. Defaults to registry.hub.docker.com for backward compatibility with the Apache upstream. When DOCKERHUB_USER/DOCKERHUB_TOKEN secrets are not set, credentials fall back to github.actor/GITHUB_TOKEN automatically.
Same fix as testing repo: branches-ignore under push was causing spurious workflow runs on branch pushes. With only tags filter present, branch pushes are already excluded.
The commit SHA is the correct tag for both event types.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a new workflow for testing operator PRs end-to-end.
Operator PR test workflow (
operator-pr-test.yaml)New
repository_dispatch-driven workflow that receives events from the operator repo when a maintainer comments/testing <platform>on a PR. It:--recurse-submodules(picking up theolaris/task submodule)ghcr.io/<owner>/openserverless-testing:pr-<num>-<sha>)opsroot.jsonto point to the just-built image viajqOPS_ROOTto the submodule path soopsuses the PR's task definitionsUses
${{ github.repository_owner }}throughout, so the same workflow works on forks and upstream without changes.Secrets and environment variables
OpenServerless/TESTINGusing1password/load-secrets-action@v2(Linux/Mac) andshyim/1password-load-secrets-action@v1(Windows)OP_SERVICE_ACCOUNT_TOKEN(authenticates the 1Password action)NGROK_TOKENremains as a GitHub Secret (not stored in 1Password)OPS_REPOandOPS_BRANCHare configurable via repository variablesSSH via DNS hostnames
1-deploy.shusesK3S_AMD_APIHOST/K3S_ARM_APIHOSTas the SSH targetBug fix in
tests.yamlbranches-ignore: '*'from thepushtrigger (redundant filter that caused the workflow to fire on branch pushes)Deploy script updates (
tests/1-deploy.sh)K3S_AMD_APIHOST/K3S_ARM_APIHOSTfor bothops config apihostandops setup server(SSH target)SSH_USERvariable (defaults toroot)K8S_KUBECONFIG_B64for generic K8s platforms1Password vault fields required
GitHub Secrets required
OP_SERVICE_ACCOUNT_TOKENNGROK_TOKENCompanion PR
This PR works together with a PR on
openserverless-operatorthat:openserverless-taskas a git submodule atolaris/trigger-testing.yamlworkflow (dispatchesoperator-pr-testevents to this repo)OPENSERVERLESS_TESTING_PATsecret on the operator repo