Update init.yml
This commit is contained in:
42
.github/workflows/init.yml
vendored
42
.github/workflows/init.yml
vendored
@@ -27,6 +27,15 @@ jobs:
|
|||||||
init:
|
init:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Validate admin token is present
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
if [ -z "${{ secrets.MOKO_ADMIN_TOKEN }}" ]; then
|
||||||
|
echo "ERROR: Missing secret MOKO_ADMIN_TOKEN."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Create environment and set variables
|
- name: Create environment and set variables
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.MOKO_ADMIN_TOKEN }}
|
GH_TOKEN: ${{ secrets.MOKO_ADMIN_TOKEN }}
|
||||||
@@ -42,38 +51,41 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
if [ -z "${GH_TOKEN}" ]; then
|
|
||||||
echo "Missing secret: MOKO_ADMIN_TOKEN"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Decide which repo hosts the updates.xml file
|
|
||||||
if [ -n "${UPDATE_XML_REPO_INPUT}" ]; then
|
if [ -n "${UPDATE_XML_REPO_INPUT}" ]; then
|
||||||
UPDATE_XML_REPO="${UPDATE_XML_REPO_INPUT}"
|
UPDATE_XML_REPO="${UPDATE_XML_REPO_INPUT}"
|
||||||
else
|
else
|
||||||
UPDATE_XML_REPO="${OWNER}/${REPO}"
|
UPDATE_XML_REPO="${OWNER}/${REPO}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Store a human friendly URL to the updates.xml file (for reuse in your publish workflow)
|
|
||||||
UPDATESERVER_FILE_URL="${SERVER_URL}/${UPDATE_XML_REPO}/blob/${UPDATE_XML_BRANCH}/${UPDATE_XML_PATH}"
|
UPDATESERVER_FILE_URL="${SERVER_URL}/${UPDATE_XML_REPO}/blob/${UPDATE_XML_BRANCH}/${UPDATE_XML_PATH}"
|
||||||
|
|
||||||
echo "Environment: ${ENV_NAME}"
|
echo "Target environment: ${ENV_NAME}"
|
||||||
echo "Update feed file URL: ${UPDATESERVER_FILE_URL}"
|
echo "Variable UPDATESERVER_FILE_URL: ${UPDATESERVER_FILE_URL}"
|
||||||
|
|
||||||
# 1) Create or update the Environment
|
echo "Creating or updating environment..."
|
||||||
curl -sS -X PUT \
|
curl -sS -f -X PUT \
|
||||||
-H "Accept: application/vnd.github+json" \
|
-H "Accept: application/vnd.github+json" \
|
||||||
-H "Authorization: Bearer ${GH_TOKEN}" \
|
-H "Authorization: Bearer ${GH_TOKEN}" \
|
||||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||||
"${API_URL}/repos/${OWNER}/${REPO}/environments/${ENV_NAME}" \
|
"${API_URL}/repos/${OWNER}/${REPO}/environments/${ENV_NAME}" \
|
||||||
-d '{}' > /dev/null
|
-d '{}' \
|
||||||
|
-o /tmp/env_response.json
|
||||||
|
|
||||||
# 2) Create or update an Environment Variable
|
echo "Environment API response:"
|
||||||
curl -sS -X PUT \
|
cat /tmp/env_response.json || true
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "Creating or updating environment variable..."
|
||||||
|
curl -sS -f -X PUT \
|
||||||
-H "Accept: application/vnd.github+json" \
|
-H "Accept: application/vnd.github+json" \
|
||||||
-H "Authorization: Bearer ${GH_TOKEN}" \
|
-H "Authorization: Bearer ${GH_TOKEN}" \
|
||||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||||
"${API_URL}/repos/${OWNER}/${REPO}/environments/${ENV_NAME}/variables/UPDATESERVER_FILE_URL" \
|
"${API_URL}/repos/${OWNER}/${REPO}/environments/${ENV_NAME}/variables/UPDATESERVER_FILE_URL" \
|
||||||
-d "{\"name\":\"UPDATESERVER_FILE_URL\",\"value\":\"${UPDATESERVER_FILE_URL}\"}" > /dev/null
|
-d "{\"name\":\"UPDATESERVER_FILE_URL\",\"value\":\"${UPDATESERVER_FILE_URL}\"}" \
|
||||||
|
-o /tmp/var_response.json
|
||||||
|
|
||||||
|
echo "Variable API response:"
|
||||||
|
cat /tmp/var_response.json || true
|
||||||
|
echo ""
|
||||||
|
|
||||||
echo "Applied: ${ENV_NAME}.UPDATESERVER_FILE_URL"
|
echo "Applied: ${ENV_NAME}.UPDATESERVER_FILE_URL"
|
||||||
|
|||||||
Reference in New Issue
Block a user