Skip to content

Download and Commit Release from ESPHome Repos #2

Download and Commit Release from ESPHome Repos

Download and Commit Release from ESPHome Repos #2

name: Download and Commit Release from ESPHome Repos
on:
workflow_dispatch: # Allows manual trigger of the workflow
inputs:
esphome_release_tag:
description: 'Tag of the ESPHome release firmware to download'
required: true
env:
esphome_repo: FutureProofHomes/Satellite1-ESPHome
xmos_repo: FutureProofHomes/Satellite1-XMOS
jobs:
download-release:
runs-on: ubuntu-latest
steps:
- name: Checkout current repository
uses: actions/checkout@v4
- name: Authenticate with GitHub CLI
run: |
echo "${{ secrets.PAT_TOKEN }}" | gh auth login --with-token
- name: Download ESPHome release asset
run: |
mkdir -p ./assets/firmware/esphome/${{ github.event.inputs.esphome_release_tag }}
gh release download ${{ github.event.inputs.esphome_release_tag }} \
--repo ${{ env.esphome_repo }} \
--dir ./assets/firmware/esphome/${{ github.event.inputs.esphome_release_tag }}
env:
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
- name: unzip the ESPHome release asset
run: |
cd ./assets/firmware/esphome/${{ github.event.inputs.esphome_release_tag }}
unzip *.zip
rm *.zip
tree
- name: Create manifest files for each hardware revision
run: |
chmod +x ./create_manifest.sh
./create_manifest.sh ${{ github.event.inputs.esphome_release_tag }} ${{ env.esphome_repo }}
- name: Add and commit release assets to the current repository
run: |
git config --global user.name 'GitHub Actions Bot'
git config --global user.email '[email protected]'
git add ./assets/*
git add ./manifests/*
git commit -m "Add ESPHome Firmware: ${{ github.event.inputs.esphome_release_tag }}"
git push
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}