doukutsu-rs/.appveyor.yml

141 lines
4.4 KiB
YAML

version: "0.99.0.{build}-{branch}"
skip_commits:
files:
- README.md
environment:
global:
PROJECT_NAME: doukutsu-rs
matrix:
- channel: stable
target: x86_64-pc-windows-msvc
target_name: win64
job_name: windows-x64
appveyor_build_worker_image: Visual Studio 2019
# - channel: stable
# target: i686-pc-windows-msvc
# target_name: win32
# job_name: windows-x32
- channel: stable
target: x86_64-unknown-linux-gnu
target_name: linux
job_name: linux-x64
appveyor_build_worker_image: Ubuntu
- channel: stable
target: x86_64-apple-darwin
target_name: mac-intel
job_name: mac-x64
appveyor_build_worker_image: macos-monterey
- channel: stable
target: aarch64-apple-darwin
target_name: mac-m1
job_name: mac-arm64
appveyor_build_worker_image: macos-monterey
matrix:
fast_finish: true
for:
-
matrix:
only:
- appveyor_build_worker_image: Visual Studio 2019
install:
- appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
- rustup-init -yv --default-toolchain %channel% --default-host %target%
- set PATH=%PATH%;%USERPROFILE%\.cargo\bin
- rustup update
- rustup default %channel%
- rustc -vV
- cargo -vV
cache:
- '%USERPROFILE%\.cache -> Cargo.toml'
- '%USERPROFILE%\.cargo\bin -> Cargo.toml'
- '%USERPROFILE%\.cargo\registry\index -> Cargo.toml'
- '%USERPROFILE%\.cargo\registry\cache -> Cargo.toml'
- '%USERPROFILE%\.cargo\git\db -> Cargo.toml'
- '%USERPROFILE%\.rustup -> Cargo.toml'
- 'target -> Cargo.toml'
build_script:
- set DRS_BUILD_VERSION_OVERRIDE=%APPVEYOR_BUILD_VERSION%
- set CARGO_INCREMENTAL=1
- cargo build --release --bin doukutsu-rs
- mkdir release
- copy LICENSE release\LICENSE
- copy target\release\doukutsu-rs.exe release\doukutsu-rs.x86_64.exe
- cd release
- 7z a ../doukutsu-rs_%target_name%.zip *
- appveyor PushArtifact ../doukutsu-rs_%target_name%.zip
-
matrix:
only:
- appveyor_build_worker_image: macos-monterey
install:
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -yv --default-toolchain $channel
- export PATH=$PATH:$HOME/.cargo/bin
- rustup update
- rustup default $channel
- rustup target add $target
- rustc -vV
- cargo -vV
- cargo install cargo-bundle --force
cache:
- '$HOME/.cache -> Cargo.toml'
- '$HOME/.cargo/bin -> Cargo.toml'
- '$HOME/.cargo/registry/index -> Cargo.toml'
- '$HOME/.cargo/registry/cache -> Cargo.toml'
- '$HOME/.cargo/git/db -> Cargo.toml'
- '$HOME/.rustup -> Cargo.toml'
- 'target -> Cargo.toml'
build_script:
- export DRS_BUILD_VERSION_OVERRIDE=$APPVEYOR_BUILD_VERSION
- CARGO_INCREMENTAL=1 cargo bundle --release --target $target
- mkdir release
- cp LICENSE ./release/LICENSE
- cp -a target/$target/release/bundle/osx/doukutsu-rs.app ./release/doukutsu-rs.app
- cd release
- codesign -s - -f ./doukutsu-rs.app/Contents/MacOS/doukutsu-rs
- 7z a ../doukutsu-rs_$target_name.zip *
- appveyor PushArtifact ../doukutsu-rs_$target_name.zip
-
matrix:
only:
- appveyor_build_worker_image: Ubuntu
install:
- sudo apt-get update && sudo apt-get -y install libasound2-dev libudev-dev libgl1-mesa-dev pkg-config
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -yv --default-toolchain $channel --default-host $target
- export PATH=$PATH:$HOME/.cargo/bin
- rustup update
- rustup default $channel
- rustc -vV
- cargo -vV
cache:
- '$HOME/.cache -> Cargo.toml'
- '$HOME/.cargo/bin -> Cargo.toml'
- '$HOME/.cargo/registry/index -> Cargo.toml'
- '$HOME/.cargo/registry/cache -> Cargo.toml'
- '$HOME/.cargo/git/db -> Cargo.toml'
- '$HOME/.rustup -> Cargo.toml'
- 'target -> Cargo.toml'
build_script:
- export DRS_BUILD_VERSION_OVERRIDE=$APPVEYOR_BUILD_VERSION
- RUSTFLAGS="-C link-arg=-s" CARGO_INCREMENTAL=1 cargo build --release --bin doukutsu-rs
- mkdir release
- cp LICENSE ./release/LICENSE
- cp -a target/release/doukutsu-rs ./release/doukutsu-rs.x86_64.elf
- cd release
- 7z a ../doukutsu-rs_$target_name.zip *
- appveyor PushArtifact ../doukutsu-rs_$target_name.zip