| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- name: "PR Build"
- run-name: "PR Build ${{ inputs.DEPLOY_TARGET }} triggered by ${{ github.EVENT_NAME }} (@${{ github.ACTOR }})"
- on:
- pull_request:
- types: [opened, reopened]
- jobs:
- build-for-pr:
- runs-on: ubuntu-latest
- env:
- REPO_SELF: ${{ vars.REPO_SELF }}
- APP_PATH: "applications_user/subbrute"
- RELATIVE_PATH: "applications/external/subbrute"
- PREV_TAG: ""
- APP_NAME: ""
- ZIP_NAME: ""
- ZIP_TAG: ""
- TGZ_NAME: ""
- TGZ_TAG: ""
- SHA: ""
- FW_VERSION: ""
- RELEASE_VERSION: ""
- strategy:
- fail-fast: false
- matrix:
- firmware: [unlshd, official]
- 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
- with:
- repository: ${{ matrix.url }}
- clean: true
- submodules: true
- ref: dev
- - name: Copy Repo Files
- if: ${{ matrix.src-included == 0 }}
- uses: actions/checkout@v4
- with:
- repository: ${{ vars.REPO_SELF }}
- clean: true
- submodules: true
- path: ${{ env.APP_PATH }}
- - name: Remove other apps
- shell: pwsh
- # 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 }}
- WORKFLOW_BRANCH_OR_TAG: release-cfw
- run: |
- ./fbt COMPACT=1 DEBUG=0 FBT_NO_SYNC=0
- - name: Build FAPs
- shell: bash
- if: ${{ success() }}
- env:
- FBT_NO_SYNC: 0
- DIST_SUFFIX: ${{ matrix.version }}
- WORKFLOW_BRANCH_OR_TAG: release-cfw
- # rm to remove problem FAP which includes non-existent files
- run: |
- ./fbt COMPACT=1 DEBUG=0 FBT_NO_SYNC=0 fap_dist
- #EOF
|