38 lines
1.9 KiB
YAML
38 lines
1.9 KiB
YAML
name: Package Trigger Main
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
package-trigger-main:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3.1.0
|
|
|
|
- name: Package Trigger
|
|
if: github.ref == 'refs/heads/main'
|
|
run: |
|
|
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_HOMETOWN_MAIN }}" ]; then
|
|
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_HOMETOWN_MAIN is set; skipping trigger. ****"
|
|
exit 0
|
|
fi
|
|
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-hometown/job/main/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
|
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
|
|
exit 0
|
|
fi
|
|
echo "**** Package trigger running off of main branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_HOMETOWN_MAIN\". ****"
|
|
response=$(curl -iX POST \
|
|
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-hometown/job/main/buildWithParameters?PACKAGE_CHECK=true \
|
|
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
|
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
|
|
echo "**** Sleeping 10 seconds until job starts ****"
|
|
sleep 10
|
|
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
|
|
buildurl="${buildurl%$'\r'}"
|
|
echo "**** Jenkins job build url: ${buildurl} ****"
|
|
echo "**** Attempting to change the Jenkins job description ****"
|
|
curl -iX POST \
|
|
"${buildurl}submitDescription" \
|
|
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
|
|
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
|
|
--data-urlencode "Submit=Submit"
|