diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d9aae7690fea09863127c611966c9c37e247d58f..3fe0219fccc602e4f5e509420230630d924dc124 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 b483fb11f56a04a01fb8f8a71875d7dd414ad5a0..0c0389a5e0b76692f6bdcf4d0d6b8f4d9e257386 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 faa39250c5a0f6be34d15b5b7db39b7109510cfa..f873ad312b22b501d812782bf1815c56c6c73200 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 0000000000000000000000000000000000000000..ea96978150fc0ab9cc2838cbc0db0811b9c3d443 --- /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 0000000000000000000000000000000000000000..3d7d0a536e7ca58e7b064b97e2c752eca80982c8 --- /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/*