changelog shortlog graph tags branches files raw help

Mercurial > demo / changeset: ci tweaks, fukamachi has a good docker setup, may modify to add archlinux

changeset 24: 8eb98e4ffe05
parent 23: dc7e11694976
child 25: 75f5290085f5
author: ellis <ellis@rwest.io>
date: Sun, 04 Jun 2023 00:31:46 -0400
files: .gitlab-ci.yml
description: ci tweaks, fukamachi has a good docker setup, may modify to add archlinux
     1.1--- a/.gitlab-ci.yml	Sun Jun 04 02:50:19 2023 +0000
     1.2+++ b/.gitlab-ci.yml	Sun Jun 04 00:31:46 2023 -0400
     1.3@@ -1,45 +1,32 @@
     1.4-# This file is a template, and might need editing before it works on your project.
     1.5-# To contribute improvements to CI/CD templates, please follow the Development guide at:
     1.6-# https://docs.gitlab.com/ee/development/cicd/templates.html
     1.7-# This specific template is located at:
     1.8-# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml
     1.9-
    1.10-# This is a sample GitLab CI/CD configuration file that should run without any modifications.
    1.11-# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts,
    1.12-# it uses echo commands to simulate the pipeline execution.
    1.13-#
    1.14-# A pipeline is composed of independent jobs that run scripts, grouped into stages.
    1.15-# Stages run in sequential order, but jobs within stages run in parallel.
    1.16-#
    1.17-# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages
    1.18-
    1.19-stages:          # List of stages for jobs, and their order of execution
    1.20+image: fukamachi/sbcl
    1.21+before_script:
    1.22+- apt-get mercurial
    1.23+- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    1.24+- rustup default nightly
    1.25+- hg clone https://lab.rwest.io/otom8/demo ~/quicklisp/local-projects/demo
    1.26+stages:
    1.27   - build
    1.28   - test
    1.29   - deploy
    1.30-
    1.31-build-job:       # This job runs in the build stage, which runs first.
    1.32+build-job:
    1.33   stage: build
    1.34   script:
    1.35     - echo "Compiling the code..."
    1.36+    - make build
    1.37     - echo "Compile complete."
    1.38-
    1.39-unit-test-job:   # This job runs in the test stage.
    1.40-  stage: test    # It only starts when the job in the build stage completes successfully.
    1.41+unit-test-job:
    1.42+  stage: test
    1.43   script:
    1.44-    - echo "Running unit tests... This will take about 60 seconds."
    1.45-    - sleep 60
    1.46-    - echo "Code coverage is 90%"
    1.47-
    1.48-lint-test-job:   # This job also runs in the test stage.
    1.49-  stage: test    # It can run at the same time as unit-test-job (in parallel).
    1.50+    - echo "Running unit tests..."
    1.51+    - make test
    1.52+lint-test-job:
    1.53+  stage: test
    1.54   script:
    1.55-    - echo "Linting code... This will take about 10 seconds."
    1.56-    - sleep 10
    1.57+    - echo "Linting code..."
    1.58+    - make fmt
    1.59     - echo "No lint issues found."
    1.60-
    1.61-deploy-job:      # This job runs in the deploy stage.
    1.62-  stage: deploy  # It only runs when *both* jobs in the test stage complete successfully.
    1.63+deploy-job:
    1.64+  stage: deploy
    1.65   script:
    1.66     - echo "Deploying application..."
    1.67-    - echo "Application successfully deployed."
    1.68+    - echo "Application successfully deployed."
    1.69\ No newline at end of file