Compare commits
4 commits
master
...
ci/pipelin
Author | SHA1 | Date | |
---|---|---|---|
|
e47abe60b4 | ||
|
ee91e0acc5 | ||
|
e6d4729123 | ||
|
eca8c2436b |
6 changed files with 225 additions and 11 deletions
48
.gitlab-ci.yml
Normal file
48
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
default:
|
||||||
|
image: registry.fedoraproject.org/fedora-minimal:latest
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
- test
|
||||||
|
- trigger
|
||||||
|
|
||||||
|
build:lib:
|
||||||
|
stage: build
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
script:
|
||||||
|
- microdnf --nodocs install cmake gcc gcc-c++
|
||||||
|
- cmake . -Bbuild
|
||||||
|
- cmake --build build
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- build/
|
||||||
|
|
||||||
|
test:lib:
|
||||||
|
stage: test
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
needs:
|
||||||
|
- build:lib
|
||||||
|
script:
|
||||||
|
- microdnf --nodocs install cmake
|
||||||
|
- pushd build/tests
|
||||||
|
- ctest .
|
||||||
|
|
||||||
|
trigger:android:
|
||||||
|
stage: trigger
|
||||||
|
trigger:
|
||||||
|
strategy: depend
|
||||||
|
include: android/.gitlab-ci.yml
|
||||||
|
|
||||||
|
trigger:javascript:
|
||||||
|
stage: trigger
|
||||||
|
trigger:
|
||||||
|
strategy: depend
|
||||||
|
include: javascript/.gitlab-ci.yml
|
||||||
|
|
||||||
|
trigger:python:
|
||||||
|
stage: trigger
|
||||||
|
trigger:
|
||||||
|
strategy: depend
|
||||||
|
include: python/.gitlab-ci.yml
|
50
android/.gitlab-ci.yml
Normal file
50
android/.gitlab-ci.yml
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# TODO: consider replacing this with a smaller image
|
||||||
|
image: docker.io/inovex/gitlab-ci-android
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
- test
|
||||||
|
- publish
|
||||||
|
|
||||||
|
variables:
|
||||||
|
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- export GRADLE_USER_HOME=$(pwd)/.gradle
|
||||||
|
- export ANDROID_HOME=${ANDORID_SDK_HOME}
|
||||||
|
- echo "sdk.dir=${ANDROID_SDK_HOME}" > ./android/local.properties
|
||||||
|
- echo "ndk.dir=${ANDROID_NDK_HOME}" >> ./android/local.properties
|
||||||
|
- cp -R $ANDROID_SDK_ROOT/licenses ./android/.
|
||||||
|
- chmod +x ./android/gradlew
|
||||||
|
- pushd android
|
||||||
|
|
||||||
|
cache:
|
||||||
|
key: ${CI_PROJECT_ID}
|
||||||
|
paths:
|
||||||
|
- android/.gradle/
|
||||||
|
|
||||||
|
build:android:aar:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- ./gradlew clean assembleRelease
|
||||||
|
artifacts:
|
||||||
|
expire_in: 1 weeks
|
||||||
|
paths:
|
||||||
|
- android/olm-sdk/build/outputs/aar/*.aar
|
||||||
|
- android/local.properties
|
||||||
|
|
||||||
|
test:android:aar:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- echo "TODO fix this?"
|
||||||
|
# - ./gradlew test
|
||||||
|
needs:
|
||||||
|
- build:android:aar
|
||||||
|
|
||||||
|
publish:android:aar:
|
||||||
|
stage: publish
|
||||||
|
script:
|
||||||
|
- ./gradlew publish
|
||||||
|
needs:
|
||||||
|
- build:android:aar
|
||||||
|
- test:android:aar
|
|
@ -13,6 +13,11 @@ buildscript {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id 'java'
|
||||||
|
id 'maven-publish'
|
||||||
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
@ -20,6 +25,22 @@ allprojects {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task clean(type: Delete) {
|
publishing {
|
||||||
delete rootProject.buildDir
|
publications {
|
||||||
|
library(MavenPublication) {
|
||||||
|
from components.java
|
||||||
|
}
|
||||||
|
}
|
||||||
|
repositories {
|
||||||
|
maven {
|
||||||
|
url "https://gitlab.matrix.org/api/v4/projects/27/packages/maven"
|
||||||
|
credentials(HttpHeaderCredentials) {
|
||||||
|
name = 'Job-Token'
|
||||||
|
value = System.getenv("CI_JOB_TOKEN")
|
||||||
|
}
|
||||||
|
authentication {
|
||||||
|
header(HttpHeaderAuthentication)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
27
javascript/.gitlab-ci.yml
Normal file
27
javascript/.gitlab-ci.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
default:
|
||||||
|
image: docker.io/emscripten/emsdk:latest
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
- test
|
||||||
|
|
||||||
|
build:js:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- ln -sf $(which python3) /usr/local/bin/python
|
||||||
|
- make js
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- build/javascript
|
||||||
|
- javascript/olm.js
|
||||||
|
- javascript/olm.wasm
|
||||||
|
- javascript/exported_functions.json
|
||||||
|
|
||||||
|
test:js:
|
||||||
|
stage: test
|
||||||
|
needs:
|
||||||
|
- build:js
|
||||||
|
script:
|
||||||
|
- pushd javascript
|
||||||
|
- npm i
|
||||||
|
- npm run test
|
75
python/.gitlab-ci.yml
Normal file
75
python/.gitlab-ci.yml
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
variables:
|
||||||
|
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
|
||||||
|
LD_LIBRARY_PATH: "$CI_PROJECT_DIR/build"
|
||||||
|
DEFAULT_PYTHON: "3.9"
|
||||||
|
|
||||||
|
cache:
|
||||||
|
paths:
|
||||||
|
- .cache/pip
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
- test
|
||||||
|
- dist
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- pushd python
|
||||||
|
- pip --disable-pip-version-check install --upgrade pip
|
||||||
|
|
||||||
|
build:python:
|
||||||
|
stage: build
|
||||||
|
image: docker.io/python:$DEFAULT_PYTHON
|
||||||
|
cache: { }
|
||||||
|
before_script: [ ]
|
||||||
|
script:
|
||||||
|
- apt-get -y update && apt-get -y install cmake
|
||||||
|
- cmake . -Bbuild
|
||||||
|
- cmake --build build
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- build
|
||||||
|
|
||||||
|
test:python:
|
||||||
|
stage: test
|
||||||
|
image: docker.io/python:$PYTHON_VERSIONS
|
||||||
|
parallel:
|
||||||
|
matrix:
|
||||||
|
- PYTHON_VERSIONS: [ "3.6", "3.7", "3.8", "3.9" ]
|
||||||
|
script:
|
||||||
|
- pip install tox
|
||||||
|
- make headers
|
||||||
|
- tox -e py
|
||||||
|
dependencies:
|
||||||
|
- build:python
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- python/.coverage
|
||||||
|
- python/coverage.xml
|
||||||
|
|
||||||
|
dist:python:sdist:
|
||||||
|
stage: dist
|
||||||
|
image: docker.io/python:$DEFAULT_PYTHON
|
||||||
|
script:
|
||||||
|
- pip install build
|
||||||
|
- python -m build --sdist
|
||||||
|
dependencies: [ ]
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- python/build/**
|
||||||
|
- python/dist/*.tar.gz
|
||||||
|
|
||||||
|
dist:python:wheel:
|
||||||
|
stage: dist
|
||||||
|
image: docker.io/python:$PYTHON_VERSIONS
|
||||||
|
parallel:
|
||||||
|
matrix:
|
||||||
|
- PYTHON_VERSIONS: [ "3.6", "3.7", "3.8", "3.9" ]
|
||||||
|
script:
|
||||||
|
- pip install build
|
||||||
|
- python -m build --wheel
|
||||||
|
dependencies:
|
||||||
|
- build:python
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- python/build/**
|
||||||
|
- python/dist/*.whl
|
|
@ -1,14 +1,8 @@
|
||||||
# content of: tox.ini , put in same dir as setup.py
|
# content of: tox.ini , put in same dir as setup.py
|
||||||
[tox]
|
[tox]
|
||||||
envlist = py27,py36,pypy,{py2,py3}-cov,coverage
|
envlist = py27,py36,pypy,{py2,py3}-cov,coverage
|
||||||
[testenv]
|
|
||||||
basepython =
|
|
||||||
py27: python2.7
|
|
||||||
py36: python3.6
|
|
||||||
pypy: pypy
|
|
||||||
py2: python2.7
|
|
||||||
py3: python3.6
|
|
||||||
|
|
||||||
|
[testenv]
|
||||||
deps = -rrequirements.txt
|
deps = -rrequirements.txt
|
||||||
-rtest-requirements.txt
|
-rtest-requirements.txt
|
||||||
|
|
||||||
|
@ -22,14 +16,13 @@ commands =
|
||||||
setenv =
|
setenv =
|
||||||
COVERAGE_FILE=.coverage.py2
|
COVERAGE_FILE=.coverage.py2
|
||||||
|
|
||||||
[testenv:py3-cov]
|
[testenv:{py,py3}-cov]
|
||||||
commands =
|
commands =
|
||||||
py.test --cov=olm --cov-report term-missing --benchmark-disable --cov-branch
|
py.test --cov=olm --cov-report term-missing --benchmark-disable --cov-branch
|
||||||
setenv =
|
setenv =
|
||||||
COVERAGE_FILE=.coverage.py3
|
COVERAGE_FILE=.coverage.py3
|
||||||
|
|
||||||
[testenv:coverage]
|
[testenv:coverage]
|
||||||
basepython = python3.6
|
|
||||||
commands =
|
commands =
|
||||||
coverage erase
|
coverage erase
|
||||||
coverage combine
|
coverage combine
|
||||||
|
|
Loading…
Reference in a new issue