Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive

# Install Python dev tools, build essentials, and installer dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 python3-pip python3-venv python3-dev \
build-essential git curl wget ca-certificates \
openssh-client sudo \
&& rm -rf /var/lib/apt/lists/*

# Create vscode user (used by Codespaces/devcontainer)
RUN useradd -m -s /bin/bash vscode && echo "vscode ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/vscode
USER vscode
WORKDIR /workspace

# Upgrade pip
RUN python3 -m pip install --user --upgrade pip

# Install Python dependencies
RUN python3 -m pip install --user ruamel.yaml

# Default entrypoint is a shell so Codespaces can start with the container
CMD ["/bin/bash"]
18 changes: 18 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "easyinstaller (Python)",
"build": {
"dockerfile": "Dockerfile"
},
"workspaceFolder": "/workspace",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"ms-vscode.makefile-tools"
]
}
},
"postCreateCommand": "./.devcontainer/post-create.sh || true",
"remoteUser": "vscode"
}
6 changes: 6 additions & 0 deletions .devcontainer/post-create.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# Post-create setup for devcontainer
python3 -m pip install --user --upgrade pip
python3 -m pip install --user ruamel.yaml

echo "Devcontainer post-create complete. Dependencies installed."
32 changes: 32 additions & 0 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: easyinstaller verification

on:
push:
branches:
- main
- 'vibeos-codespace'
pull_request:

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruamel.yaml
- name: Test build with sample config
run: |
python3 build.py --config config_sample.yaml --output test_build/ || echo "Build requires platform-specific setup"
- name: Archive build artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: easyinstaller-build
path: test_build/ || build/**

26 changes: 26 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "easyinstaller: setup config",
"type": "shell",
"command": "cp config_sample.yaml config.yaml && echo 'Config created — edit config.yaml to customize'",
"options": { "cwd": "${workspaceFolder}" },
"problemMatcher": []
},
{
"label": "easyinstaller: build installer",
"type": "shell",
"command": "python3 build.py --config config.yaml",
"options": { "cwd": "${workspaceFolder}" },
"problemMatcher": []
},
{
"label": "easyinstaller: run tests",
"type": "shell",
"command": "python3 -m pytest tests/ -v 2>/dev/null || python3 -m unittest discover -s tests/ -p 'test_*.py' -v 2>/dev/null || echo 'No tests found'",
"options": { "cwd": "${workspaceFolder}" },
"problemMatcher": []
}
]
}
38 changes: 38 additions & 0 deletions README_DEVENV.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# easyinstaller in a Codespace / Devcontainer

This workspace includes a devcontainer for developing the easyinstaller Python tool with all dependencies pre-installed.

## Quick Start (Codespaces / Devcontainer)

1. Open this repository in GitHub Codespaces or VS Code Remote - Containers.
2. The container will be built from `.devcontainer/Dockerfile` with Python and dependencies.
3. In the container, run VS Code tasks (Terminal > Run Task):
- **"easyinstaller: setup config"** — Create config.yaml from template
- **"easyinstaller: build installer"** — Build an installer using config.yaml
- **"easyinstaller: run tests"** — Run test suite (if available)

## Manual Setup

```bash
pip install ruamel.yaml
cp config_sample.yaml config.yaml
python3 build.py --config config.yaml
```

## Files

- `.devcontainer/Dockerfile` — Python 3.10 + dev tools
- `.devcontainer/devcontainer.json` — VS Code devcontainer config
- `.devcontainer/post-create.sh` — Auto-install dependencies
- `.vscode/tasks.json` — VS Code task shortcuts
- `config_sample.yaml` — Template configuration

## Customization

Edit `config.yaml` to specify:
- Application name, version, entry point
- Installation paths
- Platform-specific settings (Windows/Mac/Linux)

Then run the **"easyinstaller: build installer"** task.

Binary file added __pycache__/build.cpython-310.pyc
Binary file not shown.
Loading