From 5f5789a0eddea7128c3b0da63e95301186c84856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sat, 29 Jul 2017 13:00:16 +0200 Subject: Add a deploy job --- .gitlab-ci.yml | 68 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 55 insertions(+), 13 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 910162d..3a45475 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,12 +3,11 @@ stages: - test # Use the build artifacts to run the tests - packaging # Publish some packages (rpm, deb…) - external # Interact with some external service (codecov, coverity…) + - deploy before_script: - uname -a - whoami - - mkdir -p build/ - - cd build/ variables: COMPILER: "g++" @@ -29,6 +28,8 @@ variables: - docker script: - "echo Running cmake with the following parameters: -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${UDNS} ${SYSTEMD} ${LIBIDN} ${SQLITE3}" + - mkdir build/ + - cd build/ - cmake .. -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${UDNS} ${SYSTEMD} ${LIBIDN} ${SQLITE3} - make everything -j$(nproc || echo 1) - make coverage_check -j$(nproc || echo 1) @@ -39,17 +40,17 @@ variables: .template:fedora_build: &fedora_build <<: *basic_build - image: docker.louiz.org/biboumi-test-fedora:latest + image: docker.louiz.org/louiz/biboumi/test-fedora:latest .template:debian_build: &debian_build <<: *basic_build - image: docker.louiz.org/biboumi-test-debian:latest + image: docker.louiz.org/louiz/biboumi/test-debian:latest .template:alpine_build: &alpine_build variables: SYSTEMD: "-DWITHOUT_SYSTEMD=1" <<: *basic_build - image: docker.louiz.org/biboumi-test-alpine:latest + image: docker.louiz.org/louiz/biboumi/test-alpine:latest build:fedora: <<: *fedora_build @@ -109,6 +110,7 @@ build:7: tags: - docker script: + - cd build/ - make coverage_e2e -j$(nproc || echo 1) - make coverage artifacts: @@ -122,29 +124,30 @@ build:7: name: $CI_PROJECT_NAME-test-$CI_JOB_ID test:debian: - image: docker.louiz.org/biboumi-test-debian:latest + image: docker.louiz.org/louiz/biboumi/test-debian:latest <<: *basic_test dependencies: - build:debian test:fedora: - image: docker.louiz.org/biboumi-test-fedora:latest + image: docker.louiz.org/louiz/biboumi/test-fedora:latest <<: *basic_test dependencies: - build:fedora test:without_udns: - image: docker.louiz.org/biboumi-test-fedora:latest + image: docker.louiz.org/louiz/biboumi/test-fedora:latest <<: *basic_test dependencies: - build:7 test:alpine: - image: docker.louiz.org/biboumi-test-alpine:latest + image: docker.louiz.org/louiz/biboumi/test-alpine:latest stage: test tags: - docker script: + - cd build/ - make e2e dependencies: - build:alpine @@ -158,6 +161,8 @@ test:freebsd: SYSTEMD: "-DWITHOUT_SYSTEMD=1" stage: test script: + - mkdir build/ + - cd build/ - cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${UDNS} ${SYSTEMD} ${LIBIDN} ${SQLITE3} - make check - make e2e @@ -170,7 +175,7 @@ test:freebsd: stage: external tags: - docker - image: docker.louiz.org/biboumi-test-fedora:latest + image: docker.louiz.org/louiz/biboumi/test-fedora:latest .template:codecov_unittests: &codecov_unittests <<: *codecov @@ -238,25 +243,32 @@ coverity: - branches@louiz/biboumi tags: - docker - image: docker.louiz.org/biboumi-test-fedora:latest + image: docker.louiz.org/louiz/biboumi/test-fedora:latest allow_failure: true when: manual script: - export PATH=$PATH:~/coverity/bin + - mkdir build/ + - cd build/ - cmake .. -DWITHOUT_SYSTEMD=1 - cov-build --dir cov-int make everything -j$(nproc || echo 1) - tar czvf biboumi_coverity.tgz cov-int - curl --form token=$COVERITY_TOKEN --form email=louiz@louiz.org --form file=@biboumi_coverity.tgz --form version="$(git rev-parse --short HEAD)" --form description="Automatic submission by gitlab-ci" https://scan.coverity.com/builds?project=louiz%2Fbiboumi dependencies: [] +# +## Packaging jobs +# + packaging:rpm: stage: packaging only: - master@louiz/biboumi tags: - docker - image: docker.louiz.org/biboumi-test-fedora:latest + image: docker.louiz.org/louiz/biboumi/test-fedora:latest script: + - cd build/ - make rpm -j$(nproc || echo 1) artifacts: paths: @@ -297,7 +309,7 @@ packaging:archlinux: - master@louiz/biboumi tags: - docker - image: docker.louiz.org/biboumi-test-archlinux:latest + image: docker.louiz.org/louiz/biboumi/test-archlinux:latest before_script: [] script: - sudo pacman -Syuu --noconfirm @@ -306,3 +318,33 @@ packaging:archlinux: - makepkg -si --noconfirm - test -e /usr/bin/biboumi dependencies: [] + +# +## Deploy jobs +# + +deploy:docker: + stage: deploy + tags: + - docker-in-docker + only: + - master@louiz/biboumi + variables: + DOCKER_HOST: tcp://docker.louiz.org:2376 + DOCKER_TLS_VERIFY: 1 + SERVICE_NAME: biboumi + BIBOUMI_HOSTNAME: test.biboumi.louiz.org + script: + - mkdir -p ~/.docker + - echo "$TLSCACERT" > ~/.docker/ca.pem + - echo "$TLSCERT" > ~/.docker/cert.pem + - echo "$TLSKEY" > ~/.docker/key.pem + - docker version + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN docker.louiz.org + - docker build -t docker.louiz.org/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME docker/biboumi/alpine + - docker push docker.louiz.org/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME + - docker service create --with-registry-auth --detach=false --name $CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME -e BIBOUMI_PASSWORD=password -e BIBOUMI_XMPP_SERVER_IP=prosody -e BIBOUMI_HOSTNAME=$BIBOUMI_HOSTNAME --network xmpp docker.louiz.org/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME || docker service update $CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME + environment: + name: master + url: https://biboumi.louiz.org + dependencies: [] -- cgit v1.2.3 From 488c36f22e52b1b3f355af300c75cce201e3bc49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 1 Aug 2017 22:00:34 +0200 Subject: Docker: run the openssl commands as the tester user, for permission issues --- docker/biboumi-test/debian/Dockerfile | 3 ++- docker/biboumi-test/fedora/Dockerfile | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/biboumi-test/debian/Dockerfile b/docker/biboumi-test/debian/Dockerfile index 232a585..b11df96 100644 --- a/docker/biboumi-test/debian/Dockerfile +++ b/docker/biboumi-test/debian/Dockerfile @@ -54,7 +54,8 @@ RUN git clone https://github.com/charybdis-ircd/charybdis.git && cd charybdis && RUN chown -R tester:tester /home/tester/ircd +USER tester + RUN yes "" | openssl req -nodes -x509 -newkey rsa:4096 -keyout /home/tester/ircd/etc/ssl.key -out /home/tester/ircd/etc/ssl.pem WORKDIR /home/tester -USER tester diff --git a/docker/biboumi-test/fedora/Dockerfile b/docker/biboumi-test/fedora/Dockerfile index 384fd51..8ff418c 100644 --- a/docker/biboumi-test/fedora/Dockerfile +++ b/docker/biboumi-test/fedora/Dockerfile @@ -54,9 +54,10 @@ RUN git clone https://github.com/charybdis-ircd/charybdis.git && cd charybdis && RUN chown -R tester:tester /home/tester/ircd +USER tester + RUN yes "" | openssl req -nodes -x509 -newkey rsa:4096 -keyout /home/tester/ircd/etc/ssl.key -out /home/tester/ircd/etc/ssl.pem COPY coverity /home/tester/coverity WORKDIR /home/tester -USER tester -- cgit v1.2.3 From 765e07d61f051bb001536f38124c3bfa353f70de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 1 Aug 2017 22:01:23 +0200 Subject: Fix the conf in the alpine docker image --- docker/biboumi/alpine/biboumi.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/biboumi/alpine/biboumi.cfg b/docker/biboumi/alpine/biboumi.cfg index 98c5a9f..841b5e5 100644 --- a/docker/biboumi/alpine/biboumi.cfg +++ b/docker/biboumi/alpine/biboumi.cfg @@ -1,6 +1,6 @@ -xmpp_server_ip=127.0.0.1 +xmpp_server_ip=xmpp port=5347 db_name=/var/lib/biboumi/biboumi.sqlite -hostname=xmpp +hostname= password= admin= -- cgit v1.2.3 From 369cf51968d9401cc52cd871007ca77ffc50f4ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 1 Aug 2017 22:01:44 +0200 Subject: Debian now includes libasan3 instead of 1 --- docker/biboumi-test/debian/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/biboumi-test/debian/Dockerfile b/docker/biboumi-test/debian/Dockerfile index b11df96..3a1c1a7 100644 --- a/docker/biboumi-test/debian/Dockerfile +++ b/docker/biboumi-test/debian/Dockerfile @@ -23,7 +23,7 @@ RUN apt install -y g++\ uuid-dev\ libsystemd-dev\ pandoc\ - libasan1\ + libasan3\ libubsan0\ git\ python3-lxml\ -- cgit v1.2.3 From dc8f07a566a0bef9af00d16f881a0f91949a9688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 1 Aug 2017 22:04:40 +0200 Subject: ci: update the debian packaging image name --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3a45475..fa76c00 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -286,7 +286,7 @@ packaging:deb: - debian@louiz/biboumi tags: - docker - image: docker.louiz.org/packaging-debian:latest + image: docker.louiz.org/louiz/biboumi/packaging-debian:latest before_script: [] script: - git checkout debian -- cgit v1.2.3