CI: Remove travis

Travis introduced OSS credits a while ago, which artificially limit the OSS development by putting a pressure on how much time we can take for a build. While I can understand this decision, considering they're providing the service for free, there is no longer any reason for us to keep using it, due to heavy maintenance burden and pressure, something we really don't need considering other CIs (especially GitHub actions) do not have such limitations.

This is on top of other issues, which make Travis one of the most problematic CIs that I've ever tried to use.
This commit is contained in:
JustArchi 2021-02-22 16:37:17 +01:00
parent 4054e60592
commit 34fbb9f86d
2 changed files with 0 additions and 117 deletions

View file

@ -1,116 +0,0 @@
# ASF is a C# project with a solution file named ArchiSteamFarm.sln
language: csharp
solution: ArchiSteamFarm.sln
# We can save bandwidth by limiting git clone to only last 10 commits
git:
depth: 10
# ASF is based on .NET Core platform, we're not building with Mono
dotnet: 5.0
mono: none
env:
global:
- CONFIGURATION: Release
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
- DOTNET_NOLOGO: 1
- NET_CORE_VERSION: net5.0
- STEAM_TOKEN_DUMPER_NAME: ArchiSteamFarm.OfficialPlugins.SteamTokenDumper
- 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!
addons:
homebrew:
packages: p7zip
before_script:
- |
set -eu
dotnet --info
set +u # This is needed to continue Travis build
script:
- |
set -eu
nvm install lts/*
npm ci --no-progress --prefix ASF-ui
npm run-script deploy --no-progress --prefix ASF-ui
dotnet build ArchiSteamFarm -c "$CONFIGURATION" -p:UseAppHost=false --nologo
dotnet build ArchiSteamFarm.CustomPlugins.ExamplePlugin -c "$CONFIGURATION" -p:UseAppHost=false --nologo
dotnet build ArchiSteamFarm.CustomPlugins.PeriodicGC -c "$CONFIGURATION" -p:UseAppHost=false --nologo
dotnet build "$STEAM_TOKEN_DUMPER_NAME" -c "$CONFIGURATION" -p:UseAppHost=false --nologo
dotnet test ArchiSteamFarm.Tests -c "$CONFIGURATION" -p:UseAppHost=false --nologo
if [ -n "${STEAM_TOKEN_DUMPER_TOKEN-}" ] && [ -f "${STEAM_TOKEN_DUMPER_NAME}/SharedInfo.cs" ]; then
sed "s/STEAM_TOKEN_DUMPER_TOKEN/${STEAM_TOKEN_DUMPER_TOKEN}/g" "${STEAM_TOKEN_DUMPER_NAME}/SharedInfo.cs" > "${STEAM_TOKEN_DUMPER_NAME}/SharedInfo.cs.new";
mv "${STEAM_TOKEN_DUMPER_NAME}/SharedInfo.cs.new" "${STEAM_TOKEN_DUMPER_NAME}/SharedInfo.cs"
fi
dotnet publish "$STEAM_TOKEN_DUMPER_NAME" -c "$CONFIGURATION" -f "$NET_CORE_VERSION" -o "out/${STEAM_TOKEN_DUMPER_NAME}/${NET_CORE_VERSION}" -p:UseAppHost=false --nologo
dotnet clean ArchiSteamFarm -c "$CONFIGURATION" -p:UseAppHost=false --nologo
dotnet restore ArchiSteamFarm
publish() {
if [ "$1" = 'generic' ]; then
local variantArgs="-p:UseAppHost=false"
else
local variantArgs="-p:PublishSingleFile=true -p:PublishTrimmed=true -r $1"
fi
dotnet publish ArchiSteamFarm -c "$CONFIGURATION" -f "$NET_CORE_VERSION" -o "out/${1}" "-p:ASFVariant=$1" --no-restore --nologo $variantArgs
# If we're including any overlay for this variant, copy it to output directory
if [ -d "ArchiSteamFarm/overlay/${1}" ]; then
cp -pR "ArchiSteamFarm/overlay/${1}/"* "out/${1}"
fi
# If we're including SteamTokenDumper plugin for this framework, copy it to output directory
if [ -d "out/${STEAM_TOKEN_DUMPER_NAME}/${NET_CORE_VERSION}" ]; then
mkdir -p "out/${1}/plugins/${STEAM_TOKEN_DUMPER_NAME}"
cp -pR "out/${STEAM_TOKEN_DUMPER_NAME}/${NET_CORE_VERSION}/"* "out/${1}/plugins/${STEAM_TOKEN_DUMPER_NAME}"
fi
# Include .ico file for all platforms, since only Windows script can bundle it inside the exe
cp "resources/ASF.ico" "out/${1}/ArchiSteamFarm.ico"
if command -v 7z >/dev/null; then
7z a -bd -slp -tzip -mm=Deflate -mx=1 "out/ASF-${1}.zip" "${TRAVIS_BUILD_DIR}/out/${1}/*"
elif command -v zip >/dev/null; then
(
cd "${TRAVIS_BUILD_DIR}/out/${1}"
zip -1 -q -r "../ASF-${1}.zip" .
)
else
echo "ERROR: No supported zip tool!"
return 1
fi
}
jobs=""
for variant in $VARIANTS; do
publish "$variant" &
jobs="$jobs $!"
done
for job in $jobs; do
wait "$job"
done
set +u # This is needed to continue Travis build
matrix:
allow_failures:
- os: osx
# 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
# Sadly, travis is still missing support for selecting latest images: https://github.com/travis-ci/travis-ci/issues/8922
- os: linux
# Ref: https://docs.travis-ci.com/user/reference/linux
dist: bionic
- os: osx
# Ref: https://docs.travis-ci.com/user/reference/osx
dotnet: 5.0.100 # For OSX, we need absolute dotnet version until https://github.com/dotnet/core-setup/issues/4187 is resolved
osx_image: xcode12.2

View file

@ -2,7 +2,6 @@
[![Build status (GitHub)](https://img.shields.io/github/workflow/status/JustArchiNET/ArchiSteamFarm/ASF-ci/main?label=GitHub&logo=github&maxAge=600)](https://github.com/JustArchiNET/ArchiSteamFarm/actions?query=workflow%3AASF-ci+branch%3Amain)
[![Build status (AppVeyor)](https://img.shields.io/appveyor/ci/JustArchi/ArchiSteamFarm/main.svg?label=AppVeyor&logo=appveyor&maxAge=600)](https://ci.appveyor.com/project/JustArchi/ArchiSteamFarm)
[![Build status (Travis)](https://img.shields.io/travis/com/JustArchiNET/ArchiSteamFarm/main.svg?label=Travis&logo=travis&maxAge=600)](https://travis-ci.com/JustArchiNET/ArchiSteamFarm)
[![Build status (Docker)](https://img.shields.io/github/workflow/status/JustArchiNET/ArchiSteamFarm/ASF-docker-publish-main.svg?label=Docker&logo=docker&maxAge=600)](https://hub.docker.com/r/justarchi/archisteamfarm)
[![Github last commit date](https://img.shields.io/github/last-commit/JustArchiNET/ArchiSteamFarm.svg?label=Updated&logo=github&maxAge=600)](https://github.com/JustArchiNET/ArchiSteamFarm/commits)
[![License](https://img.shields.io/github/license/JustArchiNET/ArchiSteamFarm.svg?label=License&logo=apache&maxAge=2592000)](https://github.com/JustArchiNET/ArchiSteamFarm/blob/main/LICENSE-2.0.txt)