55 tags :
66 - ' release/*'
77
8+ permissions :
9+ contents : write
10+
811jobs :
912
1013 build :
@@ -15,46 +18,32 @@ jobs:
1518 - name : Check out repository
1619 uses : actions/checkout@v4
1720
18- - name : Set build variables
21+ - name : Set up Python
22+ uses : actions/setup-python@v5
23+ with :
24+ python-version : ' 3.11'
25+
26+ - name : Set build variables (from tag)
27+ id : buildvars
28+ shell : bash
1929 run : |
20- GIT_VER=${GITHUB_REF##*/}
21- GIT_TAG=${GITHUB_REF##refs/tags/}
22- if [[ ${GIT_VER} =~ ^[0-9]+[.][0-9]+[.][0-9]+[-][A-Za-z0-9]+ ]]
23- then
30+ GIT_TAG="${GITHUB_REF_NAME}"
31+ GIT_VER="${GIT_TAG#release/}"
32+ if [[ $GIT_VER =~ ^[0-9]+\.[0-9]+\.[0-9]+-[A-Za-z0-9]+$ ]]; then
2433 GH_TYPE='Release Candidate'
2534 else
2635 GH_TYPE='Release'
2736 fi
28- echo "GIT_VER=${GIT_VER}" >> ${GITHUB_ENV}
29- echo "GIT_TAG=${GIT_TAG}" >> ${GITHUB_ENV}
30- echo "GH_TYPE=${GH_TYPE}" >> ${GITHUB_ENV}
31- cat ${GITHUB_ENV}
32-
33- - name : Inject version info into main.lua
34- run : |
35- # Parse GIT_VER into components
36- IFS='.-' read -r MAJOR MINOR REVISION SUFFIX <<< "${{ env.GIT_VER }}"
37-
38- echo "Parsed version: $MAJOR $MINOR $REVISION $SUFFIX"
39-
40- # Update full config.version line
41- sed -i "s/config.version = {.*}/config.version = {major = $MAJOR, minor = $MINOR, revision = $REVISION, suffix = \"$SUFFIX\"}/" scripts/inav-dashboard/main.lua
42-
43- # Set logging settings
44- sed -i 's/\(config.logLevel= \)".*"/\1"off"/' scripts/inav-dashboard/main.lua
45- sed -i 's/\(config.logToFile = \)[^ ]*/\1false/' scripts/inav-dashboard/main.lua
46- sed -i 's/\(config.logMSP = \)[^ ]*/\1false/' scripts/inav-dashboard/main.lua
47-
48- # Output for verification
49- grep 'config.version' scripts/inav-dashboard/main.lua
50- grep 'config.log' scripts/inav-dashboard/main.lua
37+ echo "GIT_VER=$GIT_VER" >> $GITHUB_ENV
38+ echo "GIT_TAG=$GIT_TAG" >> $GITHUB_ENV
39+ echo "GH_TYPE=$GH_TYPE" >> $GITHUB_ENV
5140
5241 - name : Make release package
5342 run : zip -q -r -9 "inav-dashboard-ethos-${{ env.GIT_VER }}.zip" scripts
5443
5544 - name : Create Release
5645 run : |
57- .github/scripts/extract-release-notes.py "${{ env.GIT_VER }}" Releases.md > Notes.md
46+ python .github/scripts/extract-release-notes.py "${{ env.GIT_VER }}" Releases.md > Notes.md
5847 gh release create ${{ env.GIT_TAG }} --notes-file Notes.md --title "Inav Dashboard for Ethos - ${{ env.GH_TYPE }} ${{ env.GIT_VER }}" *.zip
5948 env :
6049 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments