Skip to content

Commit e7fa896

Browse files
authored
Update test.yml
Signed-off-by: 1minds3t <1minds3t@proton.me>
1 parent 2339112 commit e7fa896

1 file changed

Lines changed: 39 additions & 116 deletions

File tree

.github/workflows/test.yml

Lines changed: 39 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,126 +1,49 @@
1-
name: Test Self-Hosted Linux Only
2-
3-
on:
4-
push:
5-
branches: [main]
6-
workflow_dispatch:
7-
8-
jobs:
9-
test-self-hosted-linux:
10-
name: "🔥 Linux x86_64 (self-hosted) - DIAGNOSTIC MODE"
11-
runs-on: [self-hosted, linux, x64]
12-
13-
steps:
14-
- name: Checkout
15-
uses: actions/checkout@v4
16-
17-
- name: Full Diagnostic Dump
18-
shell: bash
19-
run: |
20-
echo "════════════════════════════════════════════════════════"
21-
echo "🔍 SYSTEM INFO"
22-
echo "════════════════════════════════════════════════════════"
23-
uname -a
24-
whoami
25-
pwd
26-
echo ""
27-
echo "════════════════════════════════════════════════════════"
28-
echo "🐍 PYTHON INFO"
29-
echo "════════════════════════════════════════════════════════"
30-
echo "Python3 location:"
31-
which python3 || echo "❌ No python3 in PATH"
32-
python3 --version 2>&1 || echo "❌ python3 --version failed"
33-
echo ""
34-
echo "Python location:"
35-
which python || echo "❌ No python in PATH"
36-
python --version 2>&1 || echo "❌ python --version failed"
37-
echo ""
38-
echo "All python* binaries:"
39-
ls -la /usr/bin/python* 2>/dev/null || echo "None in /usr/bin"
40-
echo ""
41-
echo "════════════════════════════════════════════════════════"
42-
echo "📦 PIP INFO"
43-
echo "════════════════════════════════════════════════════════"
44-
echo "pip3 location:"
45-
which pip3 || echo "❌ No pip3 in PATH"
46-
pip3 --version 2>&1 || echo "❌ pip3 --version failed"
47-
echo ""
48-
echo "pip location:"
49-
which pip || echo "❌ No pip in PATH"
50-
pip --version 2>&1 || echo "❌ pip --version failed"
51-
echo ""
52-
echo "════════════════════════════════════════════════════════"
53-
echo "🔧 PYTHON MODULES"
54-
echo "════════════════════════════════════════════════════════"
55-
python3 -m pip --version 2>&1 || echo "❌ python3 -m pip failed"
56-
python3 -c "import ensurepip; print(f'ensurepip: {ensurepip.version()}')" 2>&1 || echo "❌ ensurepip not available"
57-
python3 -c "import venv; print('venv: available')" 2>&1 || echo "❌ venv not available"
58-
python3 -c "import distutils; print('distutils: available')" 2>&1 || echo "❌ distutils not available"
59-
echo ""
60-
echo "════════════════════════════════════════════════════════"
61-
echo "🌍 ENVIRONMENT"
62-
echo "════════════════════════════════════════════════════════"
63-
env | grep -i python | sort || echo "No PYTHON* env vars"
64-
echo ""
65-
echo "PATH:"
66-
echo "$PATH" | tr ':' '\n'
67-
echo ""
68-
echo "════════════════════════════════════════════════════════"
69-
70-
- name: Test Direct Install (No venv)
1+
- name: Build and Test
712
shell: bash
723
env:
734
PYTHONUNBUFFERED: "1"
5+
# Force clean PATH on self-hosted to avoid conda
6+
PATH: ${{ contains(matrix.runner, 'self-hosted') && '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' || '' }}
747
run: |
758
set -x
769
77-
if command -v python3 &>/dev/null; then PY=python3; else PY=python; fi
78-
echo "Using: $PY"
79-
80-
echo "🔥 METHOD 1: Direct pip install --user"
81-
$PY -m pip install --user --upgrade pip build || {
82-
echo "❌ Failed. Trying bootstrap..."
83-
curl -sS https://bootstrap.pypa.io/get-pip.py | $PY - --user
84-
$PY -m pip install --user --upgrade pip build
85-
}
86-
87-
echo "Building package..."
88-
$PY -m build
89-
90-
echo "Installing package..."
91-
$PY -m pip install --user --force-reinstall dist/*.whl
92-
93-
echo "Testing installation..."
94-
$PY -m omnipkg --version
95-
omnipkg --version
96-
8pkg --version
97-
omnipkg list
98-
99-
- name: Test venv Creation (Will probably fail)
100-
shell: bash
101-
continue-on-error: true
102-
run: |
103-
set -x
104-
if command -v python3 &>/dev/null; then PY=python3; else PY=python; fi
105-
106-
echo "🧪 Testing venv creation..."
107-
$PY -m venv test_venv 2>&1 || {
108-
echo "❌ venv creation failed with exit code $?"
109-
echo "Trying --without-pip..."
110-
$PY -m venv test_venv --without-pip 2>&1 || echo "That also failed"
111-
}
112-
113-
if [ -d "test_venv" ]; then
114-
echo "✅ test_venv directory created"
115-
ls -la test_venv/
116-
if [ -f "test_venv/bin/activate" ]; then
117-
echo "✅ activate script exists"
118-
source test_venv/bin/activate
119-
python --version
120-
which python
10+
# Self-hosted: Use system Python to avoid broken conda envs
11+
if [[ "${{ matrix.runner }}" == *"self-hosted"* ]]; then
12+
if [ -f "/usr/bin/python3.12" ]; then
13+
PY=/usr/bin/python3.12
14+
elif [ -f "/usr/bin/python3" ]; then
15+
PY=/usr/bin/python3
12116
else
122-
echo "❌ No activate script"
17+
echo "❌ No system Python found"
18+
exit 1
12319
fi
20+
echo "🎯 Self-hosted: Using system Python $PY ($($PY --version))"
21+
22+
$PY -m pip install --user --upgrade pip build || {
23+
echo "pip install failed, trying bootstrap..."
24+
curl -sS https://bootstrap.pypa.io/get-pip.py | $PY - --user
25+
$PY -m pip install --user --upgrade pip build
26+
}
27+
$PY -m build
28+
$PY -m pip install --user --force-reinstall dist/*.whl
29+
30+
export PATH="$HOME/.local/bin:$PATH"
31+
omnipkg --version
32+
8pkg --version
33+
omnipkg list
34+
12435
else
125-
echo "❌ No test_venv directory created"
36+
# GitHub-hosted: Standard approach with venv
37+
if command -v python3 &>/dev/null; then PY=python3; else PY=python; fi
38+
echo "📦 GitHub-hosted: Using $PY"
39+
40+
$PY -m venv .venv
41+
if [ -f ".venv/bin/activate" ]; then source .venv/bin/activate; else source .venv/Scripts/activate; fi
42+
python -m pip install --upgrade pip build
43+
python -m build
44+
pip install dist/*.whl
45+
46+
omnipkg --version
47+
8pkg --version
48+
omnipkg list
12649
fi

0 commit comments

Comments
 (0)