Typo fix.
[open-adventure.git] / .gitlab-ci.yml
index 984111df8031110b3a9131c7c5c1e58bcf5394de..b8f4b9143502cb6870c52ac7ac78aa4277edb2eb 100644 (file)
@@ -1,15 +1,28 @@
-image: opensuse:tumbleweed
-
+# 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:
-    - zypper install -y make gcc libedit-devel libasan3 libubsan0 python python2-PyYAML lcov 
   script:
     - make debug
   artifacts:
@@ -19,12 +32,9 @@ binary:debug:
       - "*.o"
       - dungeon.c
       - dungeon.h
-      - "*.gcno"
 
 binary:release:
   stage: build
-  before_script:
-    - zypper install -y make gcc libedit-devel python python2-PyYAML
   script:
     - make advent cheat
   artifacts:
@@ -37,8 +47,6 @@ binary:release:
 
 manpage:
   stage: build
-  before_script:
-    - zypper install -y make asciidoc
   script:
     - make advent.6
   artifacts:
@@ -47,8 +55,6 @@ manpage:
 
 html:
   stage: build
-  before_script:
-    - zypper install -y make asciidoc libxslt
   script:
     - make html
   artifacts:
@@ -57,8 +63,6 @@ html:
 
 dist:
   stage: build
-  before_script:
-    - zypper install -y make asciidoc tar
   script:
     - export VERS=${CI_COMMIT_REF_NAME}
     - make dist -e
@@ -69,24 +73,16 @@ dist:
 # run tests using the binary built before
 test:debug:
   stage: test
-  before_script:
-    - zypper install -y make gcc libedit-devel libasan3 libubsan0 python python2-PyYAML lcov
   script:
-    - make debug
-    - make check
-    - lcov -t "advent" -o advent.info -c -d .
-    - genhtml -o coverage advent.info
-    - cd tests
-    - ./coverage_dungeon.py
-    - cd ..
+    - make coverage
   artifacts:
     paths:
       - coverage
+  dependencies:
+    - binary:debug
 
 test:release:
   stage: test
-  before_script:
-    - zypper install -y make libedit
   script:
     - cd tests
     - make