sforkowany z mirror/docker-baseimage-cloud9
				
			
						commit
						74ef7608bf
					
				| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
name: External Trigger Main
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  external-trigger-master:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2.3.3
 | 
			
		||||
 | 
			
		||||
      - name: External Trigger
 | 
			
		||||
        if: github.ref == 'refs/heads/master'
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "**** No external release, exiting ****"
 | 
			
		||||
          exit 0
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,43 @@
 | 
			
		|||
name: External Trigger Scheduler
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  schedule:
 | 
			
		||||
    - cron:  '35 * * * *'
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  external-trigger-scheduler:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2.3.3
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: '0'
 | 
			
		||||
        
 | 
			
		||||
      - name: External Trigger Scheduler
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "**** Branches found: ****"
 | 
			
		||||
          git for-each-ref --format='%(refname:short)' refs/remotes
 | 
			
		||||
          echo "**** Pulling the yq docker image ****"
 | 
			
		||||
          docker pull ghcr.io/linuxserver/yq
 | 
			
		||||
          for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
 | 
			
		||||
          do
 | 
			
		||||
            br=$(echo "$br" | sed 's|origin/||g')
 | 
			
		||||
            echo "**** Evaluating branch ${br} ****"
 | 
			
		||||
            ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-cloud9/${br}/jenkins-vars.yml \
 | 
			
		||||
              | docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
 | 
			
		||||
            if [ "$br" == "$ls_branch" ]; then
 | 
			
		||||
              echo "**** Branch ${br} appears to be live; checking workflow. ****"
 | 
			
		||||
              if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-cloud9/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
 | 
			
		||||
                echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
 | 
			
		||||
                curl -iX POST \
 | 
			
		||||
                  -H "Authorization: token ${{ secrets.CR_PAT }}" \
 | 
			
		||||
                  -H "Accept: application/vnd.github.v3+json" \
 | 
			
		||||
                  -d "{\"ref\":\"refs/heads/${br}\"}" \
 | 
			
		||||
                  https://api.github.com/repos/linuxserver/docker-baseimage-cloud9/actions/workflows/external_trigger.yml/dispatches
 | 
			
		||||
              else
 | 
			
		||||
                echo "**** Workflow doesn't exist; skipping trigger. ****"
 | 
			
		||||
              fi
 | 
			
		||||
            else
 | 
			
		||||
              echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
 | 
			
		||||
            fi
 | 
			
		||||
          done
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,38 @@
 | 
			
		|||
name: Package Trigger Main
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  package-trigger-master:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2.3.3
 | 
			
		||||
 | 
			
		||||
      - name: Package Trigger
 | 
			
		||||
        if: github.ref == 'refs/heads/master'
 | 
			
		||||
        run: |
 | 
			
		||||
          if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_BASEIMAGE_CLOUD9_MASTER }}" ]; then
 | 
			
		||||
            echo "**** Github secret PAUSE_PACKAGE_TRIGGER_BASEIMAGE_CLOUD9_MASTER is set; skipping trigger. ****"
 | 
			
		||||
            exit 0
 | 
			
		||||
          fi
 | 
			
		||||
          if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-cloud9/job/master/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 master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_BASEIMAGE_CLOUD9_MASTER\". ****"
 | 
			
		||||
          response=$(curl -iX POST \
 | 
			
		||||
            https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-cloud9/job/master/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"
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
name: Package Trigger Scheduler
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  schedule:
 | 
			
		||||
    - cron:  '11 14 * * 0'
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  package-trigger-scheduler:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2.3.3
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: '0'
 | 
			
		||||
        
 | 
			
		||||
      - name: Package Trigger Scheduler
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "**** Branches found: ****"
 | 
			
		||||
          git for-each-ref --format='%(refname:short)' refs/remotes
 | 
			
		||||
          echo "**** Pulling the yq docker image ****"
 | 
			
		||||
          docker pull ghcr.io/linuxserver/yq
 | 
			
		||||
          for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
 | 
			
		||||
          do
 | 
			
		||||
            br=$(echo "$br" | sed 's|origin/||g')
 | 
			
		||||
            echo "**** Evaluating branch ${br} ****"
 | 
			
		||||
            ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-cloud9/${br}/jenkins-vars.yml \
 | 
			
		||||
              | docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
 | 
			
		||||
            if [ "${br}" == "${ls_branch}" ]; then
 | 
			
		||||
              echo "**** Branch ${br} appears to be live; checking workflow. ****"
 | 
			
		||||
              if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-cloud9/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
 | 
			
		||||
                echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
 | 
			
		||||
                triggered_branches="${triggered_branches}${br} "
 | 
			
		||||
                curl -iX POST \
 | 
			
		||||
                  -H "Authorization: token ${{ secrets.CR_PAT }}" \
 | 
			
		||||
                  -H "Accept: application/vnd.github.v3+json" \
 | 
			
		||||
                  -d "{\"ref\":\"refs/heads/${br}\"}" \
 | 
			
		||||
                  https://api.github.com/repos/linuxserver/docker-baseimage-cloud9/actions/workflows/package_trigger.yml/dispatches
 | 
			
		||||
                sleep 30
 | 
			
		||||
              else
 | 
			
		||||
                echo "**** Workflow doesn't exist; skipping trigger. ****"
 | 
			
		||||
              fi
 | 
			
		||||
            else
 | 
			
		||||
              echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
 | 
			
		||||
            fi
 | 
			
		||||
          done
 | 
			
		||||
          echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
 | 
			
		||||
          echo "**** Notifying Discord ****"
 | 
			
		||||
          curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
 | 
			
		||||
            "description": "**Package Check Build(s) Triggered for baseimage-cloud9** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-baseimage-cloud9/activity/"' \n"}],
 | 
			
		||||
            "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
 | 
			
		||||
		Ładowanie…
	
		Reference in New Issue