mirror of
				https://github.com/roc-lang/roc.git
				synced 2025-10-31 13:14:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| # https://vaneyckt.io/posts/safer_bash_scripts_with_set_euxo_pipefail/
 | |
| set -euxo pipefail
 | |
| 
 | |
| # if to prevent unset vars errror
 | |
| if [ -n "$(ls | grep -v "roc_nightly.*tar\.gz"  | grep -v "^ci$")" ]; then
 | |
|   
 | |
|   # Remove everything in this dir except the tar and ci folder.
 | |
|   # We want to test like a user who would have downloaded the release, so we clean up all files from the repo checkout.
 | |
|   to_delete=$(ls | grep -v "roc_nightly.*tar\.gz"  | grep -v "^ci$")
 | |
| 
 | |
|   for file_or_dir in $to_delete
 | |
|   do
 | |
|     echo "Removing: $file_or_dir" 
 | |
|     rm -rf "$file_or_dir"
 | |
|   done
 | |
| fi
 | |
| 
 | |
| # decompress the tar
 | |
| ls | grep "roc_nightly.*tar\.gz" | xargs tar -xzvf
 | |
| 
 | |
| # delete tar
 | |
| ls | grep "roc_nightly.*tar\.gz" | xargs rm -rf
 | |
| 
 | |
| # rename nightly folder
 | |
| mv roc_nightly* roc_nightly
 | |
| 
 | |
| cd roc_nightly
 | |
| 
 | |
| # test roc hello world
 | |
| ./roc examples/helloWorld.roc
 | |
| 
 | |
| ./roc examples/platform-switching/rocLovesRust.roc
 | |
| 
 | |
| run_zig_test=true
 | |
| # Detect macOS version
 | |
| if [[ "$(uname)" == "Darwin" ]]; then
 | |
|     macos_version=$(sw_vers -productVersion)
 | |
|     major_version=$(echo $macos_version | cut -d. -f1)
 | |
| 
 | |
|     # If macOS 13, then set the flag to skip
 | |
|     if [[ $major_version -eq 13 ]]; then
 | |
|         echo "Skipping zig test on macOS 13 due to https://github.com/roc-lang/roc/issues/5590..."
 | |
|         run_zig_test=false
 | |
|     fi
 | |
| fi
 | |
| 
 | |
| if $run_zig_test ; then
 | |
|     ./roc examples/platform-switching/rocLovesZig.roc
 | |
| fi
 | |
| 
 | |
| ./roc examples/platform-switching/rocLovesC.roc
 | |
| 
 | |
| cd ..
 | 
