Script artifact generation
This commit is contained in:
parent
1b8207db17
commit
ba7a2c47b0
10
README.md
10
README.md
|
@ -13,3 +13,13 @@ 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