Skip to content

Commit 143545c

Browse files
committed
add release automation
1 parent 191caa2 commit 143545c

File tree

2 files changed

+72
-1
lines changed

2 files changed

+72
-1
lines changed

.github/workflows/build.yml

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,16 @@ on:
66
pull_request:
77
branches: [ main, develop ]
88
workflow_dispatch:
9+
release:
10+
types: [ created ]
911

1012
jobs:
1113
build:
1214
runs-on: ubuntu-latest
13-
15+
env:
16+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
17+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
18+
AWS_DEFAULT_REGION: us-east-1
1419
steps:
1520
- name: Checkout repository with submodules
1621
uses: actions/checkout@v4
@@ -64,3 +69,52 @@ jobs:
6469
name: build-size-report
6570
path: size-report.txt
6671
if-no-files-found: ignore
72+
73+
- name: Get release
74+
if: github.event.release
75+
id: get_release
76+
uses: bruceadams/get-release@v1.3.2
77+
env:
78+
GITHUB_TOKEN: ${{ github.token }}
79+
80+
- name: Upload asset to release
81+
if: github.event.release
82+
uses: bgpat/release-asset-action@03b0c30db1c4031ce3474740b0e4275cd7e126a3
83+
with:
84+
pattern: build/konnected-gdo-blaq-homekit.bin
85+
release-url: ${{ steps.get_release.outputs.upload_url }}
86+
allow-overwrite: true
87+
github-token: ${{ secrets.GITHUB_TOKEN }}
88+
89+
- name: Upload firmware image to S3
90+
if: github.event.release
91+
uses: keithweaver/aws-s3-github-action@v1.0.0
92+
with:
93+
command: cp
94+
source: build/konnected-gdo-blaq-homekit.bin
95+
destination: s3://konnected-io/builds/homekit/konnected-gdo-blaq-homekit-${{ steps.get_release.outputs.tag_name }}.bin
96+
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
97+
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
98+
aws_region: us-east-2
99+
flags: --acl public-read
100+
101+
- name: Build Manifest
102+
if: github.event.release
103+
run: |
104+
mkdir -p install-konnected/manifests
105+
ruby ./scripts/update-espwebtools-manifest.rb
106+
env:
107+
MANIFEST_NAME: Konnected GDO blaQ (GDOv2-Q) for HomeKit
108+
MANIFEST_FNAME: homekit-gdov2-q.json
109+
MANIFEST_VERSION: ${{ steps.get_release.outputs.tag_name }}
110+
ESP32_S3_IMAGE_URI: https://konnected-io.s3.us-east-2.amazonaws.com/builds/homekit/konnected-gdo-blaq-homekit-${{ steps.get_release.outputs.tag_name }}.bin
111+
112+
- name: Deploy
113+
if: github.event.release
114+
uses: reggionick/s3-deploy@v4
115+
with:
116+
folder: install-konnected
117+
bucket: install-konnected
118+
bucket-region: us-east-1
119+
dist-id: E2FDL2RANMI9J7
120+
invalidation: /manifests/*
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
require 'uri'
2+
require 'json'
3+
4+
manifest = {
5+
name: ENV['MANIFEST_NAME'],
6+
version: ENV['MANIFEST_VERSION'],
7+
builds: [
8+
chipFamily: 'ESP32-S3',
9+
parts: [
10+
{ path: ENV['ESP32_S3_IMAGE_URI'], offset: 0 }
11+
]
12+
]
13+
}
14+
15+
json = JSON.dump(manifest)
16+
puts json
17+
File.write("install-konnected/manifests/#{ENV['MANIFEST_FNAME']}", json)

0 commit comments

Comments
 (0)