From 46d858beca2a257ba4dd461d51838e9433429023 Mon Sep 17 00:00:00 2001 From: Asher Dawes Date: Mon, 20 Aug 2018 12:23:05 -0700 Subject: [PATCH] Updating CI config --- .gitlab-ci.yml | 198 ++++++++++++++++++++++--------------------------- 1 file changed, 87 insertions(+), 111 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e34253af5..922d9d411 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,7 @@ stages: - - build - - test - - package - - deploy - +- build +- test +- deploy variables: VERSION: 0.3.12 @@ -13,9 +11,9 @@ variables: VERUS_CLI_LINUX: verus-cli-linux-v$VERSION-beta.tar.gz VERUS_CLI_WINDOWS: verus-cli-windows-v$VERSION-beta.zip VERUS_CLI_MACOS: verus-cli-mac-v$VERSION-beta.tar.gz - WINDOWS_INSTALLER: VerusCoin-v$VERSION-beta-windows-installer.exe -.build:linux: + +build:linux: image: asherd/veruscoin-cross-compiler:linux variables: DOCKER_DRIVER: overlay2 @@ -26,13 +24,13 @@ variables: script: - zcutil/build.sh -j4 - cp src/komodod src/komodo-cli kmd/linux/verus-cli - - chmod +x kmd/linux/verus-cli/komodo - chmod +x kmd/linux/verus-cli/komodod + - chmod +x kmd/linux/verus-cli/komodo-cli - chmod +x kmd/linux/verus-cli/verus - chmod +x kmd/linux/verus-cli/verusd - chmod +x kmd/linux/verus-cli/fetch-params - dos2unix kmd/linux/verus-cli/README.txt - - tar -C kmd/linux/ -czvf $VERUS_CLI_LINUX_PORTABLE verus-cli ./ + - tar -C kmd/linux/ -czvf $VERUS_CLI_LINUX verus-cli ./ - mv kmd/linux/verus-cli kmd/linux/linux64 - tar -C kmd/linux/ -czvf $AGAMA_ARTIFACTS_LINUX linux64 ./ after_script: @@ -44,7 +42,7 @@ variables: - .ccache artifacts: paths: - - $VERUS_CLI_LINUX_PORTABLE + - $VERUS_CLI_LINUX - $AGAMA_ARTIFACTS_LINUX expire_in: 1 week @@ -61,28 +59,28 @@ build:windows: - .ccache - .cargo before_script: - - mkdir .ccache || echo ccache exists - - ln -s $PWD/.ccache /root/.ccache - - mkdir .zcash-params || echo zcash-params exists - - mkdir .cargo || echo .cargo exists - - ln -s $PWD/.cargo /root/.cargo + - mkdir .ccache || echo ccache exists + - ln -s $PWD/.ccache /root/.ccache + - mkdir .zcash-params || echo zcash-params exists + - mkdir .cargo || echo .cargo exists + - ln -s $PWD/.cargo /root/.cargo script: - - zcutil/build-win.sh - - ./makeReleaseWindows.sh - - cd kmd/windows/ - - zip -r $VERUS_CLI_WINDOWS_PORTABLE verus-cli - - mv $VERUS_CLI_WINDOWS_PORTABLE ../.. - - mv verus-cli win64 - - zip -r $AGAMA_ARTIFACTS_WINDOWS win64 - - mv $AGAMA_ARTIFACTS_WINDOWS ../.. + - zcutil/build-win.sh + - cp src/komodod.exe src/komodo-cli.exe src/komodo-tx.exe kmd/windows/verus-cli + - cd kmd/windows/ + - zip -r $VERUS_CLI_WINDOWS verus-cli + - mv $VERUS_CLI_WINDOWS ../.. + - mv verus-cli win64 + - zip -r $AGAMA_ARTIFACTS_WINDOWS win64 + - mv $AGAMA_ARTIFACTS_WINDOWS ../.. artifacts: paths: - - $VERUS_CLI_WINDOWS_PORTABLE + - $VERUS_CLI_WINDOWS - $AGAMA_ARTIFACTS_WINDOWS expire_in: 1 week -.build:mac: +build:mac: stage: build tags: ["High Sierra"] cache: @@ -90,15 +88,16 @@ build:windows: paths: - depends/built script: - - zcutil/build-mac.sh | xcpretty - - ./makeReleaseMac.sh - - dos2unix kmd/mac/verus-cli/README.txt - - tar -C kmd/mac/ -czvf $VERUS_CLI_MACOS_PORTABLE verus-cli ./ - - mv kmd/mac/verus-cli kmd/mac/osx - - tar -C kmd/mac/ -czvf $AGAMA_ARTIFACTS_MACOS osx ./ + - brew bundle + - zcutil/build-mac.sh | xcpretty + - ./makeReleaseMac.sh + - dos2unix kmd/mac/verus-cli/README.txt + - tar -C kmd/mac/ -czvf $VERUS_CLI_MACOS verus-cli ./ + - mv kmd/mac/verus-cli kmd/mac/osx + - tar -C kmd/mac/ -czvf $AGAMA_ARTIFACTS_MACOS osx ./ artifacts: paths: - - $VERUS_CLI_MACOS_PORTABLE + - $VERUS_CLI_MACOS - $AGAMA_ARTIFACTS_MACOS expire_in: 1 week @@ -109,14 +108,14 @@ build:windows: DOCKER_DRIVER: overlay2 allow_failure: true services: - - docker:stable-dind + - docker:stable-dind script: - - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') - - docker run - --env SOURCE_CODE="$PWD" - --volume "$PWD":/code - --volume /var/run/docker.sock:/var/run/docker.sock - "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code + - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') + - docker run + --env SOURCE_CODE="$PWD" + --volume "$PWD":/code + --volume /var/run/docker.sock:/var/run/docker.sock + "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code artifacts: paths: [gl-code-quality-report.json] @@ -127,17 +126,17 @@ build:windows: DOCKER_DRIVER: overlay2 allow_failure: true services: - - docker:stable-dind + - docker:stable-dind script: - - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') - - docker run - --env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}" - --volume "$PWD:/code" - --volume /var/run/docker.sock:/var/run/docker.sock - "registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code + - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') + - docker run + --env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}" + --volume "$PWD:/code" + --volume /var/run/docker.sock:/var/run/docker.sock + "registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code artifacts: paths: [gl-sast-report.json] - + .license_management: @@ -146,12 +145,12 @@ build:windows: DOCKER_DRIVER: overlay2 allow_failure: true services: - - docker:stable-dind + - docker:stable-dind script: - - export LICENSE_MANAGEMENT_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') - - docker run - --volume "$PWD:/code" - "registry.gitlab.com/gitlab-org/security-products/license-management:$LICENSE_MANAGEMENT_VERSION" analyze /code + - export LICENSE_MANAGEMENT_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') + - docker run + --volume "$PWD:/code" + "registry.gitlab.com/gitlab-org/security-products/license-management:$LICENSE_MANAGEMENT_VERSION" analyze /code artifacts: paths: [gl-license-management-report.json] @@ -162,16 +161,16 @@ build:windows: DOCKER_DRIVER: overlay2 stage: test before_script: - - apt update && apt install -y wget g++-multilib libcurl3 python + - apt update && apt install -y wget g++-multilib libcurl3 python script: - - tar -xzvf $VERUS_CLI_LINUX_PORTABLE - - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli - - python qa/verus-cli-tests/verus-cli-tester.py + - tar -xzvf $VERUS_CLI_LINUX + - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli + - python qa/verus-cli-tests/verus-cli-tester.py artifacts: paths: [log.txt] expire_in: 1 week dependencies: - - build:linux + - build:linux .ubuntu:bionic: @@ -180,81 +179,58 @@ build:windows: DOCKER_DRIVER: overlay2 stage: test before_script: - - apt update && apt install -y wget g++-multilib libcurl3 python + - apt update && apt install -y wget g++-multilib libcurl3 python script: - - tar -xzvf $VERUS_CLI_LINUX_PORTABLE - - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli - - python qa/verus-cli-tests/verus-cli-tester.py + - tar -xzvf $VERUS_CLI_LINUX + - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli + - python qa/verus-cli-tests/verus-cli-tester.py artifacts: paths: [log.txt] expire_in: 1 week dependencies: - - build:linux + - build:linux .osx:sierra: # fetch-params.sh needs to be fixed for MacOS stage: test tags: ["Sierra"] script: - - tar -xzvf $VERUS_CLI_MACOS_PORTABLE - - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli - - python qa/verus-cli-tests/verus-cli-tester.py + - tar -xzvf $VERUS_CLI_MACOS + - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli + - python qa/verus-cli-tests/verus-cli-tester.py artifacts: paths: [log.txt] expire_in: 1 week dependencies: - - build:mac + - build:mac .osx:high-sierra: # fetch-params.sh needs to be fixed for MacOS stage: test tags: ["High Sierra"] script: - - tar -xzvf $VERUS_CLI_MACOS_PORTABLE - - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli - - python qa/verus-cli-tests/verus-cli-tester.py + - tar -xzvf $VERUS_CLI_MACOS + - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli + - python qa/verus-cli-tests/verus-cli-tester.py artifacts: paths: [log.txt] expire_in: 1 week dependencies: - - build:mac + - build:mac .windows:10: stage: test tags: ["Windows 10"] script: - - PowerShell Expand-Archive -Path %VERUS_CLI_WINDOWS_PORTABLE% -DestinationPath %CI_PROJECT_DIR% - - set PATH=%PATH%;%CI_PROJECT_DIR%\verus-cli - - qa\verus-cli-tests\verus-cli-tester.py + - PowerShell Expand-Archive -Path %VERUS_CLI_WINDOWS% -DestinationPath %CI_PROJECT_DIR% + - set PATH=%PATH%;%CI_PROJECT_DIR%\verus-cli + - qa\verus-cli-tests\verus-cli-tester.py artifacts: paths: [log.txt] expire_in: 1 week dependencies: - - build:windows - -package: - stage: package - image: asherd/agama-builder - variables: - DOCKER_DRIVER: overlay2 - dependencies: - - build:windows - before_script: - - unzip $VERUS_CLI_WINDOWS_PORTABLE - - echo "$AUTH_KEY" > AUTH_KEY.json - - gcloud auth activate-service-account --key-file AUTH_KEY.json - - rm AUTH_KEY.json - - gsutil cp $STAGING/Agama/installer-prototype/Windows/Agama-win32-x64-v${VERSION}-beta.zip . - - unzip Agama-win32-x64-v${VERSION}-beta.zip - - git clone https://github.com/VerusCoin/Media-Assets --single-branch -b master - - mkdir -p assets/imgs/ - - cp Media-Assets/Logos/PNG/* assets/imgs/ - script: - - builder build zcutil/VerusCoin.xml windows --setvars project.version=$VERSION-beta - - mv builds/$WINDOWS_INSTALLER . - artifacts: - paths: [$WINDOWS_INSTALLER] + - build:windows deploy: @@ -263,19 +239,19 @@ deploy: variables: DOCKER_DRIVER: overlay2 dependencies: - #- build:linux - #- build:windows - #- build:mac - - package + - build:linux + - build:windows + - build:mac script: - #- mkdir -p $CI_COMMIT_REF_NAME/Windows - #- mkdir -p $CI_COMMIT_REF_NAME/Linux - #- mkdir -p $CI_COMMIT_REF_NAME/MacOS - #- mv $VERUS_CLI_WINDOWS_PORTABLE $AGAMA_ARTIFACTS_WINDOWS $WINDOWS_INSTALLER $CI_COMMIT_REF_NAME/Windows - #- mv $VERUS_CLI_LINUX_PORTABLE $AGAMA_ARTIFACTS_LINUX $CI_COMMIT_REF_NAME/Linux - #- mv $VERUS_CLI_MACOS_PORTABLE $AGAMA_ARTIFACTS_MACOS $CI_COMMIT_REF_NAME/MacOS - - echo "$AUTH_KEY" > AUTH_KEY.json - - gcloud auth activate-service-account --key-file AUTH_KEY.json - #- gsutil rsync -r $CI_COMMIT_REF_NAME/ $STAGING/VerusCoin/$CI_COMMIT_REF_NAME/ - - gsutil cp $WINDOWS_INSTALLER $CI_COMMIT_REF_NAME/ $STAGING/VerusCoin/$CI_COMMIT_REF_NAME/Windows/ + - mkdir Windows + - mkdir Linux + - mkdir MacOS + - mv $VERUS_CLI_WINDOWS $AGAMA_ARTIFACTS_WINDOWS Windows + - mv $VERUS_CLI_LINUX $AGAMA_ARTIFACTS_LINUX Linux + - mv $VERUS_CLI_MACOS $AGAMA_ARTIFACTS_MACOS MacOS + - echo "$AUTH_KEY" > AUTH_KEY.json + - gcloud auth activate-service-account --key-file AUTH_KEY.json + - gsutil cp -r Windows Linux MacOS $STAGING/VerusCoin/$CI_COMMIT_REF_NAME/ + - curl -X POST -F token=$CI_JOB_TOKEN --form ref=$CI_COMMIT_REF_NAME https://gitlab.com/api/v4/projects/8018638/trigger/pipeline +