|
|
@@ -2,6 +2,7 @@ name: "PR Build"
|
|
|
run-name: "PR Build ${{ inputs.DEPLOY_TARGET }} triggered by ${{ github.EVENT_NAME }} (@${{ github.ACTOR }})"
|
|
|
|
|
|
on:
|
|
|
+ workflow_dispatch:
|
|
|
pull_request:
|
|
|
types: [opened, reopened]
|
|
|
|
|
|
@@ -28,12 +29,8 @@ jobs:
|
|
|
include:
|
|
|
- firmware: unlshd
|
|
|
url: ${{ vars.REPO_UNLEASHED }}
|
|
|
- version: ${{ vars.FIRMWARE_VERSION }}
|
|
|
- src-included: 0
|
|
|
- firmware: official
|
|
|
url: ${{ vars.REPO_OFFICIAL }}
|
|
|
- version: official
|
|
|
- src-included: 0
|
|
|
steps:
|
|
|
- name: Copy Firmware Files
|
|
|
uses: actions/checkout@v4
|
|
|
@@ -44,7 +41,6 @@ jobs:
|
|
|
ref: dev
|
|
|
|
|
|
- name: Copy Repo Files
|
|
|
- if: ${{ matrix.src-included == 0 }}
|
|
|
uses: actions/checkout@v4
|
|
|
with:
|
|
|
repository: ${{ vars.REPO_SELF }}
|
|
|
@@ -54,60 +50,19 @@ jobs:
|
|
|
|
|
|
- name: Remove other apps
|
|
|
shell: pwsh
|
|
|
+ if: ${{ success() }}
|
|
|
# rm to remove problem FAP which includes non-existent files
|
|
|
run: |
|
|
|
Remove-Item -Force -Recurse ./applications/debug -ErrorAction SilentlyContinue
|
|
|
Remove-Item -Force -Recurse ./applications/examples -ErrorAction SilentlyContinue
|
|
|
Remove-Item -Force -Recurse ${{ env.RELATIVE_PATH }} -ErrorAction SilentlyContinue
|
|
|
|
|
|
- - name: Get SHA of our application and release version
|
|
|
- shell: pwsh
|
|
|
- env:
|
|
|
- GITHUB_TOKEN: ${{ secrets.FLIPPER_TOKEN }}
|
|
|
- INPUT_VERSION: ${{ inputs.version }}
|
|
|
- run: |
|
|
|
- Write-Output "::notice title=${{ matrix.firmware }} Input Version Number::v${{ inputs.version }}"
|
|
|
- $fwInfo = ((gh release view --json tagName,url -R ${{ matrix.url }}) | ConvertFrom-Json)
|
|
|
- cd '${{ env.APP_PATH }}'
|
|
|
- $sha = (git rev-parse --verify HEAD)
|
|
|
-
|
|
|
- $releaseVersion = ''
|
|
|
- $latestTag = ((gh release view --json tagName,url -R ${{ vars.REPO_SELF }}) | ConvertFrom-Json ).tagName
|
|
|
-
|
|
|
- if ( [string]::IsNullOrWhitespace($env:INPUT_VERSION) ) {
|
|
|
- Write-Output "::notice title=${{ matrix.firmware }} Latest tag::$latestTag"
|
|
|
-
|
|
|
- $lastIndex = $latestTag.LastIndexOf('.')
|
|
|
-
|
|
|
- $minorValue = $latestTag.Substring($latestTag.LastIndexOf('.') + 1)
|
|
|
- $minorValue = [Convert]::ToInt32($minorValue) + 1
|
|
|
- $newTag = $latestTag.Substring(0, $lastIndex)
|
|
|
-
|
|
|
- $releaseVersion = ('{0}.{1}' -f $newTag, $minorValue)
|
|
|
- } else {
|
|
|
- $releaseVersion = "$env:INPUT_VERSION"
|
|
|
- }
|
|
|
-
|
|
|
- if ( $releaseVersion.StartsWith('v') ) {
|
|
|
- $releaseVersion = $releaseVersion.Substring(1)
|
|
|
- }
|
|
|
-
|
|
|
- Write-Output "::notice title=${{ matrix.firmware }} PREV_TAG::$latestTag"
|
|
|
- Write-Output "::notice title=${{ matrix.firmware }} RELEASE_VERSION::$releaseVersion"
|
|
|
- Write-Output "::notice title=${{ matrix.firmware }} SHA::$sha"
|
|
|
- Write-Output ('::notice title=${{ matrix.firmware }} FW_VERSION::{0}' -f $fwInfo.tagName)
|
|
|
-
|
|
|
- Write-Output ('RELEASE_VERSION={0}' -f $releaseVersion) >> $env:GITHUB_ENV
|
|
|
- Write-Output ('SHA={0}' -f $sha) >> $env:GITHUB_ENV
|
|
|
- Write-Output ('FW_VERSION={0}' -f $fwInfo.tagName) >> $env:GITHUB_ENV
|
|
|
- Write-Output ('PREV_TAG={0}' -f $latestTag) >> $env:GITHUB_ENV
|
|
|
-
|
|
|
- name: Build Firmware
|
|
|
shell: bash
|
|
|
if: ${{ success() }}
|
|
|
env:
|
|
|
FBT_NO_SYNC: 0
|
|
|
- DIST_SUFFIX: ${{ matrix.version }}
|
|
|
+ DIST_SUFFIX: ${{ matrix.firmware }}
|
|
|
WORKFLOW_BRANCH_OR_TAG: release-cfw
|
|
|
run: |
|
|
|
./fbt COMPACT=1 DEBUG=0 FBT_NO_SYNC=0
|
|
|
@@ -117,7 +72,7 @@ jobs:
|
|
|
if: ${{ success() }}
|
|
|
env:
|
|
|
FBT_NO_SYNC: 0
|
|
|
- DIST_SUFFIX: ${{ matrix.version }}
|
|
|
+ DIST_SUFFIX: ${{ matrix.firmware }}
|
|
|
WORKFLOW_BRANCH_OR_TAG: release-cfw
|
|
|
# rm to remove problem FAP which includes non-existent files
|
|
|
run: |
|