]> Git Repo - VerusCoin.git/blobdiff - .gitlab-ci.yml
Merge pull request #23 from Asherda/dev
[VerusCoin.git] / .gitlab-ci.yml
index bf7238ba105a4c75685815ef3abcb2f874d10180..f2f76b5e1c3b1519854405fa3e4f1d24a0985e82 100644 (file)
@@ -1,20 +1,16 @@
 stages:
-  - build
-  - test
-  - package
-  - deploy
+- build
+- test
+- deploy
 
 
 variables:
-  VERSION: 0.3.12
-  AGAMA_ARTIFACTS_LINUX: linux64.tar.gz
-  AGAMA_ARTIFACTS_MACOS: osx.tar.gz
-  AGAMA_ARTIFACTS_WINDOWS: win64.zip
-  VERUS_CLI_DEBIAN: verus-cli-v${VERSION}-beta-amd64.deb
-  VERUS_CLI_LINUX_PORTABLE: verus-cli-linux-v$VERSION-beta.tar.gz
-  VERUS_CLI_WINDOWS_PORTABLE: verus-cli-windows-v$VERSION-beta.zip
-  VERUS_CLI_MACOS_PORTABLE: verus-cli-mac-v$VERSION-beta.tar.gz
-  EASYDEX_GUI_ARTIFACT: build.tar.gz
+  VERSION: 0.3.14
+  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-MacOS-v${VERSION}-beta.tar.gz"
+  POST_COMMENT: "Branch and Commit: ${CI_COMMIT_REF_NAME} ${CI_COMMIT_SHA} $'\n'MD5: "
+
 
 build:linux:
   image: asherd/veruscoin-cross-compiler:linux
@@ -22,17 +18,28 @@ build:linux:
     DOCKER_DRIVER: overlay2
   stage: build
   before_script: # Setup Cache
-    - rm -rf /root/.ccache || true
-    - mv .ccache /root/ || true
+  - rm -rf /root/.ccache || true
+  - mv .ccache /root/ || true
   script:
-    - zcutil/build.sh -j4
-    - ./makeReleaseLinux.sh
-    - dos2unix kmd/linux/verus-cli/README.txt
-    - tar -C kmd/linux/ -czvf $VERUS_CLI_LINUX_PORTABLE verus-cli ./
-    - mv kmd/linux/verus-cli kmd/linux/linux64
-    - tar -C kmd/linux/ -czvf $AGAMA_ARTIFACTS_LINUX linux64 ./
+  - zcutil/build.sh -j$(nproc)
+  - cp src/komodod src/komodo-cli kmd/linux/verus-cli
+  - 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
+  - cd kmd/linux/
+  - tar -czvf $VERUS_CLI_LINUX verus-cli
+  - mv $VERUS_CLI_LINUX ../..
+  - export VERUS_CLI_LINUX_MD5=$(md5sum $VERUS_CLI_LINUX | cut -d " " -f 1)
+  - curl -F file=@"$VERUS_CLI_LINUX"
+      -F channels="$CLI_POST_CHANNEL"
+      -F initial_comment="${POST_COMMENT}$VERUS_CLI_LINUX_MD5"
+      -H "${SLACK_BOT_AUTH}"
+      "https://slack.com/api/files.upload"
   after_script:
-    - mv /root/.ccache ./ || true
+  - mv /root/.ccache ./ || true
   cache:
     key: ${CI_JOB_NAME}
     paths:
@@ -40,8 +47,7 @@ build:linux:
     - .ccache
   artifacts:
     paths:
-    - $VERUS_CLI_LINUX_PORTABLE
-    - $AGAMA_ARTIFACTS_LINUX
+    - $VERUS_CLI_LINUX
     expire_in: 1 week
 
 
