This directory contains GitHub Actions workflows for the Aether OnRamp project.
The quickstart.yml workflow replicates the functionality of the Jenkins groovy workflow found at opennetworkinglab/aether-jenkins.
- Checkout repository: Clones the repo with all submodules
- Set up Python: Installs Python and creates a virtual environment with Ansible
- Install kubectl: Uses Azure's setup-kubectl action (default/latest version as specified in requirements)
- Install Helm: Uses Azure's setup-helm action (default/latest version as specified in requirements)
- Configure OnRamp: Sets up SSH keys, generates hosts.ini, configures vars/main.yml
- Install Aether: Installs Kubernetes, 5GC core, and gNBsim
- Run gNBsim: Executes the gNBsim test with retry logic (2 attempts)
- Validate Results: Checks that tests passed using the same validation pattern as Jenkins
- Retrieve Logs: Collects logs from all components
- Archive Artifacts: Uploads logs as workflow artifacts
- Cleanup: Uninstalls all components (always runs, even on failure)
- Notify on Failure: Logs failure information (can be extended with Slack notifications)
The workflow has the following triggers:
- Manual Dispatch: Go to Actions → Aether OnRamp Quickstart → Run workflow
- Push to main: Automatically runs on pushes to the main branch
The GitHub Actions workflow includes the following changes from the original Jenkins groovy script:
- Runtime Installation: kubectl, helm, and Python virtualenv are installed at runtime instead of relying on pre-installed tools
- Local Execution: Ansible runs with
ansible_connection=localinstead of SSH, since the workflow runs directly on the runner - Self-Contained: All dependencies are installed fresh for each run
- Error Handling: Enhanced with conditional steps and proper cleanup
If the workflow fails:
- Check the workflow run logs in the Actions tab
- Download the archived logs artifacts for detailed component logs
- Ensure the runner has sufficient resources (disk space, memory)
- Check that network configuration is correct for your environment