# ASF is a C# project with solution named ArchiSteamFarm.sln language: csharp solution: ArchiSteamFarm.sln # Save bandwidth by limiting git clone to only last 10 commits git: depth: 10 # Don't build other branches than master # Sadly Travis doesn't support AppVeyor's "skip_branch_with_pr" branches: only: - master # This is .NET Core project, we're not building with Mono mono: none # ASF requires .NET Core 2.0+ dotnet: 2.1.2 env: global: - CONFIGURATION: Release - DOTNET_CLI_TELEMETRY_OPTOUT: 1 - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 - VARIANTS="generic win-x64 linux-x64 linux-arm osx-x64" # NOTE: When modifying variants, don't forget to update ASF_VARIANT definitions in ASF.cs! before_script: - | set -e if [ "$TRAVIS_OS_NAME" = "osx" ]; then ulimit -n 1024 fi dotnet restore script: - | set -e dotnet build -c "$CONFIGURATION" -o 'out/source' --no-restore /nologo dotnet test ArchiSteamFarm.Tests -c "$CONFIGURATION" -o 'out/source' --no-build --no-restore publish() { if [ "$1" = 'generic' ]; then dotnet publish ArchiSteamFarm -c "$CONFIGURATION" -o "out/${1}" --no-restore /nologo "/p:ASFVariant=$1" /p:LinkDuringPublish=false else dotnet publish ArchiSteamFarm -c "$CONFIGURATION" -o "out/${1}" -r "$1" --no-restore /nologo "/p:ASFVariant=$1" fi if [ -d "ArchiSteamFarm/scripts/${1}" ]; then cp "ArchiSteamFarm/scripts/${1}/"* "ArchiSteamFarm/out/${1}" fi } for variant in $VARIANTS; do publish "$variant" & done wait matrix: # We can use fast finish, as we don't need to wait for allow_failures builds to mark build as success fast_finish: true include: # We're building ASF with dotnet on latest versions of Linux and OS X - os: linux # Ref: https://docs.travis-ci.com/user/reference/trusty/ dist: trusty sudo: false - os: osx # Ref: https://docs.travis-ci.com/user/reference/osx/ osx_image: xcode9.2