forked from promml/HCPBridgeMqtt
-
Notifications
You must be signed in to change notification settings - Fork 16
72 lines (68 loc) · 2.11 KB
/
build_release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
name: Build and release
## https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
on:
push:
branches: master
paths-ignore:
- '.github/**' # Ignore changes towards the .github directory
- '**.md' # Do no build if *.md files changes
- 'docs/**'
- 'tools/**'
#push:
# tags:
# - "v*.*.*"
workflow_dispatch:
jobs:
build_firmware:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install PlatformIO Core
run: pip install --upgrade platformio
- name: Checkout Workspace DIR
run: echo "Workspace:${{ github.workspace }}"
- name: Build PlatformIO Project
run: pio run -d "./HCPBridgeESP32"
#- name: Show dirs
# run: |
# find .
# find . -type f -name "*.bin"
# find . -type d -name fw
# upload Release:
#- name: Get current date
# id: name
# run: echo "DATE=$(date +%Y.%m.%d)" >> $GITHUB_OUTPUT
- name: Get current release version
id: name
run: |
import os, re
with open(r'./HCPBridgeESP32/src/configuration.h') as f:
cont = f.read()
if 'HA_VERSION' in cont:
a = re.search(r'HA_VERSION = "(.*)"', cont)
res = a.group(1)
with open(os.environ['GITHUB_OUTPUT'], 'a') as fh:
print(f'NAME={res}', file=fh)
shell: python
- name: Release
uses: softprops/action-gh-release@v2
#if: startsWith(github.ref, 'refs/tags/')
with:
name: ${{ steps.name.outputs.NAME }}
tag_name: ${{ steps.name.outputs.NAME }}
#token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
generate_release_notes: true
make_latest: true
files: |
./HCPBridgeESP32/fw/*.bin