name: Release on: release: types: [published] jobs: build-upload: runs-on: ubuntu-latest name: Build and upload Assets to Release steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.13" - name: Install uv uses: astral-sh/setup-uv@v6 with: version: "latest" enable-cache: false - name: Install platformio run: | uv pip install --system -U https://github.com/pioarduino/platformio-core/archive/refs/tags/v6.1.18.zip - name: Set version tag from git run: sed -i "s/version_tag/${GITHUB_REF#refs/tags/}/g" main/User_config.h scripts/latest_version.json - name: Extract ESP32 platform version from platformio.ini run: | ESP32_VERSION=$(grep 'esp32_platform\s*=' platformio.ini | cut -d'@' -f2 | tr -d '[:space:]') echo "ESP32_PLATFORM_VERSION=${ESP32_VERSION}" >> $GITHUB_ENV - name: Run PlatformIO run: platformio run - name: Prepare Release Assets run: | sudo apt install rename ./scripts/prepare_deploy.sh - name: Get upload url id: release-id run: | RELEASE_ID=$(jq --raw-output '.release.id' $GITHUB_EVENT_PATH) echo "::set-output name=upload_url::https://uploads.github.com/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets{?name,label}" - name: Upload Release Assets uses: bgpat/release-asset-action@03b0c30db1c4031ce3474740b0e4275cd7e126a3 with: pattern: "toDeploy/*" github-token: ${{ secrets.GITHUB_TOKEN }} release-url: ${{ steps.release-id.outputs.upload_url }} allow-overwrite: true call-workflow-passing-data: needs: build-upload uses: ./.github/workflows/manual_docs.yml