diff --git a/.github/workflows/compile.yaml b/.github/workflows/compile.yaml index 467dfc9..4c5faee 100644 --- a/.github/workflows/compile.yaml +++ b/.github/workflows/compile.yaml @@ -28,18 +28,42 @@ jobs: pio run - name: Make output dir - run: mkdir -p output + run: | + mkdir -p output + mkdir -p _site - name: Build Binary run: | cp ./CYD-Klipper-Display/.pio/build/esp32dev/bootloader.bin output cp ./CYD-Klipper-Display/.pio/build/esp32dev/partitions.bin output cp ./CYD-Klipper-Display/.pio/build/esp32dev/firmware.bin output - cp ~/platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin output + cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin output esptool --chip esp32 merge_bin -o ./output/merged-firmware.bin --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 ./output/bootloader.bin 0x8000 ./output/partitions.bin 0xe000 ./output/boot_app0.bin 0x10000 ./output/firmware.bin - - name: Upload artefact + - name: Upload artifact uses: actions/upload-artifact@v3 with: name: firmware - path: ./output \ No newline at end of file + path: ./output + + - name: Make webpage + run: | + cp -r ./output ./_site + python3 generate_manifest.py + cp manifest.json ./_site + cp manifest_wipe.json ./_site + cp index.html ./_site + + - name: Upload GitHub Page Artifact + uses: actions/upload-pages-artifact@v2 + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 \ No newline at end of file diff --git a/generate_manifest.py b/generate_manifest.py new file mode 100644 index 0000000..9702f99 --- /dev/null +++ b/generate_manifest.py @@ -0,0 +1,50 @@ +import subprocess, json + +latest_tag = subprocess.check_output(["git", "describe", "--tags", "--abbrev=0"]) + +data_without_wipe = { + "name": "CYD-Klipper-Display", + "new_install_prompt_erase": False, + "version": latest_tag.decode("utf-8").strip(), + "builds": [ + { + "chipFamily": "ESP32", + "parts": [ + { + "path": "output/bootloader.bin", + "offset": 4096 + }, + { + "path": "output/partitions.bin", + "offset": 32768 + }, + { + "path": "output/boot_app0.bin", + "offset": 57344 + }, + { + "path": "output/firmware.bin", + "offset": 65536 + } + ] + } + ] +} + +data_with_wipe = { + "name": "CYD-Klipper-Display", + "new_install_prompt_erase": False, + "version": latest_tag.decode("utf-8").strip(), + "builds": [ + { + "path": "output/merged-firmware.bin", + "offset": 0 + } + ] +} + +with open("manifest.json", "w") as f: + json.dump(data_without_wipe, f, indent=4) + +with open("manifest_wipe.json", "w") as f: + json.dump(data_with_wipe, f, indent=4) \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..3cf1822 --- /dev/null +++ b/index.html @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file