package_trigger.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. name: Package Trigger Main
  2. on:
  3. workflow_dispatch:
  4. jobs:
  5. package-trigger-master:
  6. runs-on: ubuntu-latest
  7. steps:
  8. - uses: actions/checkout@v2.3.3
  9. - name: Package Trigger
  10. if: github.ref == 'refs/heads/master'
  11. run: |
  12. if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_TVHEADEND_MASTER }}" ]; then
  13. echo "**** Github secret PAUSE_PACKAGE_TRIGGER_TVHEADEND_MASTER is set; skipping trigger. ****"
  14. exit 0
  15. fi
  16. if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-tvheadend/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
  17. echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
  18. exit 0
  19. fi
  20. echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_TVHEADEND_MASTER\". ****"
  21. response=$(curl -iX POST \
  22. https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-tvheadend/job/master/buildWithParameters?PACKAGE_CHECK=true \
  23. --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
  24. echo "**** Jenkins job queue url: ${response%$'\r'} ****"
  25. echo "**** Sleeping 10 seconds until job starts ****"
  26. sleep 10
  27. buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
  28. buildurl="${buildurl%$'\r'}"
  29. echo "**** Jenkins job build url: ${buildurl} ****"
  30. echo "**** Attempting to change the Jenkins job description ****"
  31. curl -iX POST \
  32. "${buildurl}submitDescription" \
  33. --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
  34. --data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
  35. --data-urlencode "Submit=Submit"