Add virgin Nix flake E2E workflow and update .gitignore
- Introduce `test-nix-flake-e2e.yml` workflow to run a full Arch-based virgin environment test with Nix flakes enabled and shared Docker caches - Ensure pkgmgr self-installation and flake-based installer path are exercised - Update .gitignore with additional build artifacts, Debian packaging files, and pkgmgr output directories
This commit is contained in:
66
.github/workflows/test-nix-flake-e2e.yml
vendored
Normal file
66
.github/workflows/test-nix-flake-e2e.yml
vendored
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
name: Test Virgin
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
- "*"
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-virgin:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 45
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Show Docker version
|
||||||
|
run: docker version
|
||||||
|
|
||||||
|
- name: Virgin Arch pkgmgr flake test
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo ">>> Starting virgin ArchLinux container test (with shared caches)..."
|
||||||
|
|
||||||
|
docker run --rm \
|
||||||
|
-v "$PWD":/src \
|
||||||
|
-v pkgmgr_nix_store:/nix \
|
||||||
|
-v pkgmgr_nix_cache:/root/.cache/nix \
|
||||||
|
-v pkgmgr_repos:/root/Repositories \
|
||||||
|
-v pkgmgr_pip_cache:/root/.cache/pip \
|
||||||
|
-w /src \
|
||||||
|
archlinux:latest \
|
||||||
|
bash -lc '
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo ">>> Updating and upgrading Arch system..."
|
||||||
|
pacman -Syu --noconfirm git python python-pip nix >/dev/null
|
||||||
|
|
||||||
|
echo ">>> Creating isolated virtual environment for pkgmgr..."
|
||||||
|
python -m venv /tmp/pkgmgr-venv
|
||||||
|
|
||||||
|
echo ">>> Activating virtual environment..."
|
||||||
|
source /tmp/pkgmgr-venv/bin/activate
|
||||||
|
|
||||||
|
echo ">>> Upgrading pip (cached)..."
|
||||||
|
python -m pip install --upgrade pip >/dev/null
|
||||||
|
|
||||||
|
echo ">>> Installing pkgmgr from current source tree (cached pip)..."
|
||||||
|
python -m pip install /src >/dev/null
|
||||||
|
|
||||||
|
echo ">>> Enabling Nix experimental features..."
|
||||||
|
export NIX_CONFIG="experimental-features = nix-command flakes"
|
||||||
|
|
||||||
|
echo ">>> Running: pkgmgr update pkgmgr --clone-mode shallow --no-verification"
|
||||||
|
pkgmgr update pkgmgr --clone-mode shallow --no-verification
|
||||||
|
|
||||||
|
echo ">>> Running: pkgmgr version"
|
||||||
|
pkgmgr version pkgmgr
|
||||||
|
|
||||||
|
echo ">>> Virgin Arch test completed successfully."
|
||||||
|
'
|
||||||
21
.gitignore
vendored
21
.gitignore
vendored
@@ -1,9 +1,6 @@
|
|||||||
|
|
||||||
# Prevents unwanted files from being committed to version control.
|
# Prevents unwanted files from being committed to version control.
|
||||||
|
|
||||||
# Custom Config file
|
|
||||||
config/config.yaml
|
|
||||||
|
|
||||||
# Python bytecode
|
# Python bytecode
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.pyc
|
*.pyc
|
||||||
@@ -17,6 +14,16 @@ venv/
|
|||||||
dist/
|
dist/
|
||||||
build/*
|
build/*
|
||||||
*.egg-info/
|
*.egg-info/
|
||||||
|
pkg
|
||||||
|
|
||||||
|
package-manager-*
|
||||||
|
|
||||||
|
# debian
|
||||||
|
debian/package-manager/
|
||||||
|
debian/debhelper-build-stamp
|
||||||
|
debian/files
|
||||||
|
debian/.debhelper/
|
||||||
|
debian/package-manager.substvars
|
||||||
|
|
||||||
# Editor files
|
# Editor files
|
||||||
.vscode/
|
.vscode/
|
||||||
@@ -31,11 +38,3 @@ Thumbs.db
|
|||||||
|
|
||||||
# Ignore logs
|
# Ignore logs
|
||||||
*.log
|
*.log
|
||||||
package-manager-*
|
|
||||||
|
|
||||||
# debian
|
|
||||||
debian/package-manager/
|
|
||||||
debian/debhelper-build-stamp
|
|
||||||
debian/files
|
|
||||||
debian/.debhelper/
|
|
||||||
debian/package-manager.substvars
|
|
||||||
Reference in New Issue
Block a user