-
Notifications
You must be signed in to change notification settings - Fork 1
Continuous Integration
pepedinho edited this page May 12, 2026
·
1 revision
Walkman is specifically designed to run in automated environments like GitHub Actions, GitLab CI, or Jenkins.
Because Walkman is decoupled from your OS repository, it must be installed on the CI runner dynamically. Cargo makes this trivial.
Below is a standard workflow snippet for a GitHub Actions pipeline. It assumes your OS has been built and the required artifacts (e.g., the .iso file) are present in the runner's workspace.
name: OS Integration Tests
on: [push, pull_request]
jobs:
integration-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout OS Repository
uses: actions/checkout@v4
- name: Install System Dependencies
run: sudo apt-get update && sudo apt-get install -y qemu-system-x86
- name: Build Test OS
run: make iso-debug # Ensure serial output is enabled
- name: Install Walkman
run: |
# Download and compile Walkman directly from its repository
cargo install --git [https://github.com/Auri-OS/walkman.git](https://github.com/Auri-OS/walkman.git) --tag v0.1.0
- name: Run Test Suite
run: |
# Run all tests in the directory with the No-UI flag
walkman tests/ --nuiWalkman returns a clean standard exit code:
-
0if all tests pass. -
1if any test fails, or if a configuration file is invalid.
This ensures that your CI pipeline will automatically halt and be marked as "Failed" if Walkman detects a regression in your OS.