ci: avoid double zip; use tar instead to preserve x on linux/mac
This commit is contained in:
		
							parent
							
								
									863983f0ff
								
							
						
					
					
						commit
						827d3f79f4
					
				| @ -41,10 +41,13 @@ jobs: | ||||
|           docker cp $container_id:/root/hledger tmp | ||||
|           docker rm -v $container_id | ||||
|           cd tmp | ||||
|           zip hledger-linux-static-arm32v7.zip hledger hledger-ui hledger-web | ||||
|           tar cvf hledger-linux-static-arm32v7.tar hledger hledger-ui hledger-web | ||||
| 
 | ||||
|       # upload-artifact loses execute permissions, so we tar the binaries to preserve them. | ||||
|       # github UI always zips artifacts when they are downloaded, so we don't bother compressing the tar. | ||||
|       # Unfortunately it means users must both unzip and untar. | ||||
|       - name: Upload binaries artifact | ||||
|         uses: actions/upload-artifact@v3 | ||||
|         with: | ||||
|           name: hledger-linux-static-arm32v7 | ||||
|           path: tmp/hledger-linux-static-arm32v7.zip | ||||
|           path: tmp/hledger-linux-static-arm32v7.tar | ||||
|  | ||||
| @ -64,10 +64,13 @@ jobs: | ||||
|         strip hledger | ||||
|         strip hledger-ui | ||||
|         strip hledger-web | ||||
|         zip hledger-linux-x64.zip hledger hledger-ui hledger-web | ||||
|         tar cvf hledger-linux-x64.tar hledger hledger-ui hledger-web | ||||
| 
 | ||||
|     # upload-artifact loses execute permissions, so we tar the binaries to preserve them. | ||||
|     # github UI always zips artifacts when they are downloaded, so we don't bother compressing the tar. | ||||
|     # Unfortunately it means users must both unzip and untar. | ||||
|     - name: Upload binaries | ||||
|       uses: actions/upload-artifact@v3 | ||||
|       with: | ||||
|         name: hledger-linux-x64 | ||||
|         path: tmp/hledger-linux-x64.zip | ||||
|         path: tmp/hledger-linux-x64.tar | ||||
|  | ||||
							
								
								
									
										8
									
								
								.github/workflows/binaries-mac-x64.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/binaries-mac-x64.yml
									
									
									
									
										vendored
									
									
								
							| @ -169,14 +169,16 @@ jobs: | ||||
|         strip hledger | ||||
|         strip hledger-ui | ||||
|         strip hledger-web | ||||
|         zip hledger-mac-x64.zip hledger hledger-ui hledger-web | ||||
|         tar cvf hledger-mac-x64.tar hledger hledger-ui hledger-web | ||||
|       if: env.CONTINUE | ||||
| 
 | ||||
|     # XXX intermittent upload failures | ||||
|     # upload-artifact loses execute permissions, so we tar the binaries to preserve them. | ||||
|     # github UI always zips artifacts when they are downloaded, so we don't bother compressing the tar. | ||||
|     # Unfortunately it means users must both unzip and untar. | ||||
|     - name: Upload binaries artifact | ||||
|       uses: actions/upload-artifact@v3 | ||||
|       with: | ||||
|         name: hledger-mac-x64 | ||||
|         path: tmp/hledger-mac-x64.zip | ||||
|         path: tmp/hledger-mac-x64.tar | ||||
|       if: env.CONTINUE | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/binaries-windows-x64.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/binaries-windows-x64.yml
									
									
									
									
										vendored
									
									
								
							| @ -170,13 +170,13 @@ jobs: | ||||
|         cp /C/Users/runneradmin/AppData/Roaming/local/bin/hledger-web.exe . | ||||
|         strip hledger.exe | ||||
|         strip hledger-web.exe | ||||
|         zip hledger-windows-x64.zip hledger.exe hledger-web.exe | ||||
|       if: env.CONTINUE | ||||
|               | ||||
|     # XXX intermittent upload failures | ||||
|     - name: Create binaries artifact | ||||
|       uses: actions/upload-artifact@v3 | ||||
|       with: | ||||
|         name: hledger-windows-x64 | ||||
|         path: tmp/hledger-windows-x64.zip | ||||
|         path: | | ||||
|           tmp/hledger.exe | ||||
|           tmp/hledger-web.exe | ||||
|       if: env.CONTINUE | ||||
|  | ||||
							
								
								
									
										8
									
								
								.github/workflows/test-linux-x64.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/test-linux-x64.yml
									
									
									
									
										vendored
									
									
								
							| @ -274,18 +274,20 @@ jobs: | ||||
|         strip hledger | ||||
|         strip hledger-ui | ||||
|         strip hledger-web | ||||
|         zip hledger-linux-x64.zip hledger hledger-ui hledger-web | ||||
|         tar cvf hledger-linux-x64.tar hledger hledger-ui hledger-web | ||||
|       if: env.CONTINUE | ||||
| 
 | ||||
