239 lines
6.3 KiB
YAML
239 lines
6.3 KiB
YAML
name: CI
|
|
|
|
# Should run only on branches and PR, as "on_tag.yml" will handle tags
|
|
on:
|
|
push:
|
|
branches: [ master, test ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
|
|
#
|
|
# Linux
|
|
#
|
|
Ubuntu:
|
|
name: Ubuntu debuild
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: prepare
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y autoconf automake autopoint autotools-dev \
|
|
gettext libdbus-1-dev pkg-config xmlto \
|
|
devscripts build-essential lintian \
|
|
debhelper-compat \
|
|
dh-exec libdbus-1-dev \
|
|
libmagick++-dev libv4l-dev python3-dev \
|
|
libgtk-3-dev lftp \
|
|
dh-sequence-python3 libgtk2.0-dev \
|
|
libqt5x11extras5-dev qtbase5-dev
|
|
- name: build
|
|
run: |
|
|
bash .github/workflows/debuilder.sh
|
|
|
|
Ubuntu_Gtk2:
|
|
name: Ubuntu with Gtk2
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: prepare
|
|
run: |
|
|
sudo apt update
|
|
sudo apt-get install -y autoconf automake autopoint autotools-dev \
|
|
gettext libdbus-1-dev libgtk2.0-dev libmagick++-dev \
|
|
libqt5x11extras5-dev libv4l-dev libx11-dev openjdk-8-jdk-headless \
|
|
perl pkg-config python-all-dev python-all-dbg python-gtk2-dev \
|
|
qt5-default xmlto
|
|
|
|
- name: configure
|
|
run: |
|
|
autoreconf -vfi
|
|
export QT_SELECT=5
|
|
./configure
|
|
- name: build
|
|
run:
|
|
make
|
|
- name: check
|
|
run:
|
|
make check-local
|
|
- name: install
|
|
run:
|
|
sudo make install
|
|
Ubuntu_Gtk3:
|
|
name: Ubuntu with Gtk3
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: prepare
|
|
run: |
|
|
sudo apt update
|
|
sudo apt-get install -y autoconf automake autopoint autotools-dev \
|
|
gettext libdbus-1-dev gir1.2-gtk-3.0 libgtk-3-dev \
|
|
libgirepository1.0-dev libmagick++-dev libqt5x11extras5-dev \
|
|
libv4l-dev libx11-dev openjdk-8-jdk-headless perl \
|
|
pkg-config python3-minimal python3-dev python3 python3-gi \
|
|
qt5-default xmlto
|
|
- name: configure
|
|
run: |
|
|
autoreconf -vfi
|
|
|
|
# Let configure get this
|
|
unset PYTHON_CFLAGS PYTHON
|
|
|
|
export QT_SELECT=5
|
|
./configure --with-gtk=gtk3 --with-python=python3
|
|
- name: build
|
|
run:
|
|
make
|
|
- name: check
|
|
run:
|
|
make check-local
|
|
- name: install
|
|
run:
|
|
sudo make install
|
|
Mingw_w64_VfW:
|
|
name: Mingw-w64 VfW
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: prepare
|
|
run: |
|
|
sudo apt update
|
|
sudo apt-get install -y autoconf automake autopoint autotools-dev \
|
|
gettext libdbus-1-dev pkg-config win-iconv-mingw-w64-dev \
|
|
binutils-mingw-w64-i686 gcc-mingw-w64 mingw-w64-i686-dev \
|
|
mingw-w64-common xmlto
|
|
- name: configure
|
|
run: |
|
|
export PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/lib/pkgconfig
|
|
|
|
autoreconf -vfi
|
|
|
|
CC=i686-w64-mingw32-gcc ./configure \
|
|
--host=i686-w64-mingw32 --prefix=/usr/local/win32 \
|
|
--without-gtk --without-python --without-qt --without-java \
|
|
--without-imagemagick --enable-pthread
|
|
- name: build
|
|
run:
|
|
make
|
|
- name: install
|
|
run:
|
|
sudo make install
|
|
Mingw_w64_DShow:
|
|
name: Mingw-w64 DShow
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: prepare
|
|
run: |
|
|
sudo apt update
|
|
sudo apt-get install -y autoconf automake autopoint autotools-dev \
|
|
gettext libdbus-1-dev pkg-config win-iconv-mingw-w64-dev \
|
|
binutils-mingw-w64-i686 gcc-mingw-w64 mingw-w64-i686-dev \
|
|
mingw-w64-common xmlto
|
|
- name: configure
|
|
run: |
|
|
export PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/lib/pkgconfig
|
|
|
|
autoreconf -vfi
|
|
|
|
CC=i686-w64-mingw32-gcc ./configure \
|
|
--host=i686-w64-mingw32 --prefix=/usr/local/win32 \
|
|
--without-gtk --without-python --without-qt --without-java \
|
|
--without-imagemagick --enable-pthread \
|
|
--with-directshow
|
|
- name: build
|
|
run:
|
|
make
|
|
- name: install
|
|
run:
|
|
sudo make install
|
|
|
|
#
|
|
# Mac OS
|
|
#
|
|
Mac_OS:
|
|
name: Mac OS
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: prepare
|
|
run: |
|
|
brew install gettext autoconf automake libiconv libtool \
|
|
gs graphicsmagick python xmlto pkg-config ccache
|
|
|
|
brew unlink libtool && brew link libtool
|
|
brew unlink gettext && brew link gettext
|
|
- name: configure
|
|
run:
|
|
autoreconf -vfi
|
|
|
|
./configure --disable-video --disable-nls --with-python=python3
|
|
|
|
- name: build
|
|
run: |
|
|
make
|
|
sudo make install
|
|
|
|
#
|
|
# Windows
|
|
#
|
|
Windows:
|
|
name: Windows
|
|
runs-on: windows-latest
|
|
strategy:
|
|
matrix:
|
|
arch: [x86_64, i686]
|
|
video: [VfW, DShow]
|
|
include:
|
|
- arch: x86_64
|
|
msystem: MINGW64
|
|
grep: x86-64
|
|
- arch: i686
|
|
msystem: MINGW32
|
|
grep: 386
|
|
- video: DShow
|
|
extra: --with-directshow
|
|
- video: VfW
|
|
extra:
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
|
|
env:
|
|
CPPFLAGS: -D__USE_MINGW_ANSI_STDIO=1
|
|
|
|
steps:
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: ${{ matrix.msystem }}
|
|
update: false
|
|
install: >-
|
|
mingw-w64-${{ matrix.arch }}-gcc
|
|
mingw-w64-${{ matrix.arch }}-iconv
|
|
mingw-w64-${{ matrix.arch }}-imagemagick
|
|
mingw-w64-${{ matrix.arch }}-python
|
|
base-devel git xmlto
|
|
autoconf libtool automake gettext make autoconf-archive pkg-config
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: configure
|
|
shell: msys2 {0}
|
|
run: |
|
|
autoreconf -vfi
|
|
./configure LDFLAGS="-static" \
|
|
--enable-pthread --disable-dependency-tracking \
|
|
${{ matrix.extra }}
|
|
|
|
- name: build
|
|
shell: msys2 {0}
|
|
run:
|
|
make
|
|
- name: install
|
|
shell: msys2 {0}
|
|
run:
|
|
make install
|