mirror of https://github.com/fluxcd/flux2.git
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
| name: Update Components
 | |
| 
 | |
| on:
 | |
|   workflow_dispatch:
 | |
|   schedule:
 | |
|     - cron: "0 * * * *"
 | |
| 
 | |
| jobs:
 | |
|   update-components:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - name: Check out code
 | |
|         uses: actions/checkout@v2
 | |
| 
 | |
|       - name: Update component versions
 | |
|         id: update
 | |
|         run: |
 | |
|           PR_BODY=""
 | |
| 
 | |
|           bump_version() {
 | |
|             local RELEASE_VERSION=$(curl -s https://api.github.com/repos/fluxcd/$1/releases | jq -r 'sort_by(.published_at) | .[-1] | .tag_name')
 | |
|             local CURRENT_VERSION=$(sed -n "s/.*$1\/archive\/\(.*\).zip.*/\1/p;n" manifests/bases/$1/kustomization.yaml)
 | |
| 
 | |
|             if [[ "${RELEASE_VERSION}" != "${CURRENT_VERSION}" ]]; then
 | |
|               # bump kustomize
 | |
|               sed -i "s/\($1\/archive\/\)v.*\(.zip\/\/$1-\).*\(\/config.*\)/\1${RELEASE_VERSION}\2${RELEASE_VERSION/v}\3/g" "manifests/bases/$1/kustomization.yaml"
 | |
| 
 | |
|               if [[ ! -z $(go list -m all | grep "github.com/fluxcd/$1/api" | awk '{print $2}') ]]; then
 | |
|                 # bump go mod
 | |
|                 go mod edit -require="github.com/fluxcd/$1/api@${RELEASE_VERSION}"
 | |
|               fi
 | |
| 
 | |
|               PR_BODY="$PR_BODY- $1 to ${RELEASE_VERSION}%0A"
 | |
|             fi
 | |
|           }
 | |
| 
 | |
|           {
 | |
|             # bump controller versions
 | |
|             bump_version helm-controller
 | |
|             bump_version kustomize-controller
 | |
|             bump_version source-controller
 | |
|             bump_version notification-controller
 | |
|             bump_version image-reflector-controller
 | |
|             bump_version image-automation-controller
 | |
| 
 | |
|             # add missing and remove unused modules
 | |
|             go mod tidy
 | |
| 
 | |
|             # diff change
 | |
|             git diff
 | |
| 
 | |
|             # export PR_BODY for PR
 | |
|             echo "::set-output name=pr_body::$PR_BODY"
 | |
|           }          
 | |
| 
 | |
|       - name: Create Pull Request
 | |
|         id: cpr
 | |
|         uses: peter-evans/create-pull-request@v3
 | |
|         with:
 | |
|             token: ${{ secrets.BOT_GITHUB_TOKEN }}
 | |
|             commit-message: Update toolkit components
 | |
|             committer: GitHub <noreply@github.com>
 | |
|             author: fluxcdbot <fluxcdbot@users.noreply.github.com>
 | |
|             title: Update toolkit components
 | |
|             body: |
 | |
|               ${{ steps.update.outputs.pr_body }}
 | |
| 
 | |
|               Auto-generated by [create-pull-request][1]
 | |
| 
 | |
|               [1]: https://github.com/peter-evans/create-pull-request              
 | |
|             branch: update-components
 | |
|             reviewers: ${{ secrets.ASSIGNEES }}
 | |
| 
 | |
|       - name: Check output
 | |
|         run: |
 | |
|                     echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
 |