Skip to content

Add GitHub Actions workflow to demonstrate meda installation and usage#1

Draft
Copilot wants to merge 4 commits into
mainfrom
copilot/fix-4576162f-ddec-443f-89c3-6c6aedb2cdc5
Draft

Add GitHub Actions workflow to demonstrate meda installation and usage#1
Copilot wants to merge 4 commits into
mainfrom
copilot/fix-4576162f-ddec-443f-89c3-6c6aedb2cdc5

Conversation

Copilot AI commented Aug 20, 2025

Copy link
Copy Markdown

This PR adds a comprehensive GitHub Actions workflow that demonstrates how to install the latest release of meda and run basic Ubuntu VM operations. The workflow serves as both working documentation and a practical reference for CI/CD integration.

What's Added

GitHub Actions Workflow (.github/workflows/demo-meda-usage.yml)

The workflow demonstrates a complete meda setup and VM lifecycle:

- name: Install meda using release script
  run: |
    chmod +x scripts/install-release.sh
    sudo ./scripts/install-release.sh --version v0.3.2 --install-dir /usr/local/bin
    meda --version

Key Features:

  • Automated Setup: Installs all required system dependencies (qemu-utils, genisoimage, iptables)
  • KVM Configuration: Properly configures KVM access for VM operations
  • Release Installation: Uses the official install-release.sh script to install meda
  • VM Lifecycle Demo: Creates, starts, monitors, and cleans up an Ubuntu VM
  • JSON Output: All operations use JSON format for automation compatibility
  • Error Handling: Comprehensive cleanup that runs even on failure

Documentation (docs/demo-workflow.md)

Comprehensive guide covering:

  • Workflow features and configuration
  • Manual triggering and customization instructions
  • Adaptation examples for different use cases
  • Troubleshooting guide and system requirements

README Updates

Added a new "CI/CD Integration" section that:

  • References the demo workflow as a working example
  • Links to the comprehensive documentation
  • Shows how meda can be integrated into automated pipelines

Workflow Behavior

The workflow triggers on:

  • Manual dispatch for on-demand demonstrations
  • File changes to the workflow itself or installation script
  • Pull requests when the workflow file is modified

Example VM operations demonstrated:

# Create Ubuntu VM
meda create demo-vm --memory 1G --cpus 2 --json

# Start and monitor
meda start demo-vm --json
meda get demo-vm --json
meda ip demo-vm --json

# Cleanup
meda stop demo-vm --json
meda delete demo-vm --json

Benefits

  1. User Documentation: Shows exactly how to set up meda in CI environments
  2. Integration Reference: Provides copy-paste examples for common use cases
  3. Validation: Ensures the installation process continues to work with new releases
  4. Accessibility: Demonstrates meda capabilities without requiring local setup

The workflow uses a pinned version (v0.3.2) to avoid GitHub API rate limiting in CI, but includes clear documentation that users can omit --version to automatically get the latest release.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)
  • https://api.github.com/repos/cirunlabs/meda/releases/latest
    • Triggering command: curl -s REDACTED (http block)

If you need me to access, download, or install something from one of these locations, you can either:


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits August 20, 2025 19:50
Co-authored-by: aktech <5647941+aktech@users.noreply.github.com>
Co-authored-by: aktech <5647941+aktech@users.noreply.github.com>
Copilot AI changed the title [WIP] create a github actions workflow to install latest release of meda and run basic meda command to start an ubuntu machine Add GitHub Actions workflow to demonstrate meda installation and usage Aug 20, 2025
Copilot AI requested a review from aktech August 20, 2025 19:58
@aktech

aktech commented Aug 20, 2025

Copy link
Copy Markdown
Contributor

Also run some commands in the vm via ssh like df -h, etc to get cpu, disk, etc information, the username and pass both are cirun. in the demo workflow, the username/pass for the vm will be cirun

@aktech aktech force-pushed the main branch 4 times, most recently from 0a315e9 to 2526d6e Compare November 18, 2025 18:39
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.

2 participants