{"id":51484914,"url":"https://github.com/andrewiankidd/multipass-gitlab-runner","last_synced_at":"2026-07-07T05:30:45.416Z","repository":{"id":368493874,"uuid":"1009208323","full_name":"andrewiankidd/multipass-gitlab-runner","owner":"andrewiankidd","description":"Automatic configuration of a GitLab Runner via a reproducible Ubuntu VM  ","archived":false,"fork":false,"pushed_at":"2026-06-30T20:34:52.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-30T21:24:01.482Z","etag":null,"topics":["cd","ci","cicd","devops","gitlab"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrewiankidd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-26T18:50:08.000Z","updated_at":"2026-06-30T20:34:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/andrewiankidd/multipass-gitlab-runner","commit_stats":null,"previous_names":["andrewiankidd/multipass-gitlab-runner"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/andrewiankidd/multipass-gitlab-runner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewiankidd%2Fmultipass-gitlab-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewiankidd%2Fmultipass-gitlab-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewiankidd%2Fmultipass-gitlab-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewiankidd%2Fmultipass-gitlab-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewiankidd","download_url":"https://codeload.github.com/andrewiankidd/multipass-gitlab-runner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewiankidd%2Fmultipass-gitlab-runner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35216572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-07T02:00:07.222Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cd","ci","cicd","devops","gitlab"],"created_at":"2026-07-07T05:30:44.534Z","updated_at":"2026-07-07T05:30:45.409Z","avatar_url":"https://github.com/andrewiankidd.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🏗️ Multipass GitLab Runner\n\nThis project automates the provisioning of a GitLab Runner inside a lightweight Ubuntu VM using Multipass. It's fast, reproducible, and deployable with a single command.\n\n---\n\n## ✨ Features\n\n- 🔄 One-command GitLab runner deployment with `start.sh`\n- 📦 Auto-provisioned runner using cloud-init\n- 🐧 Works on Windows, macOS, and Linux\n- 🏷️ Supports GitLab runner tags (e.g. `cypress`)\n- 🔁 Easily rebuild, restart, or debug your runner VM\n\n---\n\n## ⚙️ Requirements\n\n- Multipass (see install instructions below)\n- A GitLab registration token\n- Git Bash (for Windows users)\n\n---\n\n## 💻 Installation\n\n### 🪟 Windows\n\n1. Install Chocolatey:\n   ```powershell\n   Set-ExecutionPolicy Bypass -Scope Process -Force; `\n   [System.Net.ServicePointManager]::SecurityProtocol = `\n   [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; `\n   iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))\n   ```\n\n2. Install Multipass:\n   ```powershell\n   choco install multipass\n   ```\n\n3. Run:\n   ```bash\n   ./start.sh\n   ```\n\n\u003e 🧠 Use Git Bash for running scripts on Windows.\n\n---\n\n### 🍏 macOS\n\n1. Install Homebrew:\n   ```bash\n   /bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n   ```\n\n2. Install Multipass:\n   ```bash\n   brew install --cask multipass\n   ```\n\n3. Run:\n   ```bash\n   ./start.sh\n   ```\n\n---\n\n### 🐧 Linux\n\n1. Install Snap:\n   ```bash\n   sudo apt update\n   sudo apt install snapd\n   ```\n\n2. Install Multipass:\n   ```bash\n   sudo snap install multipass\n   ```\n\n3. Run:\n   ```bash\n   ./start.sh\n   ```\n\n---\n\n## 🧾 Configuration\n\nCopy and configure `.env` using the included example:\n\n📄 See [.env.example](./.env.example) for all options.\n\n---\n\n## 🚀 Usage\n\nStart or rebuild the VM:\n\n```bash\n./start.sh     # spin up or resume\n./rebuild.sh   # destroy and recreate\n```\n\nGet a shell inside the VM:\n\n```bash\nmultipass shell $VM_NAME\n```\n\n---\n\n## 🔧 Use Cases\n\nThis repo is especially useful for jobs that need:\n\n- 🧪 **Cypress E2E Testing**\n  - Use tag `cypress` in your GitLab CI job\n  - Offload Chrome/Electron tests to local VM\n\nOther potential use cases:\n\n- 🐳 Docker-based builds (Node, Python, Go, etc.)\n- 🧬 Containerized integration tests\n- 📸 Visual regression testing (e.g. Percy, Playwright)\n- 📦 Packaging or CI caching in self-contained environments\n\n---\n\n## ❤️ Contributions\n\nFeel free to fork, extend, or open PRs — this project welcomes improvements!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewiankidd%2Fmultipass-gitlab-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewiankidd%2Fmultipass-gitlab-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewiankidd%2Fmultipass-gitlab-runner/lists"}