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}"
|
chmod +x "${SCRIPT}"
|
||||||
"${SCRIPT}" "${TODAY}" "${VERSION}" >> "${GITHUB_STEP_SUMMARY}"
|
"${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:
|
build_and_release:
|
||||||
name: 03 Build ZIP, upload to SFTP, create GitHub release
|
name: 03 Build ZIP, upload to SFTP, create GitHub release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -375,7 +383,9 @@ jobs:
|
|||||||
|
|
||||||
test -d src || (echo "ERROR: src directory missing" && exit 1)
|
test -d src || (echo "ERROR: src directory missing" && exit 1)
|
||||||
|
|
||||||
mkdir -p dist
|
DIST_DIR="${GITHUB_WORKSPACE}/dist"
|
||||||
|
|
||||||
|
mkdir -p "${DIST_DIR}"
|
||||||
|
|
||||||
ROOT="src"
|
ROOT="src"
|
||||||
TOP_DIRS="$(find src -mindepth 1 -maxdepth 1 -type d | wc -l | tr -d ' ')"
|
TOP_DIRS="$(find src -mindepth 1 -maxdepth 1 -type d | wc -l | tr -d ' ')"
|
||||||
@@ -414,17 +424,38 @@ jobs:
|
|||||||
|
|
||||||
ZIP="${REPO}-${VERSION}-${CHANNEL}.zip"
|
ZIP="${REPO}-${VERSION}-${CHANNEL}.zip"
|
||||||
|
|
||||||
(cd "${ROOT}" && zip -r -X "../dist/${ZIP}" . \
|
(cd "${ROOT}" && zip -r -X "${DIST_DIR}/${ZIP}" . \
|
||||||
-x "**/.git/**" \
|
-x "**/.git/**" \
|
||||||
-x "**/.github/**" \
|
-x "**/.github/**" \
|
||||||
-x "**/.DS_Store" \
|
-x "**/.DS_Store" \
|
||||||
-x "**/__MACOSX/**")
|
-x "**/__MACOSX/**")
|
||||||
|
|
||||||
echo "zip_name=${ZIP}" >> "${GITHUB_OUTPUT}"
|
echo "zip_name=${ZIP}" >> "${GITHUB_OUTPUT}"
|
||||||
|
echo "dist_dir=${DIST_DIR}" >> "${GITHUB_OUTPUT}"
|
||||||
echo "root=${ROOT}" >> "${GITHUB_OUTPUT}"
|
echo "root=${ROOT}" >> "${GITHUB_OUTPUT}"
|
||||||
echo "manifest=${MANIFEST}" >> "${GITHUB_OUTPUT}"
|
echo "manifest=${MANIFEST}" >> "${GITHUB_OUTPUT}"
|
||||||
echo "ext_type=${EXT_TYPE}" >> "${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)
|
- name: Upload ZIP to SFTP (key-only, overwrite, verbose)
|
||||||
env:
|
env:
|
||||||
FTP_HOST: ${{ secrets.FTP_HOST }}
|
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"
|
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
|
- name: Create Git tag for release
|
||||||
id: tag
|
id: tag
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
Reference in New Issue
Block a user