diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a6c0f350cee3bd7bffc8279f31cdd8cf3531a7e..95d719a251465aa53ac668f0707728b4d4cdc9a2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ stages: - checks - tests - - publish + - package - coverage variables: @@ -76,8 +76,30 @@ tests-3.9: variables: PYTHON_VERSION: "3.9" +.container: + stage: package + tags: [docker] + image: docker:latest + services: + - docker:dind + script: + - docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY + - docker build --pull -t "$CI_REGISTRY_IMAGE:$IMAGE_TAG" . + - docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY + - docker tag "$CI_REGISTRY_IMAGE:$IMAGE_TAG" "$CI_REGISTRY_IMAGE:$IMAGE_TAG" + - docker push "$CI_REGISTRY_IMAGE:$IMAGE_TAG" + - docker tag "$CI_REGISTRY_IMAGE:$IMAGE_TAG" "$CI_REGISTRY_IMAGE:latest" + - docker push "$CI_REGISTRY_IMAGE:latest" + +container: + extends: .container + variables: + IMAGE_TAG: "dev" + rules: + - when: manual + pypi_test: - stage: publish + stage: package rules: - if: $CI_COMMIT_TAG when: manual @@ -86,7 +108,7 @@ pypi_test: - poetry publish --build --username $PYPI_TEST_LOGIN --password $PYPI_TEST_PASSWORD --repository pypi_test pypi: - stage: publish + stage: package rules: - if: $CI_COMMIT_TAG when: manual diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..6f6f405bca57579b3903d1ec6734b77b7b4684e3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM registry.duniter.org/docker/python3/poetry/3.9:latest + +WORKDIR /silkaj + +# Install Silkaj +RUN poetry install + +# Set up alias to directly get silkaj command +# https://stackoverflow.com/a/3638886 +RUN printf '#!/bin/bash\npoetry run silkaj "$@"' > /usr/bin/silkaj && \ + chmod +x /usr/bin/silkaj + +CMD ["/usr/bin/silkaj"]