|       # how to set a context variable, and an attempt to make a nice artifact version suffix: | ||||
|       # echo "::set-output name=version::$(git branch --show-current | sed 's/-.*//')-$(git rev-parse --short HEAD)" | ||||
| 
 | ||||
|     # XXX intermittent upload failures | ||||
|     # upload-artifact loses execute permissions, so we tar the binaries to preserve them. | ||||
|     # github UI always zips artifacts when they are downloaded, so we don't bother compressing the tar. | ||||
|     # Unfortunately it means users must both unzip and untar. | ||||
|     - name: Upload binaries artifact | ||||
|       uses: actions/upload-artifact@v3 | ||||
|       with: | ||||
|         name: hledger-linux-x64 | ||||
|         path: tmp/hledger-linux-x64.zip | ||||
|         path: tmp/hledger-linux-x64.tar | ||||
|       if: env.CONTINUE | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -29,7 +29,7 @@ Or, if there are release binaries below suitable for your OS and hardware, you c | ||||
| - YYYY-MM-DD: description. [#NNNN](https://github.com/simonmichael/hledger/issues/NNNN) | ||||
| --> | ||||
| 
 | ||||
| Here are some instructions for the release binaries on various platforms: | ||||
| Here are some instructions for the release binaries on various platforms. (You can copy & paste each block of commands as a unit, to save time.): | ||||
| 
 | ||||
| <details> | ||||
| <summary> | ||||
| @ -39,12 +39,12 @@ Here are some instructions for the release binaries on various platforms: | ||||
| At the command line, | ||||
| 
 | ||||
| ``` | ||||
| $ cd /usr/local/bin | ||||
| $ curl -LOC- https://github.com/simonmichael/hledger/releases/download/A.BB/hledger-linux-x64.zip   # can rerun this if interrupted | ||||
| $ unzip -X hledger-linux-x64.zip | ||||
| $ cd - | ||||
| $ hledger --version  # should show the new version | ||||
| $ touch $HOME/.hledger.journal   # ensure a default journal file exists | ||||
| cd /usr/local/bin | ||||
| curl -LOC- https://github.com/simonmichael/hledger/releases/download/A.BB/hledger-linux-x64.zip   # can rerun this if interrupted | ||||
| unzip hledger-linux-x64.zip; tar xvf hledger-linux-x64.tar; rm hledger-linux-x64.{zip,tar}        # github workaround, preserves permissions | ||||
| cd - | ||||
| hledger --version  # should show the new version | ||||
| touch $HOME/.hledger.journal   # ensure a default journal file exists | ||||
| ``` | ||||
| </details> | ||||
| 
 | ||||
| @ -56,14 +56,14 @@ $ touch $HOME/.hledger.journal   # ensure a default journal file exists | ||||
| In a terminal window, | ||||
| 
 | ||||
| ``` | ||||
| $ cd /usr/local/bin | ||||
| $ curl -LOC- https://github.com/simonmichael/hledger/releases/download/A.BB/hledger-mac-x64.zip | ||||
| $ unzip -X hledger-mac-x64.zip | ||||
| $ open . | ||||
| cd /usr/local/bin | ||||
| curl -LOC- https://github.com/simonmichael/hledger/releases/download/A.BB/hledger-mac-x64.zip | ||||
| unzip hledger-mac-x64.zip; tar xvf hledger-mac-x64.tar; rm hledger-mac-x64.{zip,tar}              # github workaround, preserves permissions | ||||
| open . | ||||
| # for the hledger, hledger-ui, hledger-web icons: right-click the executable, Open, confirm it's ok to run | ||||
| $ cd - | ||||
| $ hledger --version  # should show the new version | ||||
| $ touch $HOME/.hledger.journal   # ensure a default journal file exists | ||||
| cd - | ||||
| hledger --version  # should show the new version | ||||
| touch $HOME/.hledger.journal   # ensure a default journal file exists | ||||
| ``` | ||||
| </details> | ||||
| 
 | ||||
| @ -75,7 +75,7 @@ $ touch $HOME/.hledger.journal   # ensure a default journal file exists | ||||
| 
 | ||||
| In a powershell window (press Windows-r, type powershell, press enter), | ||||
| 
 | ||||
| Make a place to keep hledger binaries, and add it to your PATH. You only need to do this once, not for every release. This is optional, but makes running hledger easier.  | ||||
| Make a place to keep hledger binaries, and add it to your PATH; this makes running hledger easier. You only need to do this once, not for every release.  | ||||
| ``` | ||||
| mkdir -force $HOME\bin >$null | ||||
| [Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::User)+";"+$HOME+"\bin", [EnvironmentVariableTarget]::User) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user