Browse Source
			 
			
			ci: Enable GoReleaser .deb support (#3309 ) 
 
 
			
				* ci: Enable GoReleaser .deb support
* ci: Test .deb build
* ci: Fix typo
* ci: Turn off snapshot (breaks due to go mod edit)
* ci: Force the tag to rc3 for now
* ci: Let's try to publish the .debs
* ci: Attempt to enable build cache, rebuild after fixed line endings
* ci: Fix yml dupe ID issue, add caddy-api.service
* ci: Split cache keys between files so they're separate
* ci: Fix bindir
* ci: Update the script files
* ci: Retrigger
* ci: Push to gemfury
* ci: Use loop, fix bad env var
* ci: Retrigger
* ci: Try to force blank password?
* ci: Check if the token is actually present
* ci: Cleanup, remove debugging stuff
* ci: Remove useless comment 
			
			
				 master 
			
			
		 
		
			
				
					
						 
						Francis Lavoie 
					
					6 years ago  
					
						
							 committed by 
							
								 
								GitHub 
							
						 
					
				 
				
			 
		 
		
			
				
					 
					No known key found for this signature in database
					
						
							GPG Key ID:   4AEE18F83AFDEB23 
						
					
				
			
		
		
		
	
		
			
				 3 changed files  with 
57 additions  and 
9 deletions 
			 
			
		 
		
			
				
					
					
					  
					.github/workflows/ci.yml 
				 
			
				
					
					
					  
					.github/workflows/release.yml 
				 
			
				
					
					
					  
					.goreleaser.yml 
				 
			
		 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -72,9 +72,9 @@ jobs: 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       uses :   actions/cache@v1  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       with:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         path :   ${{ steps.vars.outputs.go_cache }}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         key :   ${{ runner.os }}-go-gocache -${{ hashFiles('**/go.sum') }}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         key :   ${{ runner.os }}-go-ci -${{ hashFiles('**/go.sum') }}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         restore-keys :   |  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					           ${{ runner.os }}-go-  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					           ${{ runner.os }}-go-ci   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - name :   Get dependencies  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       run :   |  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
						
					 
				
				 
				
					 
				
			 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -27,6 +27,7 @@ jobs: 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - name :   Unshallowify the repo clone  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       run :   git fetch --prune --unshallow  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     # https://github.community/t5/GitHub-Actions/How-to-get-just-the-tag-name/m-p/32167/highlight/true#M1027  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - name :   Print Go version and environment  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       id :   vars  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       run :   |  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -36,11 +37,17 @@ jobs: 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         go env  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         printf "\n\nSystem environment:\n\n"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         env  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     # https://github.community/t5/GitHub-Actions/How-to-get-just-the-tag-name/m-p/32167/highlight/true#M1027  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - name :   Get the version  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       id :   get_version  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       run :   echo "::set-output name=version_tag::${GITHUB_REF/refs\/tags\//}"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         echo "::set-output name=version_tag::${GITHUB_REF/refs\/tags\//}"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         echo "::set-output name=short_sha::$(git rev-parse --short HEAD)"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         echo "::set-output name=go_cache::$(go env GOCACHE)"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - name :   Cache the build cache  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       uses :   actions/cache@v1  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       with:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         path :   ${{ steps.vars.outputs.go_cache }}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         key :   ${{ runner.os }}-go-release-${{ hashFiles('**/go.sum') }}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         restore-keys :   |  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					           ${{ runner.os }}-go-release  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     # GoReleaser will take care of publishing those artifacts into the release  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - name :   Run GoReleaser  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -50,4 +57,12 @@ jobs: 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         args :   release --rm-dist  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       env:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         GITHUB_TOKEN :   ${{ secrets.GITHUB_TOKEN }}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         TAG :   ${{ steps.get_version.outputs.version_tag }}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         TAG :   ${{ steps.vars.outputs.version_tag }}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - name :   Publish .deb to Gemfury  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       env:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         GEMFURY_PUSH_TOKEN :   ${{ secrets.GEMFURY_PUSH_TOKEN }}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       run :   |  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         for filename in dist/*.deb; do  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					           curl -F package=@"$filename" https://${GEMFURY_PUSH_TOKEN}:@push.fury.io/caddy/  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					         done  
				
			 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -3,12 +3,13 @@ before: 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - mkdir -p caddy-build  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - cp cmd/caddy/main.go caddy-build/main.go  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - cp ./go.mod caddy-build/go.mod  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - sed -i.bkp s/github.com\/caddyserver\/caddy\/v2/caddy/g  ./caddy-build/go.mod  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - sed -i.bkp 's|github.com/caddyserver/caddy/v2|caddy|g'  ./caddy-build/go.mod  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     # GoReleaser doesn't seem to offer {{.Tag}} at this stage, so we have to embed it into the env  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     # so we run: TAG=$(git describe --abbrev=0) goreleaser release --rm-dist --skip-publish --skip-validate  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - go mod edit -require=github.com/caddyserver/caddy/v2@{{.Env.TAG}} ./caddy-build/go.mod  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - git clone --depth 1 https://github.com/caddyserver/dist caddy-dist  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     - go mod download  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					builds:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					- env:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   - CGO_ENABLED=0  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -35,6 +36,7 @@ builds: 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   - -trimpath  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   ldflags:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   - -s -w  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					archives:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   - format_overrides:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       - goos :   windows  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -43,12 +45,43 @@ archives: 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       darwin :   mac  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					checksum:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   algorithm :   sha512  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					nfpms:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   - id :   default  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     package_name :   caddy  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     vendor :   Light Code Labs  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     homepage :   https://caddyserver.com  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     maintainer :   Matthew Holt <mholt@users.noreply.github.com>  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     description :   |  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       Powerful, enterprise-ready, open source web server with automatic HTTPS written in Go  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     license :   Apache 2.0  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     formats:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       - deb  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       # - rpm  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     bindir :   /usr/bin  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     files:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       ./caddy-dist/init/caddy.service :   /lib/systemd/system/caddy.service  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       ./caddy-dist/init/caddy-api.service :   /lib/systemd/system/caddy-api.service  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       ./caddy-dist/welcome/index.html :   /usr/share/caddy/index.html  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     config_files:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       ./caddy-dist/config/Caddyfile :   /etc/caddy/Caddyfile  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     scripts:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       postinstall :   ./caddy-dist/scripts/postinstall.sh  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       preremove :   ./caddy-dist/scripts/preremove.sh  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       postremove :   ./caddy-dist/scripts/postremove.sh  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					release:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   github:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     owner :   caddyserver  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     name :   caddy  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   draft :   true  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   prerelease :   auto  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					changelog:  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   sort :   asc  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					   filters: