stages: - build - test ######################################################################################################################## ####START#### PROJECT LEVEL VARIABLES ####START#### ######################################################################################################################## variables: PACKAGE_DIR_LINUX: linux64 PACKAGE_DIR_WINDOWS: win64 PACKAGE_DIR_MACOS: macos AGAMA_ARTIFACTS_LINUX: ${PACKAGE_DIR_LINUX}.tar.gz AGAMA_ARTIFACTS_WINDOWS: ${PACKAGE_DIR_WINDOWS}.zip AGAMA_ARTIFACTS_MACOS: ${PACKAGE_DIR_MACOS}.tar.gz AGAMA_ARTIFACTS_LINUX_CHECKSUM: ${AGAMA_ARTIFACTS_LINUX}.md5 AGAMA_ARTIFACTS_WINDOWS_CHECKSUM: ${AGAMA_ARTIFACTS_WINDOWS}.md5 AGAMA_ARTIFACTS_MACOS_CHECKSUM: ${AGAMA_ARTIFACTS_MACOS}.md5 ARTIFACT_EXPIRATION: 1 week ######################################################################################################################## ####END#### PROJECT LEVEL VARIABLES ####END#### ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ####START#### Build Stage: compile and package komodo binaries for the Agama Wallet. ####START##### ######################################################################################################################## ######################################################################################################################## ####START#### LINUX ####START#### ######################################################################################################################## build:ubuntu: stage: build image: ca333/komodo-builders:komodo-ubuntu variables: DOCKER_DRIVER: overlay2 cache: key: ${CI_COMMIT_REF_SLUG} paths: - depends/ script: - zcutil/build.sh -j$(nproc) - mkdir ${PACKAGE_DIR_LINUX} - cp src/komodod src/komodo-cli zcutil/fetch-params.sh ${PACKAGE_DIR_LINUX} - chmod +x ${PACKAGE_DIR_LINUX}/komodod - chmod +x ${PACKAGE_DIR_LINUX}/komodo-cli - tar -czvf ${AGAMA_ARTIFACTS_LINUX} ${PACKAGE_DIR_LINUX} - md5sum ${AGAMA_ARTIFACTS_LINUX} > ${AGAMA_ARTIFACTS_LINUX_CHECKSUM} artifacts: paths: - ${AGAMA_ARTIFACTS_LINUX} - ${AGAMA_ARTIFACTS_LINUX_CHECKSUM} expire_in: 1 week ######################################################################################################################## ####END#### LINUX ####END#### ######################################################################################################################## ####START#### WINDOWS ####START#### ######################################################################################################################## build:windows: stage: build image: ca333/komodo-builders:komodo-windows variables: DOCKER_DRIVER: overlay2 cache: key: "${CI_JOB_NAME}${CI_COMMIT_REF_NAME}" paths: - depends/built script: - zcutil/build-win.sh -j$(nproc) - mkdir ${PACKAGE_DIR_WINDOWS} - cp src/komodod.exe src/komodo-cli.exe src/komodo-tx.exe zcutil/wget64.exe zcutil/fetch-params.bat ${PACKAGE_DIR_WINDOWS} - zip -r ${PACKAGE_DIR_WINDOWS}.zip ${PACKAGE_DIR_WINDOWS} - md5sum ${AGAMA_ARTIFACTS_WINDOWS} > ${AGAMA_ARTIFACTS_WINDOWS_CHECKSUM} artifacts: paths: - ${AGAMA_ARTIFACTS_WINDOWS} - ${AGAMA_ARTIFACTS_WINDOWS_CHECKSUM} expire_in: 1 week ######################################################################################################################## ####END#### WINDOWS ####END#### ######################################################################################################################## ####START#### MACOS ####START#### ######################################################################################################################## build:macos: stage: build tags: ["High Sierra"] cache: key: "${CI_JOB_NAME}${CI_COMMIT_REF_NAME}" paths: - depends/built allow_failure: true script: - zcutil/build-mac.sh -j$(sysctl -n hw.physicalcpu) - ./makeRelease.sh ${PACKAGE_DIR_MACOS} - tar -czvf ${AGAMA_ARTIFACTS_MACOS} ${PACKAGE_DIR_MACOS} - md5sum ${AGAMA_ARTIFACTS_MACOS} > ${AGAMA_ARTIFACTS_MACOS_CHECKSUM} artifacts: paths: - ${AGAMA_ARTIFACTS_MACOS} - ${AGAMA_ARTIFACTS_MACOS_CHECKSUM} expire_in: 1 week ######################################################################################################################## ####END#### MACOS ####END#### ######################################################################################################################## ######################################################################################################################## ####END#### Build Stage ####END#### ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ####START#### Test stage: Produce code quality and static application security test reports. ####START#### ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ####START#### Code Quality ####START#### ######################################################################################################################## code_quality: image: docker:stable variables: DOCKER_DRIVER: overlay2 allow_failure: true services: - 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 artifacts: paths: [gl-code-quality-report.json] ######################################################################################################################## ####END#### Code Quality ####END#### ######################################################################################################################## ######################################################################################################################## ####START#### Static Application Security Tests ####START#### ######################################################################################################################## sast: image: docker:stable variables: DOCKER_DRIVER: overlay2 allow_failure: true services: - 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 artifacts: paths: [gl-sast-report.json] ######################################################################################################################## ####END#### Static Application Security Tests ####END#### ######################################################################################################################## ######################################################################################################################## ######################################################################################################################## ####END#### Test stage ####END#### ######################################################################################################################## ########################################################################################################################