Liu Song’s Projects


~/Projects/esp8266-relay

git clone https://code.lsong.org/esp8266-relay

Commit

Commit
f948dee8edf26bd873f295a0a784c43a99b12a92
Author
Lsong <[email protected]>
Date
2023-11-08 13:24:21 +0800 +0800
Diffstat
 .github/workflows/build.yml | 62 +++++++++++++++++++++++++++++++++++++++

update


diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000000000000000000000000000000000000..024a6b112f3dde6b1887c4399444e0a3e4679d09
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,62 @@
+name: PlatformIO CI
+
+permissions:
+  contents: write
+
+on: [push]
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+
+    steps:
+      - uses: actions/checkout@v3
+      - uses: actions/cache@v3
+        with:
+          path: |
+            ~/.cache/pip
+            ~/.platformio/.cache
+          key: ${{ runner.os }}-pio
+      - uses: actions/setup-python@v4
+        with:
+          python-version: '3.9'
+      - name: Install PlatformIO Core
+        run: pip install --upgrade platformio
+
+      - name: Build PlatformIO Project
+        run: pio run
+
+      - name: Locate and rename firmware binary
+        id: firmware
+        run: |
+          DATE=$(date +'%Y%m%d')
+          PROJECT_NAME=${GITHUB_REPOSITORY##*/}
+          FIRMWARE_PATH=$(find .pio -name 'firmware.bin')
+          echo "DATE=$DATE" >> $GITHUB_ENV
+          echo "PROJECT_NAME=$PROJECT_NAME" >> $GITHUB_ENV
+          echo "FIRMWARE_PATH=$FIRMWARE_PATH" >> $GITHUB_ENV
+        shell: bash
+
+      - name: Create Release
+        id: create_release
+        uses: actions/create-release@v1
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          MY_PAT: ${{ secrets.MY_PAT }}
+        with:
+          tag_name: nightly-tag-${{ env.DATE }}
+          release_name: Release-${{ env.DATE }}
+          draft: false
+          prerelease: false
+
+      - name: Upload Release Asset
+        uses: actions/upload-release-asset@v1
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          MY_PAT: ${{ secrets.MY_PAT }}
+        with:
+          tag_name: nightly-tag-${{ env.DATE }}
+          upload_url: ${{ steps.create_release.outputs.upload_url }}
+          asset_path: ${{ env.FIRMWARE_PATH }}
+          asset_name: ${{ env.PROJECT_NAME }}-${{ env.DATE }}.bin
+          asset_content_type: application/octet-stream