nightly.yml 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #
  2. # Copyright (c) 2008-2022 the Urho3D project.
  3. #
  4. # Permission is hereby granted, free of charge, to any person obtaining a copy
  5. # of this software and associated documentation files (the "Software"), to deal
  6. # in the Software without restriction, including without limitation the rights
  7. # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  8. # copies of the Software, and to permit persons to whom the Software is
  9. # furnished to do so, subject to the following conditions:
  10. #
  11. # The above copyright notice and this permission notice shall be included in
  12. # all copies or substantial portions of the Software.
  13. #
  14. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  19. # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  20. # THE SOFTWARE.
  21. #
  22. ---
  23. name: Nightly
  24. on:
  25. workflow_dispatch:
  26. schedule: [ cron: '0 0 * * *' ]
  27. jobs:
  28. nightly:
  29. name: Nightly build
  30. runs-on: ubuntu-latest
  31. env:
  32. PUBLISHER_NAME: ${{ secrets.PUBLISHER_NAME }}
  33. PUBLISHER_EMAIL: ${{ secrets.PUBLISHER_EMAIL }}
  34. PUBLISHER_TOKEN: ${{ secrets.PUBLISHER_TOKEN }}
  35. steps:
  36. - name: Checkout
  37. uses: actions/checkout@v2
  38. with:
  39. token: ${{ env.PUBLISHER_TOKEN }}
  40. - name: Update dot files for DBE
  41. id: update_dot_files
  42. run: rake update_dot_files
  43. - name: Check license
  44. id: check_license
  45. run: rake check_license
  46. - name: Check cache
  47. id: check_cache
  48. run: |
  49. last_run=$(date -d $(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/urho3d/Urho3D/actions/workflows/2398550/runs 2>/dev/null |jq -r '.workflow_runs[0].created_at') '+%s')
  50. now=$(date '+%s')
  51. skip=$(( (now - last_run)/(60*60*24) < 7 ))
  52. echo ::set-output name=skip::$skip
  53. if: |
  54. steps.update_dot_files.outputs.commit == '0' &&
  55. steps.check_license.outputs.commit == '0'
  56. - name: Push
  57. run: git push
  58. if: |
  59. steps.update_dot_files.outputs.commit == '1' ||
  60. steps.check_license.outputs.commit == '1'
  61. - name: Dispatch
  62. uses: peter-evans/[email protected]
  63. with:
  64. token: ${{ env.PUBLISHER_TOKEN }}
  65. repository: urho3d/Urho3D
  66. event-type: 'Warm DBE build cache'
  67. if: steps.check_cache.outputs.skip == '0'
  68. ...
  69. # vi: set ts=2 sw=2 expandtab: