Repository navigation
feat(actions): run workflows and report deployment checks on servers and Cloud - #1116
Closed
Hydralerne wants to merge 44 commits into
Closed
Hydralerne wants to merge 44 commits into
Hydralerne wants to merge 44 commits into
Conversation
Hydralerne
marked this pull request as ready for review
October 9, 2026 20:12
Hydralerne
marked this pull request as draft
October 10, 2026 21:35
Keep the active workflow file beside its trigger editor and show configured filters in collapsed event rows. Preserve independent file drafts while switching and show loading feedback until an unvisited source is ready. Verify manual, push and pull-request conditions in multi-file imports. Keep job notification event IDs explicit for the audit catalog guard and update the instance setup fixture for the shared GitHub Checks panel.
Keep the runner-access confirmation explicit and mark it as required. Continue and Save scroll to, highlight and focus an unchecked confirmation instead of leaving an unexplained disabled action. Clear feedback after acceptance and retain consent guards before saving or committing.
Show the connected GitHub account and repository access with direct setup actions. Share notification-channel creation with Settings and verify saved channels without leaving the workflow draft or duplicating failed attempts.
This was referenced Oct 12, 2026
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.
Superseded by combined PR #1148. This branch is preserved in the combined history. The complete migration sequence and review fixes are included there; all 15 combined CI checks pass. Merge #1148 instead of this individual draft.
Summary
Run repository CI on connected Linux/macOS servers or temporary Cloud VMs through one Openship editor. Files in
.openship/workflows/run independently of GitHub Actions, including nested reusable workflows and Openship-issued OIDC; files in.github/workflows/retain GitHub's controller and official runner on the selected Openship destinations. Deployments also publish configurable overall and service GitHub Checks.Behavior
.openship/workflows/, select destinations and access rules, then run manually or receive signed App events. This works with GitHub Actions disabled. Leaving a copy in.github/workflows/keeps its GitHub triggers active.Rollout and compatibility
Keep this PR draft until its migration dependency is resolved. Migrations
0184_action_workflow_notifications,0185_deployment_github_checks,0186_actions_access_policyand0187_actions_oidcdepend on separately maintained0182_cloud_build_activityand0183_cloud_build_exclusive_preparation. Those earlier Cloud changes are outside this PR. Reconcile the complete journal before merging; deploying later timestamps first can cause Drizzle to skip earlier migrations.The official runner assignment gate depends on GitHub's private local ProcessChannel IPC format. Upstream binaries remain unchanged; the Worker entry point is wrapped, and runners use
--ephemeral --disableupdate. Unsupported framing, cancellation, denial and timeout fail closed. Runner upgrades require the IPC and official-runner tests. Approved code on connected native destinations has the connected user's host access.Independent workflows use pinned act, support reusable workflows and Openship-issued OIDC, and reject protected environments and attestations.
.github/workflows/uses GitHub for those environment/attestation features. Reusable imports are bounded at 10 workflow levels, 50 called files, 2 MiB of combined source and 256 total concrete jobs. Windows and GHES destinations are unsupported. Scaling workflows need suitable privileged Linux/KVM hosts; importing a release workflow does not establish that an ordinary Cloud VM can run it.App permissions follow the selected integration: independent checkout/Checks need repository access and Checks write; GitHub runner management also needs Actions and Administration write, and workflow commits need Contents and Workflows write. Outbound Check reporting does not need a public endpoint; push/rerun events need reachable signed webhooks. Existing independent workflows retain their prior behavior until saved with an explicit access policy; GitHub workflows without a policy require review. Existing branch rules requiring
build:<service>must select the new project/environment Check names after their first report.GitHub provides completed job-log downloads, not a public live-log stream. The run UI links to GitHub for its live output. Independent Openship execution streams masked logs through its durable event journal.
Validation
New live verification: the private Openship-only sample ran three workflow levels on native Mac and temporary Cloud Linux, with private checkout, real Node tests, typed inputs, forwarded/masked secrets, nested outputs, restart recovery and GitHub Checks. GitHub Actions stayed at zero runs. Both new VMs and the quota-limited test namespace were confirmed removed. A real Mac worker also requested an OIDC token over HTTPS, verified its RSA signature/JWKS and called-workflow claims, and was denied after completion. The committed head was rerun successfully (identity Check). Provider-specific AWS/Azure/GCP trust is not configured by this PR.
See execution evidence, including links to live Checks and exact limits. Current extension regressions: 196 platform, 30 HTTP/native/remote API, 140 dashboard and 19 database tests pass; worker tests, Go race/vet, API/dashboard typechecks, SDK/CLI assembly and error-boundary audit pass. API and dashboard typechecks also pass in the synchronized developer checkout. Browser coverage includes all destination choices and shared dialogs in light/dim/mobile/Arabic. Generated references cover 806 HTTP routes. Signing keys participate in the transfer cipher registry and the shared post-import cache invalidation boundary. 78 boot/API/transfer unit cases and 19 real instance cases pass, including key re-encryption and cache replacement. All 15 GitHub CI checks pass on
849475d0, including full API startup and the instance control-plane gate.Tests use an isolated checkout, excluding unrelated changes in the shared workspace.
.openship/workflows/ci.yml. GitHub Actions is disabled. Native macOS success, expected failure, cancellation, dependency outputs, masked live logs, controller recreation and cleanup pass. GitHub reports each result through Checks, with zero GitHub Actions runs. GitHub's original signed push was replayed through isolated HTTP ingress; forged signatures were rejected and duplicate delivery produced one run. The temporary Linux Cloud run also passes both jobs (test Check, dependency Check); both VMs were removed. All three test VMs, including the failed first attempt, and the isolated namespace were confirmed deleted. The first Cloud attempt timed out while pulling the Ubuntu image and encountered temporary provider API errors during cleanup. Retrying withnode:22-bookwormand a ten-minute job limit completed in about two minutes. No customer database or production deployment was used.36e0190d, including real Docker/SSH/managed Actions and native macOS. The instance-control job initially returned an unexpected 500, then passed both its local reproduction and the failed-job rerun. CI for the current commit is reported by GitHub.useIdhydration warning also reproduces on the unchangedce551159UI and remains outside this change.No production deployment was performed.