version-check.yml 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. $Output = ('& $env:GITHUB_ACTION_PATH/.github/check-version.ps1')
  39. Write-Output("RELEASE_VERSION=$($Output.ReleaseVersion)") >> $env:GITHUB_ENV
  40. Write-Output("CURRENT_TAG=$($Output.CurrentTag)") >> $env:GITHUB_ENV
  41. Write-Output("REMOTE_TAG_INFO=$($Output.RemoteTagInfo)") >> $env:GITHUB_ENV
  42. Write-Output("RELEASE_TYPE=$($Output.ReleaseType)") >> $env:GITHUB_ENV
  43. - name: Update Firmware variable and create UPDATE release if necessary
  44. if: ${{ success() && env.RELEASE_TYPE == 1 }}
  45. env:
  46. GITHUB_TOKEN: ${{ secrets.FLIPPER_TOKEN }}
  47. OWNER: ${{ github.repository_owner }}
  48. run: |
  49. gh release create 'v${{ env.RELEASE_VERSION }}' --latest --draft \
  50. --notes 'Rebuild with new version of firmware.\n\nSee: [CHANGELOG](${{ env.FIRMWARE_VERSION }}/blob/dev/CHANGELOG.md)\n${{ env.REMOTE_TAG_INFO}}' \
  51. --title 'Minor update v${{ env.RELEASE_VERSION }}' --verify-tag -R '${{ env.REPO_SELF }}'
  52. gh variable set FIRMWARE_VERSION -b '${{ env.FIRMWARE_VERSION }}' -R '${{ env.REPO_SELF }}'
  53. gh variable set RELEASE_VERSION -b '${{ env.RELEASE_VERSION }}' -R '${{ env.REPO_SELF }}'
  54. - name: Update release variable and create NEW release if necessary
  55. if: ${{ success() && env.RELEASE_TYPE == 2 }}
  56. env:
  57. GITHUB_TOKEN: ${{ secrets.FLIPPER_TOKEN }}
  58. OWNER: ${{ github.repository_owner }}
  59. run: |
  60. gh release create 'v${{ env.RELEASE_VERSION }}' --notes-start-tag 'v${{ env.CURRENT_TAG }}' --generate-notes --draft --latest \
  61. --notes 'New version is rolling out!' --verify-tag --title 'Release v${{ env.RELEASE_VERSION }}' -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: Current settings in repo invalid. Changing
  65. if: ${{ success() && env.RELEASE_TYPE > 2 }}
  66. env:
  67. GITHUB_TOKEN: ${{ secrets.FLIPPER_TOKEN }}
  68. OWNER: ${{ github.repository_owner }}
  69. run: |
  70. gh variable set RELEASE_VERSION -b ${{ env.RELEASE_VERSION }} -R ${{ env.REPO_SELF }}
  71. # EOF