ubuntu-act for all.
Some checks failed
Tests / Setup and Checkout (push) Failing after 1m2s
Tests / Backend Setup (Python 3.13 + uv + Environment) (push) Has been skipped
Tests / Frontend Setup (Node.js 24 + Yarn Berry + Build) (push) Has been skipped
Tests / Backend Tests (Python 3.13 + uv) (push) Has been skipped
Tests / Frontend Tests (TypeScript + Vue + Yarn Berry) (push) Has been skipped
Some checks failed
Tests / Setup and Checkout (push) Failing after 1m2s
Tests / Backend Setup (Python 3.13 + uv + Environment) (push) Has been skipped
Tests / Frontend Setup (Node.js 24 + Yarn Berry + Build) (push) Has been skipped
Tests / Backend Tests (Python 3.13 + uv) (push) Has been skipped
Tests / Frontend Tests (TypeScript + Vue + Yarn Berry) (push) Has been skipped
Signed-off-by: Cliff Hill <xlorep@darkhelm.org>
This commit is contained in:
@@ -25,16 +25,28 @@ jobs:
|
|||||||
echo "RUNNER_ENVIRONMENT: ${RUNNER_ENVIRONMENT:-not_set}"
|
echo "RUNNER_ENVIRONMENT: ${RUNNER_ENVIRONMENT:-not_set}"
|
||||||
echo "ACTIONS_RUNNER_NAME: ${ACTIONS_RUNNER_NAME:-not_set}"
|
echo "ACTIONS_RUNNER_NAME: ${ACTIONS_RUNNER_NAME:-not_set}"
|
||||||
|
|
||||||
|
echo "=== Additional Runner Variables ==="
|
||||||
|
echo "RUNNER_LABEL: ${RUNNER_LABEL:-not_set}"
|
||||||
|
echo "RUNNER_VERSION: ${RUNNER_VERSION:-not_set}"
|
||||||
|
echo "GITEA_ACTIONS_RUNNER_VERSION: ${GITEA_ACTIONS_RUNNER_VERSION:-not_set}"
|
||||||
|
echo "CONTAINER_NAME: ${CONTAINER_NAME:-not_set}"
|
||||||
|
|
||||||
|
echo "=== Docker/Container Info ==="
|
||||||
|
echo "Container hostname: $(hostname)"
|
||||||
|
cat /etc/hostname 2>/dev/null || echo "No /etc/hostname"
|
||||||
|
|
||||||
echo "=== All Environment Variables ==="
|
echo "=== All Environment Variables ==="
|
||||||
env | grep -i runner || echo "No runner-related env vars found"
|
env | grep -iE "(runner|gitea|act|container)" | head -20
|
||||||
|
|
||||||
echo "=== Gitea Context Variables ==="
|
# Try to detect actual runner from compose service or docker labels
|
||||||
echo "GITHUB_WORKSPACE: ${GITHUB_WORKSPACE}"
|
if command -v docker >/dev/null 2>&1; then
|
||||||
echo "GITHUB_SHA: ${GITHUB_SHA}"
|
echo "=== Docker Container Labels ==="
|
||||||
|
docker inspect $(hostname) --format='{{range $key, $value := .Config.Labels}}{{$key}}={{$value}}{{"\n"}}{{end}}' 2>/dev/null | grep -i runner || echo "No runner labels found"
|
||||||
|
fi
|
||||||
|
|
||||||
# Detect runner name from environment variables
|
# Detect runner name with better logic
|
||||||
RUNNER_NAME="${GITEA_RUNNER_NAME:-${HOSTNAME:-${RUNNER_NAME:-${ACT_RUNNER_NAME:-unknown}}}}"
|
DETECTED_RUNNER="${GITEA_RUNNER_NAME:-${RUNNER_NAME:-${ACT_RUNNER_NAME:-${HOSTNAME:-unknown}}}}"
|
||||||
echo "Runner: $RUNNER_NAME"
|
echo "Detected Runner: $DETECTED_RUNNER"
|
||||||
|
|
||||||
# Show system info
|
# Show system info
|
||||||
echo "Container ID: $(hostname)"
|
echo "Container ID: $(hostname)"
|
||||||
@@ -52,89 +64,29 @@ jobs:
|
|||||||
echo "=== Repository Checkout ==="
|
echo "=== Repository Checkout ==="
|
||||||
cd "${GITHUB_WORKSPACE}"
|
cd "${GITHUB_WORKSPACE}"
|
||||||
|
|
||||||
# Ensure clean workspace
|
# Clean workspace
|
||||||
rm -rf ./* .git 2>/dev/null || true
|
rm -rf ./* .git 2>/dev/null || true
|
||||||
|
|
||||||
# Debug SSL connectivity
|
# Set up SSH key from Gitea repository secret
|
||||||
echo "Testing SSL connectivity to dogar.darkhelm.org..."
|
|
||||||
openssl s_client -connect dogar.darkhelm.org:443 -servername dogar.darkhelm.org < /dev/null 2>&1 | grep -E "(CONNECTED|Verify return code)" || echo "SSL test completed"
|
|
||||||
|
|
||||||
# Debug SSH keys and connectivity
|
|
||||||
echo "=== SSH Debug Info ==="
|
|
||||||
echo "Current user: $(whoami)"
|
|
||||||
echo "Current HOME: $HOME"
|
|
||||||
echo "UID/GID: $(id)"
|
|
||||||
|
|
||||||
echo "Checking all possible SSH key locations:"
|
|
||||||
echo "~/.ssh/:" && ls -la ~/.ssh/ 2>/dev/null || echo " Not found"
|
|
||||||
echo "/root/.ssh/:" && ls -la /root/.ssh/ 2>/dev/null || echo " Not found"
|
|
||||||
echo "/data/.ssh/:" && ls -la /data/.ssh/ 2>/dev/null || echo " Not found"
|
|
||||||
echo "/home/act/.ssh/:" && ls -la /home/act/.ssh/ 2>/dev/null || echo " Not found"
|
|
||||||
|
|
||||||
echo "=== Mount Verification ==="
|
|
||||||
echo "Container mounts (from /proc/mounts):"
|
|
||||||
grep ssh /proc/mounts 2>/dev/null || echo " No SSH-related mounts found"
|
|
||||||
|
|
||||||
# Set up SSH key for repository access
|
|
||||||
echo "=== SSH Key Setup ==="
|
|
||||||
|
|
||||||
# Use SSH key from Gitea repository secret (recommended approach)
|
|
||||||
if [ -n "${SSH_PRIVATE_KEY}" ]; then
|
if [ -n "${SSH_PRIVATE_KEY}" ]; then
|
||||||
echo "Setting up SSH key from Gitea repository secret"
|
|
||||||
mkdir -p ~/.ssh
|
mkdir -p ~/.ssh
|
||||||
echo "${SSH_PRIVATE_KEY}" > ~/.ssh/id_rsa
|
echo "${SSH_PRIVATE_KEY}" > ~/.ssh/id_rsa
|
||||||
chmod 600 ~/.ssh/id_rsa
|
chmod 600 ~/.ssh/id_rsa
|
||||||
echo "SSH private key installed from repository secret"
|
ssh-keyscan -p 2222 dogar.darkhelm.org >> ~/.ssh/known_hosts 2>/dev/null
|
||||||
ls -la ~/.ssh/
|
|
||||||
else
|
|
||||||
echo "No SSH_PRIVATE_KEY secret found in repository"
|
|
||||||
echo "To enable SSH clone, add your deploy key as SSH_PRIVATE_KEY secret in:"
|
|
||||||
echo "Repository Settings → Secrets → Actions → Add SSH_PRIVATE_KEY"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ssh-keyscan -p 2222 dogar.darkhelm.org 2>/dev/null || echo "SSH keyscan failed"
|
# Clone repository via SSH
|
||||||
|
GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no" \
|
||||||
|
git clone --depth 1 --branch main \
|
||||||
|
ssh://git@dogar.darkhelm.org:2222/DarkHelm.org/plex-playlist.git .
|
||||||
|
|
||||||
# Try clone methods with better debugging
|
# Checkout specific commit if provided
|
||||||
echo "=== Attempting Clone Methods ==="
|
|
||||||
|
|
||||||
# Test SSH connection first
|
|
||||||
echo "Testing SSH connection directly..."
|
|
||||||
ssh -o StrictHostKeyChecking=no -p 2222 git@dogar.darkhelm.org 2>&1 || echo "SSH test completed"
|
|
||||||
|
|
||||||
# Method 1: SSH external (most reliable if keys work)
|
|
||||||
echo "Trying SSH external (dogar.darkhelm.org:2222)..."
|
|
||||||
if GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" git clone --depth 1 --branch main ssh://git@dogar.darkhelm.org:2222/DarkHelm.org/plex-playlist.git . 2>&1; then
|
|
||||||
echo "✓ External SSH clone successful"
|
|
||||||
# Method 2: Internal SSH (kankali runner only)
|
|
||||||
elif echo "Trying internal SSH (gitea:3000)..." && GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no" git clone --depth 1 --branch main git@gitea:3000/DarkHelm.org/plex-playlist.git . 2>&1; then
|
|
||||||
echo "✓ Internal SSH clone successful (kankali-runner only)"
|
|
||||||
# Method 3: Internal HTTP (kankali runner only)
|
|
||||||
elif echo "Trying internal HTTP (gitea:3000)..." && git clone --depth 1 --branch main http://gitea:3000/DarkHelm.org/plex-playlist.git . 2>&1; then
|
|
||||||
echo "✓ Internal HTTP clone successful (kankali-runner only)"
|
|
||||||
# Method 4: HTTPS with token (for private repo access)
|
|
||||||
elif [ -n "${GITEA_TOKEN}" ] && echo "Trying HTTPS with token..." && git -c http.sslVerify=false clone --depth 1 --branch main "https://token:${GITEA_TOKEN}@dogar.darkhelm.org/DarkHelm.org/plex-playlist.git" . 2>&1; then
|
|
||||||
echo "✓ External HTTPS clone with token successful"
|
|
||||||
# Method 5: HTTPS with SSL verification disabled (fallback)
|
|
||||||
elif echo "Trying HTTPS with SSL disabled..." && git -c http.sslVerify=false clone --depth 1 --branch main https://dogar.darkhelm.org/DarkHelm.org/plex-playlist.git . 2>&1; then
|
|
||||||
echo "✓ External HTTPS clone successful (SSL verification disabled)"
|
|
||||||
# Method 6: HTTP external (try different URL formats)
|
|
||||||
elif echo "Trying HTTP external (port 3000)..." && git clone --depth 1 --branch main http://dogar.darkhelm.org:3000/DarkHelm.org/plex-playlist.git . 2>&1; then
|
|
||||||
echo "✓ External HTTP clone successful (port 3000)"
|
|
||||||
elif echo "Trying HTTP external (no .git)..." && git clone --depth 1 --branch main http://dogar.darkhelm.org/DarkHelm.org/plex-playlist . 2>&1; then
|
|
||||||
echo "✓ External HTTP clone successful"
|
|
||||||
else
|
|
||||||
echo "❌ All clone methods failed"
|
|
||||||
echo "Attempting one more time with verbose output..."
|
|
||||||
git clone --depth 1 --branch main https://dogar.darkhelm.org/DarkHelm.org/plex-playlist.git . || exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Checkout the specific commit if available, otherwise use main
|
|
||||||
if [ -n "${GITHUB_SHA}" ]; then
|
if [ -n "${GITHUB_SHA}" ]; then
|
||||||
git checkout "${GITHUB_SHA}" 2>/dev/null || echo "Using main branch HEAD"
|
git checkout "${GITHUB_SHA}" 2>/dev/null || echo "Using main branch HEAD"
|
||||||
else
|
|
||||||
echo "Using main branch HEAD"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "✓ Repository checkout completed"
|
||||||
|
|
||||||
- name: Upload source code
|
- name: Upload source code
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -146,14 +98,15 @@ jobs:
|
|||||||
|
|
||||||
backend-setup:
|
backend-setup:
|
||||||
name: Backend Setup (Python 3.13 + uv + Environment)
|
name: Backend Setup (Python 3.13 + uv + Environment)
|
||||||
runs-on: python-latest
|
runs-on: ubuntu-act
|
||||||
needs: setup
|
needs: setup
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Runner Info
|
- name: Runner Info
|
||||||
run: |
|
run: |
|
||||||
echo "=== Backend Setup - $(date) ==="
|
echo "=== Backend Setup - $(date) ==="
|
||||||
echo "Runner: ${GITEA_RUNNER_NAME:-$(hostname)} | User: $(whoami) | OS: $(uname -s)"
|
RUNNER="${GITEA_RUNNER_NAME:-${RUNNER_NAME:-${ACT_RUNNER_NAME:-$(hostname)}}}"
|
||||||
|
echo "Runner: $RUNNER | User: $(whoami) | OS: $(uname -s)"
|
||||||
|
|
||||||
- name: Download source code
|
- name: Download source code
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
@@ -214,14 +167,15 @@ jobs:
|
|||||||
|
|
||||||
frontend-setup:
|
frontend-setup:
|
||||||
name: Frontend Setup (Node.js 24 + Yarn Berry + Build)
|
name: Frontend Setup (Node.js 24 + Yarn Berry + Build)
|
||||||
runs-on: node-latest
|
runs-on: ubuntu-act
|
||||||
needs: setup
|
needs: setup
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Runner Info
|
- name: Runner Info
|
||||||
run: |
|
run: |
|
||||||
echo "=== Frontend Setup - $(date) ==="
|
echo "=== Frontend Setup - $(date) ==="
|
||||||
echo "Runner: ${GITEA_RUNNER_NAME:-$(hostname)} | User: $(whoami) | OS: $(uname -s)"
|
RUNNER="${GITEA_RUNNER_NAME:-${RUNNER_NAME:-${ACT_RUNNER_NAME:-$(hostname)}}}"
|
||||||
|
echo "Runner: $RUNNER | User: $(whoami) | OS: $(uname -s)"
|
||||||
|
|
||||||
- name: Download source code
|
- name: Download source code
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
@@ -298,14 +252,15 @@ jobs:
|
|||||||
|
|
||||||
backend-tests:
|
backend-tests:
|
||||||
name: Backend Tests (Python 3.13 + uv)
|
name: Backend Tests (Python 3.13 + uv)
|
||||||
runs-on: python-latest
|
runs-on: ubuntu-act
|
||||||
needs: backend-setup
|
needs: backend-setup
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Runner Info
|
- name: Runner Info
|
||||||
run: |
|
run: |
|
||||||
echo "=== Backend Tests - $(date) ==="
|
echo "=== Backend Tests - $(date) ==="
|
||||||
echo "Runner: ${GITEA_RUNNER_NAME:-$(hostname)} | User: $(whoami)"
|
RUNNER="${GITEA_RUNNER_NAME:-${RUNNER_NAME:-${ACT_RUNNER_NAME:-$(hostname)}}}"
|
||||||
|
echo "Runner: $RUNNER | User: $(whoami)"
|
||||||
|
|
||||||
- name: Download backend environment
|
- name: Download backend environment
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
@@ -342,14 +297,15 @@ jobs:
|
|||||||
|
|
||||||
frontend-tests:
|
frontend-tests:
|
||||||
name: Frontend Tests (TypeScript + Vue + Yarn Berry)
|
name: Frontend Tests (TypeScript + Vue + Yarn Berry)
|
||||||
runs-on: node-latest
|
runs-on: ubuntu-act
|
||||||
needs: frontend-setup
|
needs: frontend-setup
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Runner Info
|
- name: Runner Info
|
||||||
run: |
|
run: |
|
||||||
echo "=== Frontend Tests - $(date) ==="
|
echo "=== Frontend Tests - $(date) ==="
|
||||||
echo "Runner: ${GITEA_RUNNER_NAME:-$(hostname)} | User: $(whoami)"
|
RUNNER="${GITEA_RUNNER_NAME:-${RUNNER_NAME:-${ACT_RUNNER_NAME:-$(hostname)}}}"
|
||||||
|
echo "Runner: $RUNNER | User: $(whoami)"
|
||||||
|
|
||||||
- name: Download frontend environment
|
- name: Download frontend environment
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
|
|||||||
Reference in New Issue
Block a user