version-check.yml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. RELEASE_VERSION: ${{ vars.RELEASE_VERSION }}
  21. FIRMWARE_VERSION: ${{ vars.FIRMWARE_VERSION }}
  22. REPO_SELF: ${{ vars.REPO_SELF }}
  23. CHECKOUT_DIR: "firmware"
  24. steps:
  25. - name: Copy Repo Files
  26. uses: actions/checkout@v3
  27. with:
  28. repository: "${{ env.REPO_SELF }}"
  29. path: "${{ env.CHECKOUT_DIR }}"
  30. clean: "true"
  31. submodules: "true"
  32. token: ${{ secrets.FLIPPER_TOKEN }}
  33. - name: Check firmware release
  34. shell: pwsh
  35. env:
  36. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  37. run: |
  38. '& $env:GITHUB_ACTION_PATH/.github/check-version.ps1 "${{ env.FIRMWARE_VERSION }}" "${{ env.RELEASE_VERSION }}" "${{ env.REPO_SELF }}" "${{ env.REPO_UNLEASHED }}"' `
  39. | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  40. # $Output = ('& $env:GITHUB_ACTION_PATH/.github/check-version.ps1 "${{ env.FIRMWARE_VERSION }}" "${{ env.RELEASE_VERSION }}" "${{ env.REPO_SELF }}" "${{ env.REPO_UNLEASHED }}"')
  41. # Write-Output("RELEASE_VERSION=$($Output.ReleaseVersion)") | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  42. # Write-Output("CURRENT_TAG=$($Output.CurrentTag)") | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  43. # Write-Output("REMOTE_TAG_INFO=$($Output.RemoteTagInfo)") | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  44. # Write-Output("RELEASE_TYPE=$($Output.ReleaseType)") | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
  45. - name: Update Firmware variable and create UPDATE release if necessary
  46. if: ${{ success() && env.RELEASE_TYPE == 1 }}
  47. env:
  48. GITHUB_TOKEN: ${{ secrets.FLIPPER_TOKEN }}
  49. OWNER: ${{ github.repository_owner }}
  50. run: |
  51. gh release create 'v${{ env.RELEASE_VERSION }}' --latest --draft \
  52. --notes 'Rebuild with new version of firmware.\n\nSee: [CHANGELOG](${{ env.FIRMWARE_VERSION }}/blob/dev/CHANGELOG.md)\n${{ env.REMOTE_TAG_INFO}}' \
  53. --title 'Minor update v${{ env.RELEASE_VERSION }}' --verify-tag -R '${{ env.REPO_SELF }}'
  54. gh variable set FIRMWARE_VERSION -b '${{ env.FIRMWARE_VERSION }}' -R '${{ env.REPO_SELF }}'
  55. gh variable set RELEASE_VERSION -b '${{ env.RELEASE_VERSION }}' -R '${{ env.REPO_SELF }}'
  56. - name: Update release variable and create NEW release if necessary
  57. if: ${{ success() && env.RELEASE_TYPE == 2 }}
  58. env:
  59. GITHUB_TOKEN: ${{ secrets.FLIPPER_TOKEN }}
  60. OWNER: ${{ github.repository_owner }}
  61. run: |
  62. gh release create 'v${{ env.RELEASE_VERSION }}' --notes-start-tag 'v${{ env.CURRENT_TAG }}' --generate-notes --draft --latest \
  63. --notes 'New version is rolling out!' --verify-tag --title 'Release v${{ env.RELEASE_VERSION }}' -R '${{ env.REPO_SELF }}'
  64. gh variable set FIRMWARE_VERSION -b '${{ env.FIRMWARE_VERSION }}' -R '${{ env.REPO_SELF }}'
  65. gh variable set RELEASE_VERSION -b '${{ env.RELEASE_VERSION }}' -R '${{ env.REPO_SELF }}'
  66. - name: Current settings in repo invalid. Changing
  67. if: ${{ success() && env.RELEASE_TYPE > 2 }}
  68. env:
  69. GITHUB_TOKEN: ${{ secrets.FLIPPER_TOKEN }}
  70. OWNER: ${{ github.repository_owner }}
  71. run: |
  72. gh variable set RELEASE_VERSION -b ${{ env.RELEASE_VERSION }} -R ${{ env.REPO_SELF }}
  73. # EOF