mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-13 14:16:46 +00:00
Add tests/lint/repository/test_name_emoji_and_length.py: every Ansible task name and GitHub Actions workflow/job/step name must start with an emoji (first char not 0-9/A-Za-z) and be <= 80 chars. - emit emoji names at the source: cli/build/include generator now writes "🔧 setup <app>" / "🚿 flush handlers after <app>" so generated tasks/groups/*-roles.yml satisfy the convention too - convert existing task/step/job/workflow names to emoji-prefixed, choosing a task-fitting icon per action (📦 install, ✅ ensure, 🔍 probe, 🥾 bootstrap, 🚀 deploy, 🧩 service-module load, ⬇️ checkout, 📂 include-routines, ...) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
49 lines
1.6 KiB
YAML
49 lines
1.6 KiB
YAML
name: "📦 Test: Install Package Manager"
|
|
|
|
on:
|
|
workflow_call:
|
|
|
|
permissions:
|
|
actions: write
|
|
contents: read
|
|
packages: read
|
|
|
|
jobs:
|
|
test-install-pkgmgr:
|
|
name: 📦 PKGMGR
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
env:
|
|
NIX_CONFIG: |
|
|
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
distro: [arch, debian, ubuntu, fedora, centos]
|
|
|
|
steps:
|
|
- name: ⬇️ Checkout repository
|
|
uses: actions/checkout@v7
|
|
|
|
- name: 🔍 Resolve INFINITO_VENV_DIR from default.env
|
|
run: |
|
|
venv_dir="$(awk -F= '/^INFINITO_VENV_DIR=/{print $2; exit}' default.env)"
|
|
test -n "${venv_dir}" || { echo "INFINITO_VENV_DIR not found in default.env" >&2; exit 1; }
|
|
echo "INFINITO_VENV_DIR=${venv_dir}" >> "$GITHUB_ENV"
|
|
|
|
- name: 📦 Install & test in pkgmgr virgin container
|
|
run: |
|
|
docker run --rm \
|
|
-w "/root/" \
|
|
-e NIX_CONFIG="${NIX_CONFIG}" \
|
|
-e INFINITO_VENV_DIR="${INFINITO_VENV_DIR}" \
|
|
-v "$(pwd):/root/Repositories/github.com/kevinveenbirkenbach/infinito-nexus" \
|
|
"ghcr.io/kevinveenbirkenbach/pkgmgr-${{ matrix.distro }}:stable" \
|
|
bash -lc '
|
|
set -euo pipefail
|
|
make -C "/root/Repositories/github.com/kevinveenbirkenbach/infinito-nexus" install-system-python
|
|
pkgmgr install infinito --clone-mode shallow --no-verification
|
|
source "${INFINITO_VENV_DIR}/bin/activate"
|
|
infinito --help
|
|
'
|