Skip to content

*.csproj: consistently set TargetFrameworkVersion to v4.7.2 fixing Gi… #64

*.csproj: consistently set TargetFrameworkVersion to v4.7.2 fixing Gi…

*.csproj: consistently set TargetFrameworkVersion to v4.7.2 fixing Gi… #64

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