mirror of
https://github.com/kiwix/kiwix-tools.git
synced 2025-09-24 04:20:56 -04:00
Use github action for the CI.
This commit is contained in:
parent
a9ff2aebee
commit
a44fd1a4d0
77
.github/workflows/pr.yml
vendored
Normal file
77
.github/workflows/pr.yml
vendored
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
name: CI
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Linux:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
target:
|
||||||
|
- native_static
|
||||||
|
- native_dyn
|
||||||
|
- win32_static
|
||||||
|
- win32_dyn
|
||||||
|
include:
|
||||||
|
- target: native_static
|
||||||
|
image_variant: xenial
|
||||||
|
lib_postfix: '/x86_64-linux-gnu'
|
||||||
|
- target: native_dyn
|
||||||
|
image_variant: xenial
|
||||||
|
lib_postfix: '/x86_64-linux-gnu'
|
||||||
|
- target: win32_static
|
||||||
|
image_variant: f31
|
||||||
|
lib_postfix: '64'
|
||||||
|
- target: win32_dyn
|
||||||
|
image_variant: f31
|
||||||
|
lib_postfix: '64'
|
||||||
|
env:
|
||||||
|
HOME: /home/runner
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: "kiwix/kiwix-build_ci:${{matrix.image_variant}}-26"
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
shell: python
|
||||||
|
run: |
|
||||||
|
import json
|
||||||
|
from subprocess import check_call
|
||||||
|
from os import environ
|
||||||
|
with open(environ['GITHUB_EVENT_PATH'], 'r') as f:
|
||||||
|
content = f.read()
|
||||||
|
event_data = json.loads(content)
|
||||||
|
try:
|
||||||
|
branch_ref = event_data['ref'].split('/')[-1]
|
||||||
|
except KeyError:
|
||||||
|
branch_ref = event_data['pull_request']['head']['ref']
|
||||||
|
print("Cloning branch", branch_ref)
|
||||||
|
command = [
|
||||||
|
'git', 'clone',
|
||||||
|
'https://github.com/${{github.repository}}',
|
||||||
|
'--depth=1',
|
||||||
|
'--branch', branch_ref
|
||||||
|
]
|
||||||
|
check_call(command, cwd=environ['HOME'])
|
||||||
|
- name: Install deps
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
ARCHIVE_NAME=deps2_${OS_NAME}_${{matrix.target}}_kiwix-tools.tar.xz
|
||||||
|
wget -O- http://tmp.kiwix.org/ci/${ARCHIVE_NAME} | tar -xJ -C /home/runner
|
||||||
|
- name: Compile
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
if [[ "${{matrix.target}}" =~ .*_static ]]; then
|
||||||
|
MESON_OPTION="-Dstatic-linkage=true"
|
||||||
|
else
|
||||||
|
MESON_OPTION=""
|
||||||
|
fi
|
||||||
|
if [[ ! "${{matrix.target}}" =~ native_.* ]]; then
|
||||||
|
MESON_OPTION="$MESON_OPTION --cross-file $HOME/BUILD_${{matrix.target}}/meson_cross_file.txt"
|
||||||
|
fi
|
||||||
|
cd $HOME/kiwix-tools
|
||||||
|
meson . build ${MESON_OPTION}
|
||||||
|
cd build
|
||||||
|
ninja
|
||||||
|
env:
|
||||||
|
PKG_CONFIG_PATH: "/home/runner/BUILD_${{matrix.target}}/INSTALL/lib/pkgconfig:/home/runner/BUILD_${{matrix.target}}/INSTALL/lib${{matrix.lib_postfix}}/pkgconfig"
|
||||||
|
CPPFLAGS: "-I/home/runner/BUILD_${{matrix.target}}/INSTALL/include"
|
12
.travis.yml
12
.travis.yml
@ -1,12 +0,0 @@
|
|||||||
language: cpp
|
|
||||||
dist: xenial
|
|
||||||
sudo: true
|
|
||||||
cache: ccache
|
|
||||||
install: travis/install_deps.sh
|
|
||||||
script: travis/compile.sh
|
|
||||||
env:
|
|
||||||
matrix:
|
|
||||||
- PLATFORM="native_static"
|
|
||||||
- PLATFORM="native_dyn"
|
|
||||||
- PLATFORM="win32_static"
|
|
||||||
- PLATFORM="win32_dyn"
|
|
@ -1,29 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
BUILD_DIR=${HOME}/BUILD_${PLATFORM}
|
|
||||||
INSTALL_DIR=${BUILD_DIR}/INSTALL
|
|
||||||
|
|
||||||
|
|
||||||
case ${PLATFORM} in
|
|
||||||
"native_static")
|
|
||||||
MESON_OPTION="-Dstatic-linkage=true"
|
|
||||||
;;
|
|
||||||
"native_dyn")
|
|
||||||
MESON_OPTION=""
|
|
||||||
;;
|
|
||||||
"win32_static")
|
|
||||||
MESON_OPTION="-Dstatic-linkage=true --cross-file ${BUILD_DIR}/meson_cross_file.txt"
|
|
||||||
;;
|
|
||||||
"win32_dyn")
|
|
||||||
MESON_OPTION="--cross-file ${BUILD_DIR}/meson_cross_file.txt"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
cd ${TRAVIS_BUILD_DIR}
|
|
||||||
export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/x86_64-linux-gnu/pkgconfig
|
|
||||||
export PATH=${INSTALL_DIR}/bin:$PATH
|
|
||||||
meson . build ${MESON_OPTION}
|
|
||||||
cd build
|
|
||||||
ninja
|
|
@ -1,49 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
REPO_NAME=${TRAVIS_REPO_SLUG#*/}
|
|
||||||
ARCHIVE_NAME=deps_linux_xenial_${PLATFORM}_${REPO_NAME}.tar.xz
|
|
||||||
|
|
||||||
# Packages.
|
|
||||||
case ${PLATFORM} in
|
|
||||||
"native_static")
|
|
||||||
PACKAGES="gcc python3.5 cmake libbz2-dev ccache zlib1g-dev uuid-dev"
|
|
||||||
;;
|
|
||||||
"native_dyn")
|
|
||||||
PACKAGES="gcc python3.5 cmake libbz2-dev ccache zlib1g-dev uuid-dev libmicrohttpd-dev"
|
|
||||||
;;
|
|
||||||
"win32_static")
|
|
||||||
PACKAGES="g++-mingw-w64-i686 gcc-mingw-w64-i686 gcc-mingw-w64-base mingw-w64-tools ccache python3.5"
|
|
||||||
;;
|
|
||||||
"win32_dyn")
|
|
||||||
PACKAGES="g++-mingw-w64-i686 gcc-mingw-w64-i686 gcc-mingw-w64-base mingw-w64-tools ccache python3.5"
|
|
||||||
;;
|
|
||||||
"android_arm")
|
|
||||||
PACKAGES="gcc python3.5 cmake ccache"
|
|
||||||
;;
|
|
||||||
"android_arm64")
|
|
||||||
PACKAGES="gcc python3.5 cmake ccache"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
sudo apt-get update -qq
|
|
||||||
sudo apt-get install -qq python3-pip ${PACKAGES}
|
|
||||||
wget https://bootstrap.pypa.io/get-pip.py
|
|
||||||
python3.5 get-pip.py --user
|
|
||||||
python3.5 -m pip install --user --upgrade pip
|
|
||||||
python3.5 -m pip install --user meson==0.49.2
|
|
||||||
|
|
||||||
# Ninja
|
|
||||||
cd $HOME
|
|
||||||
git clone git://github.com/ninja-build/ninja.git
|
|
||||||
cd ninja
|
|
||||||
git checkout release
|
|
||||||
./configure.py --bootstrap
|
|
||||||
sudo cp ninja /bin
|
|
||||||
|
|
||||||
# Dependencies comming from kiwix-build.
|
|
||||||
cd ${HOME}
|
|
||||||
wget http://tmp.kiwix.org/ci/${ARCHIVE_NAME}
|
|
||||||
tar xf ${HOME}/${ARCHIVE_NAME}
|
|
||||||
sudo ln -s travis ../ci_builder
|
|
Loading…
x
Reference in New Issue
Block a user