ssh to https: release fix
This commit is contained in:
@@ -10,50 +10,28 @@ jobs:
|
|||||||
runs-on: self-hosted
|
runs-on: self-hosted
|
||||||
env:
|
env:
|
||||||
CHECKOUT_PATH: ${{ vars.SOW_TOOLS_CHECKOUT_PATH }}
|
CHECKOUT_PATH: ${{ vars.SOW_TOOLS_CHECKOUT_PATH }}
|
||||||
SOW_TOOLS_REPO_URL: ${{ vars.SOW_TOOLS_REPO_URL }}
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Configure SSH known hosts
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
mkdir -p ~/.ssh
|
|
||||||
chmod 700 ~/.ssh
|
|
||||||
printf '%s\n' "${{ secrets.GITEA_SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
|
|
||||||
chmod 644 ~/.ssh/known_hosts
|
|
||||||
|
|
||||||
- name: Configure SSH
|
|
||||||
run: |
|
|
||||||
cat > ~/.ssh/config <<'EOF'
|
|
||||||
Host git-ssh.westgate.pw
|
|
||||||
Port 2222
|
|
||||||
User git
|
|
||||||
IdentityFile ~/.ssh/id_ed25519
|
|
||||||
IdentitiesOnly yes
|
|
||||||
EOF
|
|
||||||
chmod 600 ~/.ssh/config
|
|
||||||
|
|
||||||
- name: Sync tools checkout to tag
|
- name: Sync tools checkout to tag
|
||||||
env:
|
env:
|
||||||
TAG_NAME: ${{ github.ref_name }}
|
TAG_NAME: ${{ github.ref_name }}
|
||||||
EVENT_SHA: ${{ github.sha }}
|
EVENT_SHA: ${{ github.sha }}
|
||||||
GITEA_SERVER_URL: ${{ github.server_url }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GITEA_REPO: ${{ github.repository }}
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
CHECKOUT_PATH="${CHECKOUT_PATH:-/home/ubuntu/tools-checkout}"
|
CHECKOUT_PATH="${CHECKOUT_PATH:-/home/ubuntu/tools-checkout}"
|
||||||
SOW_TOOLS_REPO_URL="${SOW_TOOLS_REPO_URL:-${GITEA_SERVER_URL%/}/${GITEA_REPO}.git}"
|
CLONE_URL="https://x-access-token:${GITHUB_TOKEN}@gitea.westgate.pw/ShadowsOverWestgate/sow-tools.git"
|
||||||
export GIT_TERMINAL_PROMPT=0
|
export GIT_TERMINAL_PROMPT=0
|
||||||
export GIT_SSH_COMMAND="${GIT_SSH_COMMAND:-ssh -o BatchMode=yes -o ConnectTimeout=20 -o ServerAliveInterval=10 -o ServerAliveCountMax=3}"
|
|
||||||
|
|
||||||
if [[ ! -d "${CHECKOUT_PATH}/.git" ]]; then
|
if [[ ! -d "${CHECKOUT_PATH}/.git" ]]; then
|
||||||
mkdir -p "$(dirname "${CHECKOUT_PATH}")"
|
mkdir -p "$(dirname "${CHECKOUT_PATH}")"
|
||||||
echo "Cloning tools checkout from ${SOW_TOOLS_REPO_URL} into ${CHECKOUT_PATH}"
|
echo "Cloning tools checkout into ${CHECKOUT_PATH}"
|
||||||
timeout 120 git clone --filter=blob:none "${SOW_TOOLS_REPO_URL}" "${CHECKOUT_PATH}"
|
timeout 120 git clone --filter=blob:none "${CLONE_URL}" "${CHECKOUT_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd "${CHECKOUT_PATH}"
|
cd "${CHECKOUT_PATH}"
|
||||||
git remote set-url origin "${SOW_TOOLS_REPO_URL}"
|
git remote set-url origin "${CLONE_URL}"
|
||||||
echo "Fetching tools refs from ${SOW_TOOLS_REPO_URL}"
|
echo "Fetching tools refs"
|
||||||
timeout 120 git fetch origin --prune --force --tags
|
timeout 120 git fetch origin --prune --force --tags
|
||||||
TAG_SHA="$(git rev-list -n1 "refs/tags/${TAG_NAME}")"
|
TAG_SHA="$(git rev-list -n1 "refs/tags/${TAG_NAME}")"
|
||||||
if [[ -n "${EVENT_SHA}" && "${TAG_SHA}" != "${EVENT_SHA}" ]]; then
|
if [[ -n "${EVENT_SHA}" && "${TAG_SHA}" != "${EVENT_SHA}" ]]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user