From 75a8ef02419618c69044b7b34e8b6b67ca7bbcb5 Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Tue, 18 Feb 2020 13:39:08 +0100 Subject: [PATCH] [ci] Added pre-commit and git diff check. --- .gitlab-ci.yml | 3 +++ .../SolidModels/MFront/DruckerPrager.mfront | 1 - scripts/ci/jobs/build_image.yml | 14 ++++++++++++++ scripts/ci/jobs/pre-commit.yml | 9 +++++++++ scripts/docker/Dockerfile.pre-commit | 9 +++++++++ 5 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 scripts/ci/jobs/pre-commit.yml create mode 100644 scripts/docker/Dockerfile.pre-commit diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d9aae7690fe..3fe0219fccc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,5 @@ stages: + - pre-checks - test - checks - package @@ -6,9 +7,11 @@ stages: variables: CONTAINER_GCC_IMAGE: $CI_REGISTRY_IMAGE/gcc:$CI_COMMIT_REF_SLUG XUNIT_TO_JUNIT_IMAGE: $CI_REGISTRY_IMAGE/xunit-to-junit + PRECOMMIT_IMAGE: $CI_REGISTRY_IMAGE/pre-commit include: - local: '/scripts/ci/extends/container-maker-setup.yml' + - local: '/scripts/ci/jobs/pre-commit.yml' - local: '/scripts/ci/jobs/build_image.yml' - local: '/scripts/ci/jobs/build.yml' - local: '/scripts/ci/jobs/build-win.yml' diff --git a/MaterialLib/SolidModels/MFront/DruckerPrager.mfront b/MaterialLib/SolidModels/MFront/DruckerPrager.mfront index b483fb11f56..0c0389a5e0b 100644 --- a/MaterialLib/SolidModels/MFront/DruckerPrager.mfront +++ b/MaterialLib/SolidModels/MFront/DruckerPrager.mfront @@ -90,4 +90,3 @@ lam.setGlossaryName("EquivalentPlasticStrain"); dflam_ddeel = theta * (nF | D) / D(0, 0); } } - diff --git a/scripts/ci/jobs/build_image.yml b/scripts/ci/jobs/build_image.yml index faa39250c5a..f873ad312b2 100644 --- a/scripts/ci/jobs/build_image.yml +++ b/scripts/ci/jobs/build_image.yml @@ -25,3 +25,17 @@ build xunit-to-junit image: - docker pull $XUNIT_TO_JUNIT_IMAGE:latest || true - docker build --cache-from $XUNIT_TO_JUNIT_IMAGE:latest -t $XUNIT_TO_JUNIT_IMAGE:latest -f scripts/docker/saxon/Dockerfile scripts/docker/saxon - docker push $XUNIT_TO_JUNIT_IMAGE:latest + + +build pre-commit image: + stage: .pre + only: + changes: + - scripts/docker/Dockerfile.pre-commit + tags: + - docker-shell + script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker pull $PRECOMMIT_IMAGE:latest || true + - docker build --cache-from $PRECOMMIT_IMAGE:latest -t $PRECOMMIT_IMAGE:latest -f scripts/docker/Dockerfile.pre-commit scripts/docker + - docker push $PRECOMMIT_IMAGE:latest diff --git a/scripts/ci/jobs/pre-commit.yml b/scripts/ci/jobs/pre-commit.yml new file mode 100644 index 00000000000..ea96978150f --- /dev/null +++ b/scripts/ci/jobs/pre-commit.yml @@ -0,0 +1,9 @@ +pre commit: + stage: pre-checks + image: + name: $PRECOMMIT_IMAGE + + script: + - pre-commit install + - pre-commit run --all-files + - git diff --check `git merge-base origin/master HEAD` HEAD -- . ':!*.md' ':!*.pandoc' ':!*.asc' ':!*.dat' ':!*.ts' diff --git a/scripts/docker/Dockerfile.pre-commit b/scripts/docker/Dockerfile.pre-commit new file mode 100644 index 00000000000..3d7d0a536e7 --- /dev/null +++ b/scripts/docker/Dockerfile.pre-commit @@ -0,0 +1,9 @@ +FROM python:slim + +RUN pip install pre-commit +CMD ["bash"] +RUN apt-get update \ + && apt-get install -y --no-install-recommends git curl \ + && curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash \ + && apt-get install git-lfs \ + && rm -rf /var/lib/apt/lists/* -- GitLab