Add sound licence (#228) #655
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: | |
- dev | |
pull_request: | |
workflow_dispatch: | |
release: | |
types: [published] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-firmware: | |
name: Build Firmware | |
uses: esphome/workflows/.github/workflows/[email protected] | |
with: | |
files: | | |
home-assistant-voice.factory.yaml | |
home-assistant-voice.8mb.yaml | |
esphome-version: 2024.12.1 | |
release-summary: ${{ github.event_name == 'release' && github.event.release.body || '' }} | |
release-url: ${{ github.event_name == 'release' && github.event.release.html_url || '' }} | |
release-version: ${{ github.event_name == 'release' && github.event.release.tag_name || '' }} | |
comment: | |
if: github.event_name == 'pull_request' | |
name: Comment on PR | |
runs-on: ubuntu-latest | |
needs: | |
- build-firmware | |
steps: | |
- name: Comment on PR | |
uses: actions/[email protected] | |
with: | |
script: |- | |
const artifacts = await github.rest.actions.listWorkflowRunArtifacts({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
run_id: context.runId, | |
}) | |
const artifact = artifacts['data']['artifacts'].find(a => a.name === 'home-assistant-voice') | |
const url = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}/artifacts/${artifact['id']}` | |
await github.rest.issues.createComment({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: `Firmware built successfully! :tada: | |
[Download][download] and extract the firmware to install with https://web.esphome.io | |
Make sure to choose \`home-assistant-voice-esp32s3.factory.bin\`. | |
[download]: ${url}` | |
}) | |
upload-to-r2: | |
if: github.event_name == 'release' | |
name: Upload to R2 | |
needs: | |
- build-firmware | |
uses: esphome/workflows/.github/workflows/[email protected] | |
with: | |
directory: home-assistant-voice-pe | |
secrets: inherit | |
summary: | |
if: github.event_name == 'release' | |
name: Generate Summary | |
runs-on: ubuntu-latest | |
needs: | |
- upload-to-r2 | |
steps: | |
- name: Generate | |
run: |- | |
echo "## Firmware built successfully!" >> $GITHUB_STEP_SUMMARY | |
echo "" >> $GITHUB_STEP_SUMMARY | |
echo "[Install here](https://esphome.github.io/home-assistant-voice-pe/?version=${{ github.event.release.tag_name }}) and test **before** approving deployment to beta or production." >> $GITHUB_STEP_SUMMARY | |
upload-to-release: | |
name: Upload to Release | |
if: github.event_name == 'release' | |
uses: esphome/workflows/.github/workflows/[email protected] | |
needs: | |
- build-firmware | |
with: | |
version: ${{ github.event.release.tag_name }} | |
promote-beta: | |
name: Promote to Beta | |
if: github.event_name == 'release' | |
uses: esphome/workflows/.github/workflows/[email protected] | |
needs: | |
- upload-to-r2 | |
with: | |
version: ${{ github.event.release.tag_name }} | |
directory: home-assistant-voice-pe | |
channel: beta | |
manifest-filename: manifest-beta.json | |
secrets: inherit | |
promote-prod: | |
name: Promote to Production | |
if: github.event_name == 'release' && github.event.release.prerelease == false | |
uses: esphome/workflows/.github/workflows/[email protected] | |
needs: | |
- upload-to-r2 | |
with: | |
version: ${{ github.event.release.tag_name }} | |
directory: home-assistant-voice-pe | |
channel: production | |
manifest-filename: manifest.json | |
secrets: inherit |