*.csproj: consistently set TargetFrameworkVersion to v4.7.2 fixing Gi… #64
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: auto-ci-builds | |
on: | |
- push | |
- pull_request | |
jobs: | |
build_macOS-latest: | |
runs-on: macOS-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: install build dependencies | |
run: | | |
./build/install-deps-macos.sh | |
- name: check mono version | |
run: | | |
mono --version | |
- name: run autogen | |
run: | | |
./autogen.sh | |
- name: build | |
run: | | |
make | |
# TODO: | |
# macOS_tests_unit: | |
# runs-on: macOS-latest | |
# steps: | |
# - uses: actions/checkout@v1 | |
# - name: Run unit test | |
# run: | | |
# ./build/install-deps-macos.sh | |
# ./autogen.sh && make && make check | |
# | |
build_Ubuntu-latest: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: install build dependencies from debian/control | |
run: | | |
echo "Detected APT sources:" | |
grep deb /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -v ":#" | |
sudo apt update > /dev/null | |
sudo apt install --yes devscripts equivs > /dev/null | |
sudo mk-build-deps --install debian/control > /dev/null | |
sudo apt install --yes ./smuxi-build-deps_*.deb | |
- name: check mono version | |
run: | | |
mono --version | |
- name: autogen and configure | |
run: | | |
./autogen.sh | |
- name: compile with make | |
run: | | |
make | |
- name: clean with make | |
run: | | |
make clean | |
- name: compile with xbuild | |
run: | | |
# reduce the compiler warning level for less noisy builds (xbuild is the 2nd pass anyway) | |
find . -name "*.csproj" -exec sed 's!<WarningLevel>[0-9]</WarningLevel>!<WarningLevel>0</WarningLevel>!' -i {} \; | |
xbuild src/smuxi.sln | |
- name: clean with xbuild | |
run: | | |
xbuild /t:Clean src/smuxi.sln | |
build_Mono-5_18: # lowest supported Mono version as defined in configure.ac | |
runs-on: ubuntu-latest | |
container: mono:5.18 | |
steps: | |
- uses: actions/checkout@v1 | |
# the official Mono container doesn't have sudo and https support for | |
# APT pre-installed | |
- name: install apt-transport-https and sudo | |
run: | | |
echo "Current APT sources:" | |
grep deb /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -v ":#" | |
echo "The Debian stretch archived was moved to archive.debian.org, patching sources.list..." | |
sed 's/deb.debian.org/archive.debian.org/' -i /etc/apt/sources.list | |
echo "Removing security.debian.org..." | |
grep -v 'security.debian.org' /etc/apt/sources.list > /etc/apt/sources.list.new | |
cp /etc/apt/sources.list.new /etc/apt/sources.list | |
echo "Removing stretch/updates and stretch-updates..." | |
grep -v 'stretch/updates' /etc/apt/sources.list > /etc/apt/sources.list.new | |
cp /etc/apt/sources.list.new /etc/apt/sources.list | |
grep -v 'stretch-updates' /etc/apt/sources.list > /etc/apt/sources.list.new | |
cp /etc/apt/sources.list.new /etc/apt/sources.list | |
echo "New APT sources:" | |
grep deb /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -v ":#" | |
apt update > /dev/null || true # ignore exit code so mixed HTTP and | |
# HTTPS source lines won't fail before https support is intalled below | |
apt install --yes apt-transport-https | |
apt update | |
apt install --yes sudo | |
- name: install build dependencies from debian/control | |
run: | | |
sudo apt install --yes devscripts equivs > /dev/null | |
#sudo mk-build-deps --install debian/control | |
# "mk-build-deps --install" fails to install all packages, while apt can | |
# install all packages without issues, so we skip "--install" here | |
sudo mk-build-deps debian/control | |
dpkg --info ./smuxi-build-deps_*.deb | |
sudo apt install --yes ./smuxi-build-deps_*.deb | |
- name: check mono version | |
run: | | |
mono --version | |
- name: autogen and configure | |
run: | | |
./autogen.sh | |
- name: build | |
run: | | |
make | |
build_Mono-6_12: # latest Mono stable LTS version | |
runs-on: ubuntu-latest | |
container: mono:6.12.0.182 | |
steps: | |
- uses: actions/checkout@v1 | |
# the official Mono container doesn't have sudo and https support for | |
# APT pre-installed | |
- name: install apt-transport-https and sudo | |
run: | | |
echo "Detected APT sources:" | |
grep deb /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -v ":#" | |
apt update > /dev/null || true # ignore exit code so mixed HTTP and | |
# HTTPS source lines won't fail before https support is intalled below | |
apt install --yes apt-transport-https > /dev/null | |
apt update > /dev/null | |
apt install --yes sudo > /dev/null | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: workaround failing git ownership check | |
run: | | |
sudo apt install --yes git > /dev/null | |
git config --global --add safe.directory '*' | |
- name: install build dependencies from debian/control | |
run: | | |
sudo apt install --yes devscripts equivs > /dev/null | |
#sudo mk-build-deps --install debian/control | |
# "mk-build-deps --install" fails to install all packages, while apt can | |
# install all packages without issues, so we skip "--install" here | |
sudo mk-build-deps debian/control | |
dpkg --info ./smuxi-build-deps_*.deb | |
sudo apt install --yes ./smuxi-build-deps_*.deb | |
- name: check mono version | |
run: | | |
mono --version | |
- name: autogen and configure | |
run: | | |
./autogen.sh | |
- name: build | |
run: | | |
make | |
build_Mono-latest: # latest Mono version | |
runs-on: ubuntu-latest | |
container: mono:latest | |
steps: | |
- uses: actions/checkout@v1 | |
# the official Mono container doesn't have sudo and https support for | |
# APT pre-installed | |
- name: install apt-transport-https and sudo | |
run: | | |
echo "Detected APT sources:" | |
grep deb /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -v ":#" | |
apt update > /dev/null || true # ignore exit code so mixed HTTP and | |
# HTTPS source lines won't fail before https support is intalled below | |
apt install --yes apt-transport-https > /dev/null | |
apt update > /dev/null | |
apt install --yes sudo > /dev/null | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: workaround failing git ownership check | |
run: | | |
sudo apt install --yes git > /dev/null | |
git config --global --add safe.directory '*' | |
- name: install build dependencies from debian/control | |
run: | | |
sudo apt install --yes devscripts equivs > /dev/null | |
#sudo mk-build-deps --install debian/control | |
# "mk-build-deps --install" fails to install all packages, while apt can | |
# install all packages without issues, so we skip "--install" here | |
sudo mk-build-deps debian/control | |
dpkg --info ./smuxi-build-deps_*.deb | |
sudo apt install --yes ./smuxi-build-deps_*.deb | |
- name: check mono version | |
run: | | |
mono --version | |
- name: autogen and configure | |
run: | | |
./autogen.sh | |
- name: build | |
run: | | |
make | |
build_debs_Debian_stable: | |
runs-on: ubuntu-latest | |
container: debian:stable | |
steps: | |
- uses: actions/checkout@v1 | |
- name: check Debian version | |
run: | | |
cat /etc/debian_version | |
- name: install sudo and moreutils (for chronic) | |
run: | | |
echo "Detected APT sources:" | |
grep deb /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -v ":#" | |
apt update | |
apt install --yes sudo moreutils | |
- name: install build dependencies from debian/control | |
run: | | |
sudo apt install --yes devscripts equivs | |
sudo mk-build-deps debian/control | |
dpkg --info ./smuxi-build-deps_*.deb | |
sudo apt install --yes ./smuxi-build-deps_*.deb | |
- name: check mono version | |
run: | | |
mono --version | |
- name: workaround failing git ownership check | |
run: | | |
sudo apt install --yes git > /dev/null | |
git config --global --add safe.directory '*' | |
- name: prepare build | |
run: | | |
./autogen.sh | |
- name: build debs | |
run: | | |
dpkg-buildpackage -us -uc -rfakeroot --build=binary |