Update release_pipeline.yml
This commit is contained in:
52
.github/workflows/release_pipeline.yml
vendored
52
.github/workflows/release_pipeline.yml
vendored
@@ -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: |
|
||||
|
||||
Reference in New Issue
Block a user