mirror of
				https://gogs.blitter.com/RLabs/xs
				synced 2024-08-14 10:26:42 +00:00 
			
		
		
		
	Moved body of CI push script into project from bacillus
This commit is contained in:
		
							parent
							
								
									134676a60b
								
							
						
					
					
						commit
						d9f08997e3
					
				
					 1 changed files with 74 additions and 0 deletions
				
			
		
							
								
								
									
										74
									
								
								bacillus/pushbuild.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										74
									
								
								bacillus/pushbuild.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,74 @@ | |||
| #!/bin/bash | ||||
| 
 | ||||
| export PATH=/usr/local/bin:/usr/bin:/usr/lib/ccache/bin:/bin | ||||
| echo "workdir: ${BACILLUS_WORKDIR}" | ||||
| mkdir -p "${BACILLUS_ARTFDIR}" | ||||
| 
 | ||||
| export GO111MODULE=on | ||||
| export GOPATH="${HOME}/go" | ||||
| # GOCACHE will be phased out in v1.12. [github.com/golang/go/issues/26809] | ||||
| export GOCACHE="${HOME}/.cache/go-build" | ||||
| 
 | ||||
| echo "---" | ||||
| go env | ||||
| echo "---" | ||||
| echo "passed env:" | ||||
| env | ||||
| echo "---" | ||||
| 
 | ||||
| cd ${REPO} | ||||
| branch=$(git for-each-ref --sort=-committerdate --format='%(refname)' | head -n 1) | ||||
| echo "Building most recent push on branch $branch" | ||||
| git checkout "$branch" | ||||
| ls | ||||
| 
 | ||||
| stage "Build" | ||||
| make all | ||||
| 
 | ||||
| stage "Test(Authtoken)" | ||||
| echo "Clearing test user $USER ~/.xs_id file ..." | ||||
| rm -f ~/.xs_id | ||||
| echo "Setting dummy authtoken in ~/.xs_id ..." | ||||
| echo "localhost:asdfasdfasdf" >~/.xs_id | ||||
| echo "Performing remote command on @localhost via authtoken login ..." | ||||
| tokentest=$(timeout 10 xs -x "echo -n FOO" @localhost) | ||||
| if [ "${tokentest}" != "FOO" ]; then | ||||
|   echo "AUTHTOKEN LOGIN FAILED" | ||||
|   exit 1 | ||||
| else | ||||
|   echo "client cmd performed OK." | ||||
|   unset tokentest | ||||
| fi | ||||
| 
 | ||||
| stage "Test(S->C)" | ||||
| echo "Testing secure copy from server -> client ..." | ||||
| tmpdir=$$ | ||||
| mkdir -p /tmp/$tmpdir | ||||
| cd /tmp/$tmpdir | ||||
| xc @localhost:${BACILLUS_WORKDIR}/build/xs/cptest . | ||||
| echo -n "Integrity check on copied files (sha1sum) ..." | ||||
| sha1sum $(find cptest -type f | sort) >sc.sha1sum | ||||
| diff sc.sha1sum ${BACILLUS_WORKDIR}/build/xs/cptest.sha1sum | ||||
| stat=$? | ||||
| 
 | ||||
| cd - | ||||
| rm -rf /tmp/$tmpdir | ||||
| if [ $stat -eq "0" ]; then | ||||
|   echo "OK." | ||||
| else | ||||
|   echo "FAILED!" | ||||
|   exit $stat | ||||
| fi | ||||
| 
 | ||||
| stage "Test(C->S)" | ||||
| echo "TODO ..." | ||||
| 
 | ||||
| stage "Artifacts" | ||||
| echo -n "Creating tarfile ..." | ||||
| tar -cz --exclude=.git --exclude=cptest -f ${BACILLUS_ARTFDIR}/xs.tgz . | ||||
| 
 | ||||
| stage "Cleanup" | ||||
| rm -f ~/.xs_id | ||||
| 
 | ||||
| echo | ||||
| echo "--Done--" | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue