Typo fix.
[open-adventure.git] / .gitlab-ci.yml
index e729f35819bdedc68e5c88a153ce96fa58c2bfe7..b8f4b9143502cb6870c52ac7ac78aa4277edb2eb 100644 (file)
@@ -1,52 +1,52 @@
-image: alpine
-
-variables:
-  GIT_SSL_CAPATH: /etc/ssl/certs
-  GIT_CURL_VERBOSE: 1
-
+# SPDX-FileCopyrightText: (C) Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
 stages:
+  - ci-build
   - build
   - test
   - deploy
 
+default:
+  image: $CI_REGISTRY_IMAGE:ci
+
+# build and push Docker image to be used in subsequent steps
+ci-build:
+  stage: ci-build
+  image:
+    name: gcr.io/kaniko-project/executor:debug
+    entrypoint: [""]
+  script:
+    - mkdir -p /kaniko/.docker
+    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
+    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile.ci --destination $CI_REGISTRY_IMAGE:ci --cache=true
+
 # build advent itself
 binary:debug:
   stage: build
-  before_script:
-    - apk update
-    - apk add make gcc musl-dev
-  script: 
+  script:
     - make debug
   artifacts:
     paths:
       - advent
-      - "*.gcda"
-      - "*.gcno"
-  # cache outputs to reduce the build time
-  cache:
-    paths:
+      - cheat
       - "*.o"
+      - dungeon.c
+      - dungeon.h
 
 binary:release:
   stage: build
-  before_script:
-    - apk update
-    - apk add make gcc musl-dev
-  script: 
-    - make advent
+  script:
+    - make advent cheat
   artifacts:
     paths:
       - advent
-  # cache outputs to reduce the build time
-  cache:
-    paths:
+      - cheat
       - "*.o"
+      - dungeon.c
+      - dungeon.h
 
 manpage:
   stage: build
-  before_script:
-    - apk update
-    - apk add make asciidoc
   script:
     - make advent.6
   artifacts:
@@ -55,9 +55,6 @@ manpage:
 
 html:
   stage: build
-  before_script:
-    - apk update
-    - apk add make asciidoc libxslt
   script:
     - make html
   artifacts:
@@ -66,9 +63,6 @@ html:
 
 dist:
   stage: build
-  before_script:
-    - apk update
-    - apk add make asciidoc
   script:
     - export VERS=${CI_COMMIT_REF_NAME}
     - make dist -e
@@ -79,16 +73,8 @@ dist:
 # run tests using the binary built before
 test:debug:
   stage: test
-  before_script:
-    - apk update
-    - apk add make gcc
-    - apk add lcov --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
   script:
-    - cd tests
-    - make
-    - cd ..
-    - lcov -t "advent" -o advent.info -c -d .
-    - genhtml -o coverage advent.info
+    - make coverage
   artifacts:
     paths:
       - coverage
@@ -97,9 +83,6 @@ test:debug:
 
 test:release:
   stage: test
-  before_script:
-    - apk update
-    - apk add make
   script:
     - cd tests
     - make
@@ -119,4 +102,3 @@ pages:
     - master
   dependencies:
     - test:debug
-