switched from circleci to selfhosted droneci #1

Manually merged
Gurkengewuerz merged 4 commits from dev into master 2020-06-02 00:15:35 +02:00
4 changed files with 79 additions and 112 deletions

View File

@ -1,109 +0,0 @@
workflows:
version: 2
build:
jobs:
- build_ubuntu
- build_arch
version: 2
jobs:
build_ubuntu:
docker:
- image: buildpack-deps:19.10
steps:
- run:
name: Install pre deps
command: |
apt-get update -yqq \
&& apt-get install -yqq \
build-essential \
cmake \
gcc \
g++ \
qt5-default \
qt5-qmake \
qtmultimedia5-dev \
libqt5svg5-dev \
libx11-dev \
libavformat-dev \
libavcodec-dev \
libavutil-dev \
libswscale-dev \
libqt5x11extras5-dev \
libxcb-util-dev \
libxcb-cursor-dev \
libxcb1-dev \
- run:
name: QMake Version
command: qmake --version
- checkout
- run: git submodule sync
- run: git submodule update --init
- run:
name: LS
command: ls -lahR ~/project
- run:
name: Create Build Env
command: mkdir build && pwd && ls
- run:
name: Build
command: |
cd build && pwd && ls;
qmake ..;
make -j2;
cd ..;
- run:
name: Create Artifact Path
command: mkdir /kshare
- run:
name: Store Build
command: cp build/src/kshare /kshare/
- run:
name: Build Debian Package
command: |
cd packages/;
./makedeb.sh ci;
cp *.deb /kshare/
- store_artifacts:
path: /kshare/
build_arch:
docker:
- image: archlinux/base:latest
steps:
- run:
name: Install pre deps
command: |
pacman -Sy \
&& pacman -S --noconfirm \
base-devel \
git \
sudo \
wget \
- run:
name: disable_coredump
command: echo "Set disable_coredump false" >> /etc/sudo.conf
- run:
name: create build user
command: |
mkdir /home/build \
&& useradd --home /home/build --shell=/bin/false build && usermod -L build \
&& chown build:build /home/build \
&& echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
&& echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
- run:
name: wget PKGBUILD
command: cd /home/build &&sudo -u build wget https://raw.githubusercontent.com/Gurkengewuerz/KShare/${CIRCLE_BRANCH}/packages/arch/${CIRCLE_BRANCH}-KShare/PKGBUILD
- run:
name: Where am I?
command: cd /home/build && pwd && ls -lah
- run:
name: Make arch package and install dependencies
command: cd /home/build && sudo -u build makepkg --syncdeps --noconfirm
- run:
name: Create Artifact Path
command: mkdir /kshare
- run:
name: Store Build
command: cp /home/build/*.pkg.tar.xz /kshare/
- store_artifacts:
path: /kshare/

71
.drone.yml Normal file
View File

@ -0,0 +1,71 @@
kind: pipeline
type: docker
name: build
platform:
os: linux
arch: amd64
steps:
- name: build-ubuntu
image: buildpack-deps:19.10
volumes:
- name: cache
path: /release
commands:
- apt-get update -yqq && apt-get install -yqq build-essential cmake \gcc g++ qt5-default qt5-qmake qtmultimedia5-dev libqt5svg5-dev libx11-dev libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libqt5x11extras5-dev libxcb-util-dev libxcb-cursor-dev libxcb1-dev
- qmake --version
- git submodule sync
- git submodule update --init
- mkdir build && pwd && ls -lahR .
- cd build && pwd && ls; qmake ..; make -j2; cd ..
- mkdir /release || true
- cp build/src/kshare /release/
- cd packages/; ./makedeb.sh ci; cp *.deb /release/; cd ..
- rm -rf build/
- name: build-arch
image: archlinux/base:latest
volumes:
- name: cache
path: /release
commands:
- pacman -Sy && pacman -S --noconfirm base-devel git sudo wget
- "echo 'Set disable_coredump false' >> /etc/sudo.conf"
- "mkdir /home/build && useradd --home /home/build --shell=/bin/false build && usermod -L build && chown build:build /home/build && echo 'build ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && echo 'root ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers"
- cd /home/build && sudo -u build wget https://raw.githubusercontent.com/Gurkengewuerz/KShare/${DRONE_BRANCH}/packages/arch/${DRONE_BRANCH}-KShare/PKGBUILD
- cd /home/build && pwd && ls -lah
- cd /home/build && sudo -u build makepkg --syncdeps --noconfirm
- mkdir /release || true
- cp /home/build/*.pkg.tar.xz /release/
- name: artifacts
image: alpine:latest
volumes:
- name: cache
path: /release
commands:
- cat /etc/issue
- apk add --no-cache openssh-client ca-certificates sshpass
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- export REMOTE_PATH=/data/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}/${DRONE_BRANCH}/$(date +'%Y%m%d-%H%M%S')-${DRONE_COMMIT_SHA:0:9}/
- export SSHPASS=$${REMOTE_PASSWORD}
- sshpass -e ssh $${REMOTE_USERNAME}@$${REMOTE_HOST} "mkdir -p $REMOTE_PATH"
- "sshpass -e scp -r /release/* $${REMOTE_USERNAME}@$${REMOTE_HOST}:$REMOTE_PATH"
environment:
REMOTE_USERNAME:
from_secret: remote_username
REMOTE_PASSWORD:
from_secret: remote_password
REMOTE_HOST:
from_secret: remote_host
when:
event:
- push
- tag
volumes:
- name: cache
temp: {}

View File

@ -4,8 +4,10 @@ Originally written by [ArsenArsen](https://github.com/ArsenArsen) and here enhan
| | Linux | Windows | | | Linux | Windows |
|--------|-------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |--------|-------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| master | [![CircleCI](https://circleci.com/gh/Gurkengewuerz/KShare/tree/master.svg?style=svg)](https://circleci.com/gh/Gurkengewuerz/KShare/tree/master) | [![Build status](https://ci.appveyor.com/api/projects/status/ujxmg1dk7f5p8ijh/branch/master?svg=true)](https://ci.appveyor.com/project/Gurkengewuerz/kshare/branch/master) | | master | [![Build Status](https://giteaci.mc8051.de/api/badges/Gurkengewuerz/KShare/status.svg?ref=refs/heads/master)](https://giteaci.mc8051.de/Gurkengewuerz/KShare) | [![Build status](https://ci.appveyor.com/api/projects/status/ujxmg1dk7f5p8ijh/branch/master?svg=true)](https://ci.appveyor.com/project/Gurkengewuerz/kshare/branch/master) |
| dev | [![CircleCI](https://circleci.com/gh/Gurkengewuerz/KShare/tree/dev.svg?style=svg)](https://circleci.com/gh/Gurkengewuerz/KShare/tree/dev) | [![Build status](https://ci.appveyor.com/api/projects/status/ujxmg1dk7f5p8ijh/branch/dev?svg=true)](https://ci.appveyor.com/project/Gurkengewuerz/kshare/branch/dev) | | dev | [![Build Status](https://giteaci.mc8051.de/api/badges/Gurkengewuerz/KShare/status.svg?ref=refs/heads/dev)](https://giteaci.mc8051.de/Gurkengewuerz/KShare) | [![Build status](https://ci.appveyor.com/api/projects/status/ujxmg1dk7f5p8ijh/branch/dev?svg=true)](https://ci.appveyor.com/project/Gurkengewuerz/kshare/branch/dev) |
[Artifacts](https://artifacts.mc8051.de/Gurkengewuerz/KShare)
## Screenshot ## Screenshot
Made with KShare itself, of course :) Made with KShare itself, of course :)

View File

@ -2,7 +2,8 @@
VERSION=$(grep setApplicationVersion ../src/main.cpp | head -n1 | cut -d \" -f2) VERSION=$(grep setApplicationVersion ../src/main.cpp | head -n1 | cut -d \" -f2)
echo "Make Debian package for v$VERSION" >&2 echo "Make Debian package for v$VERSION" >&2
cp deb work -r mkdir work/ || true
cp deb/* work -r
sed "s/%ver/$VERSION/g" deb/DEBIAN/control > work/DEBIAN/control sed "s/%ver/$VERSION/g" deb/DEBIAN/control > work/DEBIAN/control
mkdir -p work/usr/bin mkdir -p work/usr/bin
@ -29,8 +30,10 @@ else
fi fi
cd work cd work
echo "md5sum" >&2
md5sum usr/bin/kshare usr/share/applications/KShare.desktop > DEBIAN/md5sums md5sum usr/bin/kshare usr/share/applications/KShare.desktop > DEBIAN/md5sums
cd .. cd ..
echo "dpkg-deb" >&2
dpkg-deb -b work/ dpkg-deb -b work/
mv work.deb kshare_v${VERSION}.deb mv work.deb kshare_v${VERSION}.deb
rm -rf work rm -rf work