@@ -57,24 +63,25 @@ 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 -j$(nproc)
+  - 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 ../..
+  - export VERUS_CLI_WINDOWS_MD5=$(md5sum $VERUS_CLI_WINDOWS | cut -d " " -f 1)
+  - curl -F file=@"$VERUS_CLI_WINDOWS"
+      -F channels="$CLI_POST_CHANNEL"
+      -F initial_comment="${POST_COMMENT}$VERUS_CLI_WINDOWS_MD5"
+      -H "${SLACK_BOT_AUTH}"
+      "https://slack.com/api/files.upload"
   artifacts:
-    paths:
-    - $VERUS_CLI_WINDOWS_PORTABLE
-    - $AGAMA_ARTIFACTS_WINDOWS
+    paths: [$VERUS_CLI_WINDOWS]
     expire_in: 1 week
 
 
@@ -86,16 +93,19 @@ build:mac:
     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 -j$(sysctl -n hw.physicalcpu) | xcpretty
+  - ./makeReleaseMac.sh
+  - dos2unix kmd/mac/verus-cli/README.txt
+  - tar -C kmd/mac/ -czvf $VERUS_CLI_MACOS verus-cli ./
+  - export VERUS_CLI_MACOS_MD5=$(md5sum $VERUS_CLI_MACOS | cut -d " " -f 1)
+  - curl -F file=@"$VERUS_CLI_MACOS"
+      -F channels="$CLI_POST_CHANNEL"
+      -F initial_comment="${POST_COMMENT}$VERUS_CLI_MACOS_MD5"
+      -H "${SLACK_BOT_AUTH}"
+      "https://slack.com/api/files.upload"
   artifacts:
-    paths:
-    - $VERUS_CLI_MACOS_PORTABLE
-    - $AGAMA_ARTIFACTS_MACOS
+    paths: [$VERUS_CLI_MACOS]
     expire_in: 1 week
 
 
@@ -105,14 +115,14 @@ build:mac:
     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]
 
@@ -123,17 +133,16 @@ build:mac:
     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:
@@ -142,12 +151,12 @@ build:mac:
     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]
 
@@ -158,16 +167,23 @@ build:mac:
     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
+  - rm -rf /root/.komodo || true
+  - mv .komodo /root/ || true
   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
+  after_script:
+  - mv /root/.komodo ./ || true
+  cache:
+    key: ${CI_JOB_NAME}
+    paths: [.komodo]
   artifacts:
     paths: [log.txt]
     expire_in: 1 week
   dependencies:
-    - build:linux
+  - build:linux
 
 
 .ubuntu:bionic:
@@ -176,81 +192,65 @@ build:mac:
     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
+  - rm -rf /root/.komodo || true
+  - mv .komodo /root/ || true
   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
+  after_script:
+  - mv /root/.komodo ./ || true
+  cache:
+    key: ${CI_JOB_NAME}
+    paths: [.komodo]
   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/VerusCoin-v$VERSION-beta-windows-installer.exe .
-  artifacts:
-    paths: [VerusCoin-v$VERSION-beta-windows-installer.exe]
+  - build:windows
 
 
 deploy:
@@ -259,18 +259,23 @@ deploy:
   variables:
     DOCKER_DRIVER: overlay2
   dependencies:
-    - build:linux
-    - build:windows
-    - build:mac
+  - 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 VerusCoin-v$VERSION-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/
-
-
+  - mkdir Windows && mkdir Linux && mkdir MacOS &&
+    mv $VERUS_CLI_WINDOWS Windows &&
+    mv $VERUS_CLI_LINUX Linux &&
+    mv $VERUS_CLI_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"
+      -F ref=dev
+      -F variables\[UPSTREAM_CLI_BRANCH\]="$CI_COMMIT_REF_NAME"
+      -F variables\[VERUS_CLI_LINUX\]="$VERUS_CLI_LINUX"
+      -F variables\[VERUS_CLI_WINDOWS\]="$VERUS_CLI_WINDOWS"
+      -F variables\[VERUS_CLI_MACOS\]="$VERUS_CLI_MACOS"
+      "https://gitlab.com/api/v4/projects/8018592/trigger/pipeline"
This page took 0.032928 seconds and 4 git commands to generate.