From 9df10cc4c8ab3b065425e5f72c05e9ec60724066 Mon Sep 17 00:00:00 2001 From: Gurkengewuerz Date: Mon, 1 Jun 2020 19:32:37 +0200 Subject: [PATCH 1/4] switched from circleci to selfhosted droneci --- .circleci/config.yml | 109 ------------------------------------------- .drone.yml | 71 ++++++++++++++++++++++++++++ README.md | 6 ++- packages/makedeb.sh | 2 + 4 files changed, 77 insertions(+), 111 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 .drone.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 33da868..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -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/ diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..36cf6fb --- /dev/null +++ b/.drone.yml @@ -0,0 +1,71 @@ +kind: pipeline +type: docker +name: build + +platform: + os: linux + arch: amd64 + +steps: + - 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_COMMIT_BRANCH}/packages/arch/${DRONE_COMMIT_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: 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: 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_REPO_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: {} \ No newline at end of file diff --git a/README.md b/README.md index 003418e..5a713dd 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,10 @@ Originally written by [ArsenArsen](https://github.com/ArsenArsen) and here enhan | | 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) | -| 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) | +| 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 | [![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 Made with KShare itself, of course :) diff --git a/packages/makedeb.sh b/packages/makedeb.sh index d47ff1f..551d346 100755 --- a/packages/makedeb.sh +++ b/packages/makedeb.sh @@ -29,8 +29,10 @@ else fi cd work +echo "md5sum" >&2 md5sum usr/bin/kshare usr/share/applications/KShare.desktop > DEBIAN/md5sums cd .. +echo "dpkg-deb" >&2 dpkg-deb -b work/ mv work.deb kshare_v${VERSION}.deb rm -rf work From e1a9ae803d4d34c44c420bfc40645029e6d5ddeb Mon Sep 17 00:00:00 2001 From: Gurkengewuerz Date: Mon, 1 Jun 2020 19:46:48 +0200 Subject: [PATCH 2/4] updated ci --- packages/makedeb.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/makedeb.sh b/packages/makedeb.sh index 551d346..a7e8f58 100755 --- a/packages/makedeb.sh +++ b/packages/makedeb.sh @@ -1,8 +1,9 @@ -#!/usr/bin/env bash +#!/bin/bash VERSION=$(grep setApplicationVersion ../src/main.cpp | head -n1 | cut -d \" -f2) 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 mkdir -p work/usr/bin From 878c297f3ff6bbc7a5fd9a51e6bf07efc65e6803 Mon Sep 17 00:00:00 2001 From: Gurkengewuerz Date: Mon, 1 Jun 2020 20:45:01 +0200 Subject: [PATCH 3/4] updated ci... such wow... --- .drone.yml | 34 +++++++++++++++++----------------- packages/makedeb.sh | 2 +- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.drone.yml b/.drone.yml index 36cf6fb..2d0f04c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,21 +7,6 @@ platform: arch: amd64 steps: - - 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_COMMIT_BRANCH}/packages/arch/${DRONE_COMMIT_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: build-ubuntu image: buildpack-deps:19.10 volumes: @@ -36,9 +21,24 @@ steps: - 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.. + - 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/dev/packages/arch/dev-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: @@ -68,4 +68,4 @@ steps: volumes: - name: cache - temp: {} \ No newline at end of file + temp: {} diff --git a/packages/makedeb.sh b/packages/makedeb.sh index a7e8f58..0b400d5 100755 --- a/packages/makedeb.sh +++ b/packages/makedeb.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash VERSION=$(grep setApplicationVersion ../src/main.cpp | head -n1 | cut -d \" -f2) echo "Make Debian package for v$VERSION" >&2 From 183abda31ec3fb07f9c876387b8fb1069383986e Mon Sep 17 00:00:00 2001 From: Gurkengewuerz Date: Mon, 1 Jun 2020 22:34:26 +0200 Subject: [PATCH 4/4] fixed branch --- .drone.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 2d0f04c..21a57b0 100644 --- a/.drone.yml +++ b/.drone.yml @@ -33,7 +33,7 @@ steps: - 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/dev/packages/arch/dev-KShare/PKGBUILD + - 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 @@ -50,7 +50,7 @@ steps: - 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_REPO_BRANCH}/$(date +'%Y%m%d-%H%M%S')-${DRONE_COMMIT_SHA:0:9}/ + - 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"