Update release_pipeline.yml

This commit is contained in:
2025-12-23 23:20:09 -06:00
parent 5340d8b609
commit 9d78c103dc

View File

@@ -336,6 +336,14 @@ jobs:
chmod +x "${SCRIPT}"
"${SCRIPT}" "${TODAY}" "${VERSION}" >> "${GITHUB_STEP_SUMMARY}"
# Diffstat for audit visibility
{
echo "### Date normalization diffstat"
echo "```"
git diff --stat || true
echo "```"
} >> "${GITHUB_STEP_SUMMARY}"
build_and_release:
name: 03 Build ZIP, upload to SFTP, create GitHub release
runs-on: ubuntu-latest
@@ -375,7 +383,9 @@ jobs:
test -d src || (echo "ERROR: src directory missing" && exit 1)
mkdir -p dist
DIST_DIR="${GITHUB_WORKSPACE}/dist"
mkdir -p "${DIST_DIR}"
ROOT="src"
TOP_DIRS="$(find src -mindepth 1 -maxdepth 1 -type d | wc -l | tr -d ' ')"
@@ -414,17 +424,38 @@ jobs:
ZIP="${REPO}-${VERSION}-${CHANNEL}.zip"
(cd "${ROOT}" && zip -r -X "../dist/${ZIP}" . \
(cd "${ROOT}" && zip -r -X "${DIST_DIR}/${ZIP}" . \
-x "**/.git/**" \
-x "**/.github/**" \
-x "**/.DS_Store" \
-x "**/__MACOSX/**")
echo "zip_name=${ZIP}" >> "${GITHUB_OUTPUT}"
echo "dist_dir=${DIST_DIR}" >> "${GITHUB_OUTPUT}"
echo "root=${ROOT}" >> "${GITHUB_OUTPUT}"
echo "manifest=${MANIFEST}" >> "${GITHUB_OUTPUT}"
echo "ext_type=${EXT_TYPE}" >> "${GITHUB_OUTPUT}"
ZIP_BYTES="$(stat -c%s "${DIST_DIR}/${ZIP}")"
ZIP_SHA=""
if command -v sha256sum >/dev/null 2>&1; then
ZIP_SHA="$(sha256sum "${DIST_DIR}/${ZIP}" | awk '{print $1}')"
fi
{
echo "### Build report"
echo "```json"
echo "{"
echo " \"root\": \"${ROOT}\","
echo " \"manifest\": \"${MANIFEST}\","
echo " \"extension_type\": \"${EXT_TYPE}\","
echo " \"zip\": \"${DIST_DIR}/${ZIP}\","
echo " \"zip_bytes\": ${ZIP_BYTES},"
echo " \"zip_sha256\": \"${ZIP_SHA}\""
echo "}"
echo "```"
} >> "${GITHUB_STEP_SUMMARY}"
- name: Upload ZIP to SFTP (key-only, overwrite, verbose)
env:
FTP_HOST: ${{ secrets.FTP_HOST }}
@@ -478,6 +509,23 @@ jobs:
lftp -d -e "set sftp:auto-confirm yes; set cmd:trace yes; set net:timeout 30; set net:max-retries 3; set net:reconnect-interval-base 5; open -u '${FTP_USER}', sftp://${HOSTPORT}; pwd; ls; mkdir -p '${REMOTE_PATH}'; cd '${REMOTE_PATH}'; pwd; put -E 'dist/${ZIP}'; ls; bye"
ZIP_BYTES="$(stat -c%s "dist/${ZIP}")"
{
echo "### SFTP upload report"
echo "```json"
echo "{"
echo " \"protocol\": \"sftp\","
echo " \"host\": \"${FTP_HOST}\","
echo " \"port\": \"${PORT:-default}\","
echo " \"remote_path\": \"${REMOTE_PATH}\","
echo " \"zip\": \"${ZIP}\","
echo " \"zip_bytes\": ${ZIP_BYTES},"
echo " \"overwrite\": true,"
echo " \"key_only\": true"
echo "}"
echo "```"
} >> "${GITHUB_STEP_SUMMARY}"
- name: Create Git tag for release
id: tag
run: |