GitHub Actions integration
Fire workflow_dispatch events on the project's GitHub repository
directly from opp_repl. Handy for triggering expensive CI suites
(full fingerprint run, cluster tests) without leaving the REPL.
Upstream reference: https://github.com/omnetpp/opp_repl/blob/main/doc/github_actions.md
Prerequisites
pip install "opp_repl[github]"(pullsrequests).Personal access token in
~/.ssh/github_repo_token(file permissions 600) with scopesrepoandworkflow..oppfile includes GitHub fields:SimulationProject( name="inet", root_folder=".", ..., github_owner="inet-framework", github_repository="inet", github_workflows=[ "fingerprint-tests.yml", "statistical-tests.yml", "chart-tests.yml", ], )
Python API
# Dispatch a single workflow
dispatch_workflow("fingerprint-tests.yml")
# Dispatch all configured workflows for the default project
dispatch_all_workflows()
# Target a specific project and branch
dispatch_workflow("fingerprint-tests.yml",
simulation_project=inet_project,
ref="topic/my-feature")
Returns the HTTP response from GitHub. No CLI wrapper is bundled
for this function; use the REPL or an ad-hoc python -c.
Typical workflow
- Finish a local change and run smoke tests locally.
dispatch_workflow("fingerprint-tests.yml", ref="my-branch")to kick a longer CI run while you context-switch.- Inspect the results in GitHub Actions UI when ready.
Pitfalls
- The token file must not be group/world readable. GitHub will 400 / 401 with ambiguous messages otherwise.
github_workflowslists YAML file names, not display names. Check.github/workflows/in the repo.workflow_dispatchmust be declared in the workflow YAML itself (on: [workflow_dispatch]), or the API returns 422.dispatch_workflow()just TRIGGERS the run; results live on GitHub. If you need local verdicts, run the equivalentrun_*_tests()instead.
See also
opp-repl-opp-files— wheregithub_*parameters go.- Every
opp-repl-*-testsskill — what workflows typically run.