version-check.yml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. name: "Version check for NEW release"
  2. run-name: " Version check for NEW release ${{ inputs.DEPLOY_TARGET }} by @${{ github.ACTOR }}"
  3. on:
  4. workflow_dispatch:
  5. push:
  6. branches:
  7. - master
  8. schedule:
  9. - cron: "*/30 * * * *"
  10. permissions:
  11. contents: write
  12. jobs:
  13. pull-request:
  14. concurrency:
  15. group: check-for-new-versions
  16. cancel-in-progress: false
  17. runs-on: ubuntu-latest
  18. env:
  19. REPO_UNLEASHED: ${{ vars.REPO_UNLEASHED }}
  20. CURRENT_TAG: ${{ vars.FIRMWARE_VERSION }}
  21. REMOTE_TAG_INFO: ''
  22. RELEASE_VERSION: ${{ vars.RELEASE_VERSION }}
  23. FIRMWARE_VERSION: ${{ vars.FIRMWARE_VERSION }}
  24. REPO_SELF: ${{ vars.REPO_SELF }}
  25. CHECKOUT_DIR: "firmware"
  26. steps:
  27. - name: Copy Repo Files
  28. uses: actions/checkout@v3
  29. with:
  30. repository: "${{ env.REPO_SELF }}"
  31. clean: "true"
  32. submodules: "true"
  33. token: ${{ secrets.FLIPPER_TOKEN }}
  34. - name: Check firmware release
  35. shell: pwsh
  36. env:
  37. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  38. run: |
  39. ./.github/check-version.ps1 '${{ env.FIRMWARE_VERSION }}' '${{ env.RELEASE_VERSION }}' '${{ env.REPO_SELF }}' '${{ env.REPO_UNLEASHED }}' | %{ Write-Output($_) >> $Env:GITHUB_ENV }
  40. #Write-Output("CURRENT_TAG=$($Output.CurrentTag)") >> $env:GITHUB_ENV
  41. #| Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  42. # New-Alias -Name sc -Value ".\.github/check-version.ps1"
  43. # $Params = @("${{ env.FIRMWARE_VERSION }}", "${{ env.RELEASE_VERSION }}", "${{ env.REPO_SELF }}", "${{ env.REPO_UNLEASHED }}")
  44. # sc $Params
  45. # #& $Cmd $Params | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  46. # $Output = ('& $env:GITHUB_ACTION_PATH/.github/check-version.ps1 "${{ env.FIRMWARE_VERSION }}" "${{ env.RELEASE_VERSION }}" "${{ env.REPO_SELF }}" "${{ env.REPO_UNLEASHED }}"')
  47. # Write-Output("RELEASE_VERSION=$($Output.ReleaseVersion)") | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  48. # Write-Output("CURRENT_TAG=$($Output.CurrentTag)") | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  49. # Write-Output("REMOTE_TAG_INFO=$($Output.RemoteTagInfo)") | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  50. # Write-Output("RELEASE_TYPE=$($Output.ReleaseType)") | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  51. - name: Print env values
  52. run: env
  53. - name: Update Firmware variable and create UPDATE release if necessary
  54. if: ${{ success() && env.RELEASE_TYPE == 1 }}
  55. env:
  56. GITHUB_TOKEN: ${{ secrets.FLIPPER_TOKEN }}
  57. OWNER: ${{ github.repository_owner }}
  58. run: |
  59. gh release create 'v${{ env.RELEASE_VERSION }}' --latest --draft \
  60. --notes 'Rebuild with new version of firmware.\n\nSee: [CHANGELOG](${{ env.FIRMWARE_VERSION }}/blob/dev/CHANGELOG.md)\n${{ env.REMOTE_TAG_INFO}}' \
  61. --title 'Minor update v${{ env.RELEASE_VERSION }}' --verify-tag -R '${{ env.REPO_SELF }}'
  62. gh variable set FIRMWARE_VERSION -b '${{ env.FIRMWARE_VERSION }}' -R '${{ env.REPO_SELF }}'
  63. gh variable set RELEASE_VERSION -b '${{ env.RELEASE_VERSION }}' -R '${{ env.REPO_SELF }}'
  64. - name: Update release variable and create NEW release if necessary
  65. if: ${{ success() && env.RELEASE_TYPE == 2 }}
  66. env:
  67. GITHUB_TOKEN: ${{ secrets.FLIPPER_TOKEN }}
  68. OWNER: ${{ github.repository_owner }}
  69. run: |
  70. gh release create 'v${{ env.RELEASE_VERSION }}' --notes-start-tag 'v${{ env.CURRENT_TAG }}' --generate-notes --draft --latest \
  71. --notes 'New version is rolling out!' --verify-tag --title 'Release v${{ env.RELEASE_VERSION }}' -R '${{ env.REPO_SELF }}'
  72. gh variable set FIRMWARE_VERSION -b '${{ env.FIRMWARE_VERSION }}' -R '${{ env.REPO_SELF }}'
  73. gh variable set RELEASE_VERSION -b '${{ env.RELEASE_VERSION }}' -R '${{ env.REPO_SELF }}'
  74. - name: Current settings in repo invalid. Changing
  75. if: ${{ success() && env.RELEASE_TYPE > 2 }}
  76. env:
  77. GITHUB_TOKEN: ${{ secrets.FLIPPER_TOKEN }}
  78. OWNER: ${{ github.repository_owner }}
  79. run: |
  80. gh variable set RELEASE_VERSION -b ${{ env.RELEASE_VERSION }} -R ${{ env.REPO_SELF }}
  81. # EOF