fix(ci): use SSH fallback when HTTPS checkout times out
- Replace actions/checkout with manual git clone - Try HTTPS with 30s timeout, fallback to SSH port 2222 - Uses DEPLOY_KEY secret for SSH authentication
This commit is contained in:
@@ -14,18 +14,19 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
steps:
|
steps:
|
||||||
- name: 📥 Checkout (HTTPS)
|
- name: Checkout (SSH fallback for HTTPS timeout)
|
||||||
uses: actions/checkout@v4
|
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
- name: 📥 Checkout (SSH fallback)
|
|
||||||
if: failure()
|
|
||||||
run: |
|
run: |
|
||||||
|
# Try HTTPS first with timeout
|
||||||
|
if timeout 30 git clone --depth 1 https://git.np-dms.work/np-dms/lcbp3.git . 2>/dev/null; then
|
||||||
|
echo "HTTPS checkout successful"
|
||||||
|
else
|
||||||
|
echo "HTTPS failed, using SSH fallback"
|
||||||
mkdir -p ~/.ssh
|
mkdir -p ~/.ssh
|
||||||
echo "${{ secrets.DEPLOY_KEY }}" > ~/.ssh/id_rsa
|
echo "${{ secrets.DEPLOY_KEY }}" > ~/.ssh/id_rsa
|
||||||
chmod 600 ~/.ssh/id_rsa
|
chmod 600 ~/.ssh/id_rsa
|
||||||
ssh-keyscan -p 2222 git.np-dms.work >> ~/.ssh/known_hosts
|
ssh-keyscan -p 2222 git.np-dms.work >> ~/.ssh/known_hosts
|
||||||
git clone ssh://git@git.np-dms.work:2222/np-dms/lcbp3.git .
|
git clone --depth 1 ssh://git@git.np-dms.work:2222/np-dms/lcbp3.git .
|
||||||
|
fi
|
||||||
git fetch origin main
|
git fetch origin main
|
||||||
git reset --hard origin/main
|
git reset --hard origin/main
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user