From c9c3cdd5955e59b7b3b35d22ed7b8c0b09aa2a5d Mon Sep 17 00:00:00 2001 From: Hermes Date: Sun, 30 Aug 2026 10:11:01 -0500 Subject: [PATCH] ci: reduce ota workflow to minimal push repro --- .gitea/workflows/ota-build.yml | 80 +--------------------------------- 1 file changed, 2 insertions(+), 78 deletions(-) diff --git a/.gitea/workflows/ota-build.yml b/.gitea/workflows/ota-build.yml index 6051819..219cb24 100644 --- a/.gitea/workflows/ota-build.yml +++ b/.gitea/workflows/ota-build.yml @@ -1,83 +1,7 @@ name: OTA build - -permissions: - contents: read - packages: write - -on: - push: - branches: - - '**' - workflow_dispatch: - +on: [push] jobs: build-ota: runs-on: ubuntu-latest - timeout-minutes: 45 steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - - name: Install PlatformIO - run: | - python -m pip install --upgrade pip - pip install platformio - - - name: Build OTA firmware binaries - run: pio run - - - name: Prepare direct OTA files - run: | - set -eu - 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 - [ -f "$fw" ] || continue - env_name="$(basename "$(dirname "$fw")")" - cp "$fw" "dist/ota/${project_name}_${env_name}_${timestamp}.bin" - found=1 - done - if [ "$found" -eq 0 ]; then - echo 'No firmware.bin artifacts were produced.' >&2 - exit 1 - fi - find dist/ota -maxdepth 1 -type f | sort - - - name: Upload direct OTA files to Gitea Packages - env: - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - run: | - set -eu - 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}" - 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")" - echo "Uploaded $(basename "$file")" - done - - - name: Verify uploaded OTA files - env: - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - run: | - set -eu - 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 - python3 - <<'PY' -import json -from pathlib import Path -files=json.loads(Path('/tmp/package-files.json').read_text()) -assert files, 'no package files returned' -for item in files: - print(item.get('name') or item.get('file_name') or item) -PY + - run: echo "minimal ota repro"