ArchiSteamFarm/.travis.yml

81 lines
2.7 KiB
YAML
Raw Normal View History

2018-08-12 15:06:38 +00:00
# ASF is a C# project with a solution file named ArchiSteamFarm.sln
2016-03-23 12:09:17 +00:00
language: csharp
solution: ArchiSteamFarm.sln
2016-03-23 12:26:03 +00:00
2018-08-12 15:06:38 +00:00
# We can save bandwidth by limiting git clone to only last 10 commits
2016-03-23 12:26:03 +00:00
git:
depth: 10
2018-08-12 15:06:38 +00:00
# ASF is based on .NET Core platform, we're not building with Mono
dotnet: 3.1
mono: none
2017-06-27 16:36:40 +00:00
env:
global:
- CONFIGURATION: Release
2017-06-27 16:36:40 +00:00
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
- NET_CORE_VERSION: netcoreapp3.1
2020-04-08 17:32:53 +00:00
- VARIANTS="generic linux-arm linux-arm64 linux-x64 osx-x64 win-x64" # NOTE: When modifying variants, don't forget to update ASF_VARIANT definitions in SharedInfo.cs!
2017-09-26 06:54:07 +00:00
before_script:
- |
2019-11-07 21:17:22 +00:00
set -eu
2017-10-23 20:45:32 +00:00
dotnet --info
set +u # This is needed to continue Travis build
2017-06-27 16:36:40 +00:00
script:
2017-07-14 14:55:34 +00:00
- |
2019-11-07 21:17:22 +00:00
set -eu
2017-07-14 14:55:34 +00:00
nvm install lts/*
npm ci --no-progress --prefix ASF-ui
npm run-script deploy --no-progress --prefix ASF-ui
dotnet build ArchiSteamFarm -c "$CONFIGURATION" -f "$NET_CORE_VERSION" --nologo
dotnet build ArchiSteamFarm.CustomPlugins.ExamplePlugin -c "$CONFIGURATION" -f "$NET_CORE_VERSION" --nologo
dotnet test ArchiSteamFarm.Tests -c "$CONFIGURATION" -f "$NET_CORE_VERSION" --nologo
2017-07-14 14:55:34 +00:00
publish() {
if [ "$1" = 'generic' ]; then
local variantArgs="/p:UseAppHost=false"
2017-07-14 14:55:34 +00:00
else
local variantArgs="-r $1 /p:PublishTrimmed=true"
2017-07-14 14:55:34 +00:00
fi
dotnet publish ArchiSteamFarm -c "$CONFIGURATION" -f "$NET_CORE_VERSION" -o "out/${1}" --no-restore --nologo "/p:ASFVariant=$1" $variantArgs
2019-01-12 01:00:19 +00:00
# If we include any overlay for this variant, copy it to output directory
if [ -d "ArchiSteamFarm/overlay/${1}" ]; then
cp "ArchiSteamFarm/overlay/${1}/"* "out/${1}"
2017-09-23 02:43:27 +00:00
fi
}
dotnet clean ArchiSteamFarm -c "$CONFIGURATION" -f "$NET_CORE_VERSION" --nologo
dotnet restore ArchiSteamFarm
jobs=""
for variant in $VARIANTS; do
publish "$variant" &
jobs="$jobs $!"
done
for job in $jobs; do
wait "$job"
2017-07-14 14:55:34 +00:00
done
set +u # This is needed to continue Travis build
2017-01-16 23:29:47 +00:00
matrix:
2017-07-10 07:02:57 +00:00
# We can use fast finish, as we don't need to wait for allow_failures builds to mark build as success
2017-01-16 23:29:47 +00:00
fast_finish: true
2017-03-13 01:29:02 +00:00
include:
2017-07-10 07:02:57 +00:00
# We're building ASF with dotnet on latest versions of Linux and OS X
2018-08-12 15:06:38 +00:00
# Sadly, travis is still missing support for selecting latest images: https://github.com/travis-ci/travis-ci/issues/8922
2017-03-13 01:29:02 +00:00
- os: linux
# Ref: https://docs.travis-ci.com/user/reference/linux
dist: bionic
2017-06-30 06:24:20 +00:00
- os: osx
2018-08-12 15:06:38 +00:00
# Ref: https://docs.travis-ci.com/user/reference/osx
2020-03-05 22:21:12 +00:00
dotnet: 3.1.102 # For OSX, we need absolute dotnet version until https://github.com/dotnet/core-setup/issues/4187 is resolved
osx_image: xcode11.3