Skip to content

Release (#107)

Release (#107) #4

Workflow file for this run

name: Release
on:
push:
branches:
- main
jobs:
build:
name: Build ${{ matrix.name }}
runs-on: ubuntu-latest
strategy:
matrix:
include:
- name: Captive Portal
directory: captive-portal
- name: Webserver v2
directory: v2
- name: Webserver v3
directory: v3
steps:
- name: Clone the repo
uses: actions/[email protected]
- name: Set up Node.JS
uses: actions/[email protected]
- name: Install dependencies
run: npm install
- name: Build ${{ matrix.name }}
run: npm run build
working-directory: packages/${{ matrix.directory }}
- uses: actions/[email protected]
with:
name: ${{ matrix.name }}
path: _static/**/*.h
release:
name: Tag and Release
runs-on: ubuntu-latest
needs: build
outputs:
tag: ${{ steps.create_tag.outputs.tag }}
steps:
# Checkout repo, create new git tag, and git release with artifacts
- name: Checkout the repo
uses: actions/[email protected]
- name: Create a new tag
id: create_tag
run: echo tag=$(date +'%Y%m%d-%H%M%S') >> $GITHUB_OUTPUT
- name: Download Artifacts
uses: actions/[email protected]
with:
path: headers
merge-multiple: true
- name: List files
run: ls -R headers
- name: Create a release
id: create_release
uses: softprops/[email protected]
with:
tag_name: ${{ steps.create_tag.outputs.tag }}
name: Release ${{ steps.create_tag.outputs.tag }}
files: headers/**/*.h
generate_release_notes: true
esphome-pr:
name: Make PR into ESPHome repo
runs-on: ubuntu-latest
environment: esphome
needs:
- release
steps:
- name: Checkout esphome repo
uses: actions/[email protected]
with:
repository: esphome/esphome
ref: dev
- name: Download Artifacts
uses: actions/[email protected]
with:
path: /tmp/headers
merge-multiple: true
- name: Move headers into palce
run: |-
mv /tmp/headers/captive_portal/captive_index.h esphome/components/captive_portal/captive_index.h
mv /tmp/headers/v2/server_index_v2.h esphome/components/web_server/server_index_v2.h
mv /tmp/headers/v3/server_index_v3.h esphome/components/web_server/server_index_v3.h
- name: PR Changes
uses: peter-evans/[email protected]
with:
commit-message: "Update webserver local assets to ${{ needs.release.outputs.tag }}"
committer: esphomebot <[email protected]>
author: esphomebot <[email protected]>
branch: sync/webserver-assets
delete-branch: true
title: "Update webserver local assets to ${{ needs.release.outputs.tag }}"
body-path: .github/PULL_REQUEST_TEMPLATE.md
token: ${{ secrets.ESPHOME_WEBSERVER_SYNC_TOKEN }}
assignees: "@esphome/core"