Script artifact generation
This commit is contained in:
		
							parent
							
								
									1b8207db17
								
							
						
					
					
						commit
						ba7a2c47b0
					
				
							
								
								
									
										12
									
								
								README.md
								
								
								
								
							
							
						
						
									
										12
									
								
								README.md
								
								
								
								
							| 
						 | 
				
			
			@ -12,4 +12,14 @@ Run
 | 
			
		|||
cargo build --release
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
The executable will be in `target/release/lemur[.exe]`
 | 
			
		||||
The executable will be in `target/release/lemur[.exe]`
 | 
			
		||||
 | 
			
		||||
## Release
 | 
			
		||||
 | 
			
		||||
Bump the version number in `Cargo.toml`, then run this script:
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
./scripts/release.sh
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
It uses docker to cross compile for Windows, MacOS, and Linux. All binaries are left in the `output` directory.
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
# Set everything up
 | 
			
		||||
rm -rf output
 | 
			
		||||
mkdir -p output
 | 
			
		||||
cargo clean
 | 
			
		||||
 | 
			
		||||
# Build for linux
 | 
			
		||||
cargo build --release
 | 
			
		||||
cp target/release/lemur output/lemur-linux
 | 
			
		||||
 | 
			
		||||
# Bundle for Linux
 | 
			
		||||
cargo bundle --release --format deb
 | 
			
		||||
cp target/release/bundle/deb/*.deb output
 | 
			
		||||
 | 
			
		||||
# Build for Windows
 | 
			
		||||
cargo build --release --target x86_64-pc-windows-msvc
 | 
			
		||||
cp target/x86_64-pc-windows-msvc/release/lemur.exe output
 | 
			
		||||
 | 
			
		||||
# Bundle for Windows
 | 
			
		||||
cargo bundle --release --target x86_64-pc-windows-msvc --format msi
 | 
			
		||||
cp target/x86_64-pc-windows-msvc/release/bundle/msi/Lemur.msi output
 | 
			
		||||
 | 
			
		||||
# Build for MacOS
 | 
			
		||||
cargo build --release --target x86_64-apple-darwin
 | 
			
		||||
cp target/x86_64-apple-darwin/release/lemur output/lemur-osx
 | 
			
		||||
 | 
			
		||||
# Bundle for MacOS
 | 
			
		||||
cargo bundle --release --target x86_64-apple-darwin --format osx
 | 
			
		||||
genisoimage -V lemur -D -R -apple -no-pad -o output/Lemur.dmg target/x86_64-apple-darwin/release/bundle/osx
 | 
			
		||||
 | 
			
		||||
# Clean up after ourselves
 | 
			
		||||
cargo clean
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
if [ -z "${RELEASE_TOKEN}" ]; then
 | 
			
		||||
    echo "Please set the RELEASE_TOKEN env var."
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
docker build -f build.Dockerfile -t lemur-build .
 | 
			
		||||
docker run -it --rm -e RELEASE_TOKEN="${RELEASE_TOKEN}" -v .:/app -w /app --entrypoint bash lemur-build /app/scripts/do-release.sh
 | 
			
		||||
		Loading…
	
		Reference in New Issue