version: "0.100.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 appveyor_build_worker_image: Visual Studio 2019 - 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' - '%USERPROFILE%\.cargo\bin' - '%USERPROFILE%\.cargo\registry\index' - '%USERPROFILE%\.cargo\registry\cache' - '%USERPROFILE%\.cargo\git\db' - '%USERPROFILE%\.rustup' - 'target' build_script: #- set DRS_BUILD_VERSION_OVERRIDE=%APPVEYOR_BUILD_VERSION% - if "%APPVEYOR_REPO_TAG%" == "true" (set DRS_BUILD_VERSION_OVERRIDE=%APPVEYOR_REPO_TAG_NAME%) else (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 init: - ps: | if ($env:APPVEYOR_REPO_TAG -eq "true") { Update-AppveyorBuild -Version "$env:APPVEYOR_REPO_TAG_NAME" } 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' - '$HOME/.cargo/bin' - '$HOME/.cargo/registry/index' - '$HOME/.cargo/registry/cache' - '$HOME/.cargo/git/db' - '$HOME/.rustup' - 'target' build_script: #- export DRS_BUILD_VERSION_OVERRIDE=$APPVEYOR_BUILD_VERSION - if [ "$APPVEYOR_REPO_TAG" = "true" ]; then export DRS_BUILD_VERSION_OVERRIDE=$APPVEYOR_REPO_TAG_NAME; else export DRS_BUILD_VERSION_OVERRIDE=$APPVEYOR_BUILD_VERSION; fi - 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' - '$HOME/.cargo/bin' - '$HOME/.cargo/registry/index' - '$HOME/.cargo/registry/cache' - '$HOME/.cargo/git/db' - '$HOME/.rustup' - 'target' build_script: #- export DRS_BUILD_VERSION_OVERRIDE=$APPVEYOR_BUILD_VERSION - if [ "$APPVEYOR_REPO_TAG" = "true" ]; then export DRS_BUILD_VERSION_OVERRIDE=$APPVEYOR_REPO_TAG_NAME; else export DRS_BUILD_VERSION_OVERRIDE=$APPVEYOR_BUILD_VERSION; fi - 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