Skip to content

feat(sap): wire real-SAP E2E into CI via a self-hosted runner - #112

Draft
HappyDevs1 wants to merge 1 commit into
mainfrom
feat/sap-e2e-ci-workflow
Draft

feat(sap): wire real-SAP E2E into CI via a self-hosted runner#112
HappyDevs1 wants to merge 1 commit into
mainfrom
feat/sap-e2e-ci-workflow

Conversation

@HappyDevs1

Copy link
Copy Markdown
Collaborator

Summary

Repo-work half of #32 (Real-SAP E2E: run sap_e2e against a live SAP system via a self-hosted runner):

  • .github/workflows/sap-e2e.yml: workflow_dispatch + nightly schedule, runs-on: [self-hosted, sap], runs cargo test -p flowproof-cli --test sap_e2e with FLOWPROOF_E2E_SAP=1. Connection/credentials flow through repo secrets and ${VAR} indirection, never entering traces or logs.
  • scripts/sap-session-bootstrap.ps1: run before/after the test on the self-hosted runner — clears the handful of modal dialogs known to block SAP GUI Scripting on an unattended (nightly) run, and starts SAP Logon if it isn't already up.
  • sap_e2e.rs: can now open a connection via SAP_CONNECTION when no session exists yet, reusing FlowSpec.connection's existing ${VAR} resolution — attach-only (today's behavior) stays the default when the var isn't set.

Split from #107

The SAP adapter bug fixes found while rehearsing this against a live session are in a separate PR (#111) — self-contained, not blocked on anything. This PR is just the CI/runner infra, which is still genuinely blocked:

Test plan

  • cargo fmt --all --check — pass
  • sap-e2e.yml actually executing on the [self-hosted, sap] runner — blocked on registering this machine as that runner (repo admin action)
  • SAP_CONNECTION repo secret set

Draft while the self-hosted runner registration and connection secret are still pending.

🤖 Generated with Claude Code

Repo-work half of #32: a sap-e2e.yml workflow (workflow_dispatch +
nightly, runs-on [self-hosted, sap]) that runs cargo test -p
flowproof-cli --test sap_e2e with FLOWPROOF_E2E_SAP=1, plus a session-
bootstrap script that clears known blocking dialogs (multiple-logon,
license info) and ensures SAP Logon is up before/after the run.

sap_e2e.rs can now open a connection via SAP_CONNECTION when no session
exists (unattended nightly runs), reusing FlowSpec.connection's existing
${VAR} secret resolution - the value never enters the trace or a log.

Split out from #107 - the SAP adapter bug fixes found while rehearsing
this are in a separate PR (#111), self-contained and not blocked on
runner infra. This one stays draft: it needs this machine registered as
the [self-hosted, sap] runner and the SAP_CONNECTION secret set before
it can actually execute in CI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant