mirror of
https://github.com/sochix/TLSharp.git
synced 2025-12-06 08:02:00 +01:00
Add GitLabCI Linux pipeline
This pipeline doesn't come with Mono out-of-the-box like the GH-Actions one, so then we need to install mono ourselves (and there are 3 different ways to do it).
This commit is contained in:
parent
913a5befe5
commit
f27d0257f7
49
.gitlab-ci.yml
Normal file
49
.gitlab-ci.yml
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
variables:
|
||||||
|
NUGET_540_URL: https://dist.nuget.org/win-x86-commandline/v5.4.0/nuget.exe
|
||||||
|
NUGET_451_URL: https://dist.nuget.org/win-x86-commandline/v4.5.1/nuget.exe
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- apt update
|
||||||
|
# needed to download NuGet
|
||||||
|
- apt install -y curl
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
|
||||||
|
stockmono_build:
|
||||||
|
image: ubuntu:18.04
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
# https://askubuntu.com/a/1013396
|
||||||
|
- DEBIAN_FRONTEND=noninteractive apt install -y mono-complete mono-xbuild fsharp
|
||||||
|
- mono --version
|
||||||
|
|
||||||
|
- curl -o nuget.exe $NUGET_451_URL
|
||||||
|
- mono nuget.exe restore src/TgSharp.sln
|
||||||
|
- xbuild src/TgSharp.Core/TgSharp.Core.csproj
|
||||||
|
|
||||||
|
stocknewmono_build:
|
||||||
|
image: ubuntu:20.04
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
# https://askubuntu.com/a/1013396
|
||||||
|
- DEBIAN_FRONTEND=noninteractive apt install -y mono-complete mono-xbuild fsharp
|
||||||
|
- mono --version
|
||||||
|
|
||||||
|
- curl -o nuget.exe $NUGET_540_URL
|
||||||
|
- mono nuget.exe restore src/TgSharp.sln
|
||||||
|
- xbuild src/TgSharp.Core/TgSharp.Core.csproj
|
||||||
|
|
||||||
|
newmono_build:
|
||||||
|
image: ubuntu:18.04
|
||||||
|
stage: build
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- bin/*.zip
|
||||||
|
expire_in: 50days
|
||||||
|
script:
|
||||||
|
- ./scripts/install_mono_from_microsoft_deb_packages.sh
|
||||||
|
|
||||||
|
- curl -o nuget.exe $NUGET_540_URL
|
||||||
|
- mono nuget.exe restore src/TgSharp.sln
|
||||||
|
- msbuild src/TgSharp.Core/TgSharp.Core.csproj
|
||||||
15
scripts/install_mono_from_microsoft_deb_packages.sh
Executable file
15
scripts/install_mono_from_microsoft_deb_packages.sh
Executable file
|
|
@ -0,0 +1,15 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euxo pipefail
|
||||||
|
|
||||||
|
# required by apt-key
|
||||||
|
apt install -y gnupg2
|
||||||
|
# required by apt-update when pulling from mono-project.com
|
||||||
|
apt install -y ca-certificates
|
||||||
|
|
||||||
|
# taken from http://www.mono-project.com/download/stable/#download-lin
|
||||||
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||||
|
# bionic(=18.04) below works even for 18.10, 19.04 and 19.10
|
||||||
|
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | tee /etc/apt/sources.list.d/mono-official-stable.list
|
||||||
|
apt update
|
||||||
|
apt install -y mono-devel
|
||||||
|
mono --version
|
||||||
Loading…
Reference in a new issue