diff --git a/.gitea/workflows/ota-build.yml b/.gitea/workflows/ota-build.yml index 7c35701..74e0dcc 100644 --- a/.gitea/workflows/ota-build.yml +++ b/.gitea/workflows/ota-build.yml @@ -34,19 +34,21 @@ jobs: - name: Prepare direct OTA files run: | set -eu + rm -rf dist/ota project_name="${GITHUB_REPOSITORY#*/}" project_name="${project_name#PlatformIO_}" timestamp="$(date -u +%Y-%m-%dT%H-%M-%SZ)" mkdir -p dist/ota found=0 - for fw in .pio/build/*/firmware.bin; do + for fw in .pio/build/*/firmware.bin .pio/build/*/firmware.hex; do [ -f "$fw" ] || continue env_name="$(basename "$(dirname "$fw")")" - cp "$fw" "dist/ota/${project_name}_${env_name}_${timestamp}.bin" + ext="${fw##*.}" + cp "$fw" "dist/ota/${project_name}_${env_name}_${timestamp}.${ext}" found=1 done if [ "$found" -eq 0 ]; then - echo 'No firmware.bin artifacts were produced.' >&2 + echo 'No firmware.bin or firmware.hex artifacts were produced.' >&2 exit 1 fi find dist/ota -maxdepth 1 -type f | sort @@ -56,9 +58,10 @@ jobs: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} run: | set -eu + package_owner="${GITHUB_ACTOR}" package_name="$(printf '%s' "${GITHUB_REPOSITORY#*/}" | tr '[:upper:]' '[:lower:]')-ota" package_version="${GITHUB_SHA}" - base_url="${GITHUB_SERVER_URL}/api/packages/${GITHUB_REPOSITORY_OWNER}/generic/${package_name}/${package_version}" + base_url="${GITHUB_SERVER_URL}/api/packages/${package_owner}/generic/${package_name}/${package_version}" for file in dist/ota/*; do [ -f "$file" ] || continue curl --fail --silent --show-error --user "${GITHUB_ACTOR}:${GITEA_TOKEN}" --upload-file "$file" "${base_url}/$(basename "$file")" @@ -70,9 +73,10 @@ jobs: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} run: | set -eu + package_owner="${GITHUB_ACTOR}" package_name="$(printf '%s' "${GITHUB_REPOSITORY#*/}" | tr '[:upper:]' '[:lower:]')-ota" package_version="${GITHUB_SHA}" - curl --fail --silent --show-error --user "${GITHUB_ACTOR}:${GITEA_TOKEN}" "${GITHUB_SERVER_URL}/api/v1/packages/${GITHUB_REPOSITORY_OWNER}/generic/${package_name}/${package_version}/files" > /tmp/package-files.json + curl --fail --silent --show-error --user "${GITHUB_ACTOR}:${GITEA_TOKEN}" "${GITHUB_SERVER_URL}/api/v1/packages/${package_owner}/generic/${package_name}/${package_version}/files" > /tmp/package-files.json python3 - <<'PY' import json from pathlib import Path