options: version: usage: The build version short: v required: true tasks: setup: run: - command: cargo install --version 0.1.16 cross - command: go get github.com/aktau/github-release - command: cargo install releez build:macos: run: - command: cargo build --release - command: mkdir -p dist - command: cp ./target/release/boilerplato ./dist/boilerplato - command: cd dist && tar -czvf boilerplato-v${version}-x86_64-apple-darwin.tar.gz boilerplato && rm boilerplato && cd .. build:linux: run: - command: cross build --release --target x86_64-unknown-linux-gnu - command: mkdir -p dist - command: cp ./target/x86_64-unknown-linux-gnu/release/boilerplato ./dist/boilerplato - command: cd dist && tar -czvf boilerplato-v${version}-x86_64-unknown-linux-gnu.tar.gz boilerplato && rm boilerplato && cd .. build:windows: run: - command: cross build --release --target x86_64-pc-windows-gnu - command: mkdir -p dist - command: cp ./target/x86_64-pc-windows-gnu/release/boilerplato.exe ./dist/boilerplato.exe - command: cd dist && zip boilerplato-v${version}-x86_64-pc-windows-gnu.zip boilerplato.exe && rm boilerplato.exe && cd .. build: run: - command: tusk build:macos --version ${version} - command: tusk build:linux --version ${version} - command: tusk build:windows --version ${version} upload-artifacts: run: command: chmod +x scripts/upload-artifacts.sh && ./scripts/upload-artifacts.sh ${version} confirm: args: message: usage: The confirmation message run: echo "\n${message}\n" && read confirmation release: run: - releez "${version}"