diff options
| author | Martial Simon <msimon_fr@hotmail.com> | 2025-09-15 01:07:58 +0200 |
|---|---|---|
| committer | Martial Simon <msimon_fr@hotmail.com> | 2025-09-15 01:07:58 +0200 |
| commit | 967be9e750221ab2ab783f95df79bb26d290a45e (patch) | |
| tree | 6802900a5e975f9f68b169f0f503f040056d6952 /42sh/.gitlab-ci.yml | |
Diffstat (limited to '42sh/.gitlab-ci.yml')
| -rw-r--r-- | 42sh/.gitlab-ci.yml | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/42sh/.gitlab-ci.yml b/42sh/.gitlab-ci.yml new file mode 100644 index 0000000..750777b --- /dev/null +++ b/42sh/.gitlab-ci.yml @@ -0,0 +1,70 @@ +# This file is a template, and might need editing before it works on your project. +# This is a sample GitLab CI/CD configuration file that should run without any modifications. +# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts, +# it uses echo commands to simulate the pipeline execution. +# +# A pipeline is composed of independent jobs that run scripts, grouped into stages. +# Stages run in sequential order, but jobs within stages run in parallel. +# +# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages +# +# You can copy and paste this template into a new `.gitlab-ci.yml` file. +# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword. +# +# To contribute improvements to CI/CD templates, please follow the Development guide at: +# https://docs.gitlab.com/ee/development/cicd/templates.html +# This specific template is located at: +# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml + +stages: # List of stages for jobs, and their order of execution + - build + - test + +variables: + CC: gcc + CXX: g++ + MAKEFLAGS: "-j$(proc)" + +build-job: # This job runs in the build stage, which runs first. + stage: build + image: ubuntu:22.04 + script: + - apt-get update + - apt-get install -y gcc + - apt-get install -y build-essential + - apt-get install -y make + - apt-get install -y libcriterion-dev + - apt-get install -y autotools-dev + - apt-get install -y autoconf + - apt-get install -y autoconf-archive + - autoreconf --install + - ./configure --prefix=$(pwd) + - make install + artifacts: + untracked: true + when: on_success + expire_in: 1 hour + +test-job: # This job runs in the test stage. + stage: test # It only starts when the job in the build stage completes successfully. + image: ubuntu:22.04 + script: + - apt-get update + - apt-get install -y gcc + - apt-get install -y build-essential + - apt-get install -y make + - apt-get install -y libcriterion-dev + - apt-get install -y autotools-dev + - apt-get install -y autoconf + - apt-get install -y autoconf-archive + - ./configure --prefix=$(pwd) + - BIN_PATH="$(pwd)/bin/42sh" OUTPUT_FILE="$(pwd)/out" make check + +clang-format-job: # This job also runs in the test stage. + stage: test # It can run at the same time as unit-test-job (in parallel). + image: ubuntu:22.04 + script: + - apt-get update + - apt-get install -y clang-format + - find . -iname "*.[hc]" -type f | xargs clang-format --dry-run --Werror + |
