From 5f07ea4011a9e49194355424a49e418b563bc0f2 Mon Sep 17 00:00:00 2001 From: Erick Hitter <git-contrib@ethitter.com> Date: Sun, 12 Jun 2022 10:29:03 -0700 Subject: [PATCH] Port existing CI configuration Taken from https://git.ethitter.com/open-source/dyndnsd-client/-/blob/85f4ccd5a0597f8067ebb6168099afd210a0d98c/.gitlab-ci.yml --- files/default.yml | 7 ++++++ files/templates/before-script.yml | 9 +++++++ files/templates/cache.yml | 7 ++++++ files/templates/image.yml | 1 + files/templates/matrix.yml | 39 +++++++++++++++++++++++++++++++ files/templates/stages.yml | 3 +++ files/templates/variables.yml | 2 ++ 7 files changed, 68 insertions(+) create mode 100644 files/default.yml create mode 100644 files/templates/before-script.yml create mode 100644 files/templates/cache.yml create mode 100644 files/templates/image.yml create mode 100644 files/templates/matrix.yml create mode 100644 files/templates/stages.yml create mode 100644 files/templates/variables.yml diff --git a/files/default.yml b/files/default.yml new file mode 100644 index 0000000..33ac4cc --- /dev/null +++ b/files/default.yml @@ -0,0 +1,7 @@ +include: + - remote: https://git-cdn.e15r.co/gitlab/ci/golang/-/raw/main/files/templates/image.yml + - remote: https://git-cdn.e15r.co/gitlab/ci/golang/-/raw/main/files/templates/variables.yml + - remote: https://git-cdn.e15r.co/gitlab/ci/golang/-/raw/main/files/templates/cache.yml + - remote: https://git-cdn.e15r.co/gitlab/ci/golang/-/raw/main/files/templates/stages.yml + - remote: https://git-cdn.e15r.co/gitlab/ci/golang/-/raw/main/files/templates/before-script.yml + - remote: https://git-cdn.e15r.co/gitlab/ci/golang/-/raw/main/files/templates/matrix.yml diff --git a/files/templates/before-script.yml b/files/templates/before-script.yml new file mode 100644 index 0000000..278d386 --- /dev/null +++ b/files/templates/before-script.yml @@ -0,0 +1,9 @@ +before_script: + - mkdir -p $GOPATH/src/$(dirname $REPO_NAME) + - cp -R $CI_PROJECT_DIR $GOPATH/src/$REPO_NAME + - cd $GOPATH/src/$REPO_NAME + - cp config-sample.json config.json + + - export CC=clang + + - make dep diff --git a/files/templates/cache.yml b/files/templates/cache.yml new file mode 100644 index 0000000..bf6e933 --- /dev/null +++ b/files/templates/cache.yml @@ -0,0 +1,7 @@ +cache: + paths: + - /apt-cache + - $GOPATH/src/github.com + - $GOPATH/src/golang.org + - $GOPATH/src/google.golang.org + - $GOPATH/src/gopkg.in diff --git a/files/templates/image.yml b/files/templates/image.yml new file mode 100644 index 0000000..d07b5f5 --- /dev/null +++ b/files/templates/image.yml @@ -0,0 +1 @@ +image: containers.ethitter.com:443/docker/images/golang:latest diff --git a/files/templates/matrix.yml b/files/templates/matrix.yml new file mode 100644 index 0000000..b6577e3 --- /dev/null +++ b/files/templates/matrix.yml @@ -0,0 +1,39 @@ +unit_tests: + stage: test + script: + - make test + +race_detector: + stage: test + script: + - make race + +memory_sanitizer: + stage: test + script: + - make msan + +code_coverage: + stage: test + script: + - make coverage + +code_coverage_report: + stage: test + script: + - make coverhtml + only: + - master + +lint_code: + stage: test + script: + - make lint + +build: + stage: build + script: + - make + artifacts: + paths: + - dyndnsd-client/ diff --git a/files/templates/stages.yml b/files/templates/stages.yml new file mode 100644 index 0000000..df24ad8 --- /dev/null +++ b/files/templates/stages.yml @@ -0,0 +1,3 @@ +stages: + - test + - build diff --git a/files/templates/variables.yml b/files/templates/variables.yml new file mode 100644 index 0000000..96cb89c --- /dev/null +++ b/files/templates/variables.yml @@ -0,0 +1,2 @@ +variables: + REPO_NAME: "${CI_SERVER_HOST}/${CI_PROJECT_NAMESPACE}/$(CI_PROJECT_NAME)" -- GitLab