1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- ###################### Begin Defaults
- stages:
- - all
- variables:
- GIT_DEPTH: 0
- GIT_STRATEGY: clone
- default:
- before_script:
- - |
- # before_script
- echo "Starting before_script actions."
- echo "Finished before_script actions."
- after_script:
- - |
- # after_script
- echo "Starting after_script actions."
- echo "Finished after_script actions."
- ###################### End Defaults
- ###################### Begin Common Blocks
- .scriptCommon: &scriptCommon |
- # scriptCommon
- echo "Project Name : $CI_PROJECT_TITLE"
- echo "Project Git Commit : $CI_COMMIT_SHA"
- echo "Project Git Branch : $CI_COMMIT_BRANCH"
- echo "GitLab CI User Details : $GITLAB_USER_LOGIN - $GITLAB_USER_NAME ($GITLAB_USER_ID) $GITLAB_USER_EMAIL"
- echo "GitLab CI Job Name : $CI_JOB_NAME"
- echo "GitLab CI Job ID : $CI_JOB_ID"
- echo "GitLab CI Job Stage : $CI_JOB_STAGE"
- echo "GitLab CI Runner Details : $CI_RUNNER_VERSION ($CI_RUNNER_REVISION)"
- .scriptGoVersion: &scriptGoVersion |
- # scriptGoVersion
- echo "Go Compiler Version:"
- go version
- echo "Go Default Environment:"
- go env
- echo "Go Current Environment:"
- go tool dist env -p
- .scriptGitPre: &scriptGitPre |
- # scriptGitPre
- git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
- git --no-pager fetch --tags
- git --no-pager fetch --all --recurse-submodules=yes
- git --no-pager update-index -q --refresh --really-refresh
- git --no-pager for-each-ref --count=1
- git --no-pager reset --hard
- git --no-pager diff --full-index --exit-code
- ###################### End Common Blocks
- ###################### Begin Linux
- linux job:
- tags:
- - Linux-x86_64
- stage: all
- script:
- - *scriptCommon
- - |
- # upgrade system, install development tools
- - yum install dnf -y
- - yum clean all -y
- - dnf upgrade --refresh -y
- - dnf groupinstall "Development Tools" -y
- - dnf install epel-release centos-release-scl centos-release-scl-rh -y
- - dnf install upx ccache pv valgrind graphviz clang zsh scl-utils devtoolset-9 -y
- - dnf groupupdate base -y
- - source /opt/rh/devtoolset-9/enable
- - dnf clean all -y
- - |
- # gimme go stable (latest release)
- bash --norc --noprofile --posix -o pipefail -c "set -e && mkdir -p /tools/bin && curl -fsSL -o /tools/bin/gimme https://raw.githubusercontent.com/travis-ci/gimme/master/gimme && chmod a+x /tools/bin/gimme"
- bash --norc --noprofile --posix -o pipefail -c "set -e && mkdir -p /tools/gimme && GIMME_SILENT_ENV=1 GIMME_ENV_PREFIX=/tools/gimme/env GIMME_VERSION_PREFIX=/tools/gimme/ver GIMME_GO_VERSION=stable GIMME_CGO_ENABLED=1 /tools/bin/gimme" > /tools/genv && source /tools/genv
- - source /tools/genv
- - go env -w GO111MODULE=on && export GO111MODULE=on
- - export GOPROXY="https://proxy.golang.org,direct" && go env -w GOPROXY="${GOPROXY:?}"
- - *scriptGoVersion
- - go clean -modcache -cache -r -x
- - *scriptGitPre
- - export GO=`which go` && gmake build && printf %s\\n "It built!"
- ###################### End Linux Build + Test
|