version-check.yml 3.9 KB

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