mirror of https://github.com/Nheko-Reborn/nheko
parent
7e29f119d3
commit
0cc4ab7f17
@ -0,0 +1,9 @@ |
|||||||
|
tap "nlohmann/json" |
||||||
|
|
||||||
|
brew "clang-format" |
||||||
|
brew "cmake" |
||||||
|
brew "ninja" |
||||||
|
brew "openssl" |
||||||
|
brew "qt5" |
||||||
|
brew "python3" |
||||||
|
brew "nlohmann_json" |
@ -0,0 +1,9 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
file="$1" |
||||||
|
fileName="nheko-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}-${file##*-}" |
||||||
|
|
||||||
|
uri=$(curl -H "Authorization: Bearer ${MATRIX_ACCESS_TOKEN}" -H "Content-Type: application/x-compressed" -X POST --data-binary "@${file}" "https://matrix.neko.dev/_matrix/media/r0/upload?filename=${fileName}" --http1.1 | python -c "import sys, json; print(json.load(sys.stdin)['content_uri'])") |
||||||
|
echo "Uploaded to ${uri}" |
||||||
|
|
||||||
|
curl -H "Authorization: Bearer ${MATRIX_ACCESS_TOKEN}" -H "Content-Type: application/json" -X PUT -d "{ \"body\": \"${fileName}\", \"filename\": \"${fileName}\", \"info\": { \"mimetype\": \"application/x-compressed\", \"size\": $(wc -c < ${file}) }, \"msgtype\": \"m.file\", \"url\": \"${uri}\" }" "https://matrix.neko.dev/_matrix/client/r0/rooms/${ROOM}/send/m.room.message/$(date +%s)" |
@ -0,0 +1,136 @@ |
|||||||
|
variables: |
||||||
|
CCACHE_COMPILERCHECK: content |
||||||
|
CCACHE_DIR: "${CI_PROJECT_DIR}/.ccache" |
||||||
|
# prevent configure tzdata hanging apt install commands |
||||||
|
DEBIAN_FRONTEND: noninteractive |
||||||
|
|
||||||
|
build-gcc7: |
||||||
|
stage: build |
||||||
|
image: ubuntu:16.04 |
||||||
|
tags: [docker] |
||||||
|
variables: |
||||||
|
CXX: g++-7 |
||||||
|
CC: gcc-7 |
||||||
|
QT_PKG: 510 |
||||||
|
TRAVIS_OS_NAME: linux |
||||||
|
before_script: |
||||||
|
- apt-get update |
||||||
|
- apt-get install -y software-properties-common |
||||||
|
- add-apt-repository ppa:ubuntu-toolchain-r/test -y |
||||||
|
- add-apt-repository ppa:beineri/opt-qt-5.10.1-xenial -y |
||||||
|
- apt-get update && apt-get -y install --no-install-recommends g++-7 build-essential ninja-build qt${QT_PKG}{base,declarative,tools,multimedia,script,quickcontrols2,svg} liblmdb-dev libgl1-mesa-dev libssl-dev git ccache |
||||||
|
# need recommended deps for wget |
||||||
|
- apt-get -y install wget |
||||||
|
- wget https://github.com/Kitware/CMake/releases/download/v3.19.0/cmake-3.19.0-Linux-x86_64.sh && sh cmake-3.19.0-Linux-x86_64.sh --skip-license --prefix=/usr/local |
||||||
|
- /usr/sbin/update-ccache-symlinks |
||||||
|
- update-alternatives --install /usr/bin/gcc gcc "/usr/bin/${CC}" 10 |
||||||
|
- update-alternatives --install /usr/bin/g++ g++ "/usr/bin/${CXX}" 10 |
||||||
|
- update-alternatives --set gcc "/usr/bin/${CC}" |
||||||
|
- update-alternatives --set g++ "/usr/bin/${CXX}" |
||||||
|
script: |
||||||
|
- export PATH="/usr/lib/ccache:${PATH}" |
||||||
|
- export CMAKE_BUILD_PARALLEL_LEVEL=$(cat /proc/cpuinfo | awk '/^processor/{print $3}' | wc -l) |
||||||
|
- export PATH="/usr/local/bin/:${PATH}" |
||||||
|
- . "/opt/qt${QT_PKG}/bin/qt${QT_PKG}-env.sh" || true |
||||||
|
- mkdir -p .deps/usr .hunter |
||||||
|
- mkdir -p build |
||||||
|
- cmake -GNinja -H. -Bbuild |
||||||
|
-DCMAKE_INSTALL_PREFIX=.deps/usr |
||||||
|
-DHUNTER_ROOT=".hunter" |
||||||
|
-DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF |
||||||
|
-DCMAKE_BUILD_TYPE=Release -DHUNTER_CONFIGURATION_TYPES=Release |
||||||
|
-DCI_BUILD=ON |
||||||
|
- cmake --build build |
||||||
|
cache: |
||||||
|
key: "$CI_JOB_NAME" |
||||||
|
paths: |
||||||
|
- .hunter/ |
||||||
|
- .ccache |
||||||
|
|
||||||
|
build-macos: |
||||||
|
stage: build |
||||||
|
tags: [macos] |
||||||
|
before_script: |
||||||
|
- brew update |
||||||
|
- brew bundle --file=./.ci/macos/Brewfile |
||||||
|
script: |
||||||
|
- export PATH=/usr/local/opt/qt/bin/:${PATH} |
||||||
|
- export CMAKE_PREFIX_PATH=/usr/local/opt/qt5 |
||||||
|
- cmake -GNinja -H. -Bbuild |
||||||
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo |
||||||
|
-DCMAKE_INSTALL_PREFIX=.deps/usr |
||||||
|
-DHUNTER_ROOT=".hunter" |
||||||
|
-DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF |
||||||
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DHUNTER_CONFIGURATION_TYPES=RelWithDebInfo |
||||||
|
-DUSE_BUNDLED_OPENSSL=ON |
||||||
|
-DUSE_BUNDLED_BOOST=ON |
||||||
|
-DCI_BUILD=ON |
||||||
|
- cmake --build build |
||||||
|
cache: |
||||||
|
key: "${CI_JOB_NAME}" |
||||||
|
paths: |
||||||
|
- .hunter/ |
||||||
|
- "${CCACHE_DIR}" |
||||||
|
|
||||||
|
build-flatpak-amd64: |
||||||
|
stage: build |
||||||
|
image: ubuntu:latest |
||||||
|
#image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master' |
||||||
|
tags: [docker] |
||||||
|
before_script: |
||||||
|
- apt-get update && apt-get -y install flatpak-builder git python curl |
||||||
|
- flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo |
||||||
|
- flatpak --noninteractive install --user flathub org.kde.Platform//5.14 |
||||||
|
- flatpak --noninteractive install --user flathub org.kde.Sdk//5.14 |
||||||
|
script: |
||||||
|
- export VERSION=$(git describe) |
||||||
|
- mkdir -p build-flatpak |
||||||
|
- cd build-flatpak |
||||||
|
- flatpak-builder --user --disable-rofiles-fuse --ccache --repo=repo --default-branch=${CI_COMMIT_REF_NAME} --subject="Build of Nheko ${VERSION} `date`" app ../io.github.NhekoReborn.Nheko.json |
||||||
|
- flatpak build-bundle repo nheko-amd64.flatpak io.github.NhekoReborn.Nheko ${CI_COMMIT_REF_NAME} |
||||||
|
after_script: |
||||||
|
- bash ./.ci/upload-nightly-gitlab.sh build-flatpak/nheko-amd64.flatpak |
||||||
|
cache: |
||||||
|
key: "$CI_JOB_NAME" |
||||||
|
paths: |
||||||
|
- build-flatpak/.flatpak-builder/ |
||||||
|
artifacts: |
||||||
|
expose_as: 'flatpak-amd64' |
||||||
|
paths: ['build-flatpak/nheko-amd64.flatpak'] |
||||||
|
name: flatpak-${CI_COMMIT_REF_NAME}-${VERSION}-amd64 |
||||||
|
|
||||||
|
build-flatpak-arm64: |
||||||
|
stage: build |
||||||
|
image: ubuntu:latest |
||||||
|
#image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master' |
||||||
|
tags: [docker-arm64] |
||||||
|
before_script: |
||||||
|
- apt-get update && apt-get -y install flatpak-builder git python curl |
||||||
|
- flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo |
||||||
|
- flatpak --noninteractive install --user flathub org.kde.Platform//5.14 |
||||||
|
- flatpak --noninteractive install --user flathub org.kde.Sdk//5.14 |
||||||
|
script: |
||||||
|
- export VERSION=$(git describe) |
||||||
|
- mkdir -p build-flatpak |
||||||
|
- cd build-flatpak |
||||||
|
- flatpak-builder --user --disable-rofiles-fuse --ccache --repo=repo --default-branch=${CI_COMMIT_REF_NAME} --subject="Build of Nheko ${VERSION} `date` for arm64" app ../io.github.NhekoReborn.Nheko.json |
||||||
|
- flatpak build-bundle repo nheko-arm64.flatpak io.github.NhekoReborn.Nheko ${CI_COMMIT_REF_NAME} |
||||||
|
after_script: |
||||||
|
- bash ./.ci/upload-nightly-gitlab.sh build-flatpak/nheko-arm64.flatpak |
||||||
|
cache: |
||||||
|
key: "$CI_JOB_NAME" |
||||||
|
paths: |
||||||
|
- build-flatpak/.flatpak-builder/ |
||||||
|
artifacts: |
||||||
|
expose_as: 'flatpak-arm64' |
||||||
|
paths: ['build-flatpak/nheko-arm64.flatpak'] |
||||||
|
name: flatpak-${CI_COMMIT_REF_NAME}-${VERSION}-arm64 |
||||||
|
|
||||||
|
linting: |
||||||
|
stage: build |
||||||
|
image: alpine:latest |
||||||
|
tags: [docker] |
||||||
|
before_script: |
||||||
|
- apk update && apk add clang make git |
||||||
|
script: |
||||||
|
- make lint |
Loading…
Reference in new issue