Skip to content
Snippets Groups Projects

Made edits to gitlab-ci.yml using alphafold2 example

Merged Fortune Iriaye requested to merge edit-gitlab-ci into main
1 file
+ 15
57
Compare changes
  • Side-by-side
  • Inline
+ 15
57
default:
default:
image: python:3.12-bullseye
image: docker:26.0.1-dind
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
- if: '$CI_COMMIT_BRANCH == "main"'
variables:
PACKAGE_NAME: "pak"
REPO_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi"
PIP_CACHE_DIR: "${CI_PROJECT_DIR}/.cache/pip"
PIP_INDEX_URL: "https://__token__:${CI_JOB_TOKEN}@gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/pypi/simple"
PIP_EXTRA_INDEX_URL: "https://pypi.org/simple"
CXX: "/usr/bin/g++"
stages:
stages:
- build
- build
- test
- publish
build_package:
stage: build
before_script:
- apt-get update && apt-get install -y g++ make build-essential cmake
script:
- pip install --upgrade pip
- pip install setuptools wheel build
- python -m build
artifacts:
paths:
- dist/*
cache:
paths:
- ${PIP_CACHE_DIR}
test_package:
variables:
stage: test
PACKAGE_NAME: "alphafold3"
script:
DOCKER_IMAGE: "$CI_REGISTRY_IMAGE/$PACKAGE_NAME"
- pip install .
DOCKER_TLS_CERTDIR: "/certs"
- pip install pytest
- pytest
publish_pip:
before_script:
stage: publish
- unset DOCKER_HOST
script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- pip install twine
- twine upload -u gitlab-ci-token -p ${CI_JOB_TOKEN} --repository-url ${REPO_URL} dist/*
build_and_push_docker_image:
push_docker_image:
stage: publish
stage: build
image: docker:latest
image: docker:26.0.1-dind
services:
- docker:dind
variables:
DOCKER_IMAGE_NAME: ${CI_REGISTRY_IMAGE}/${PACKAGE_NAME}
DOCKER_TLS_CERTDIR: "/certs"
before_script:
- echo "${CI_REGISTRY_PASSWORD}" | docker login -u "${CI_REGISTRY_USER}" --password-stdin ${CI_REGISTRY}
- apt-get update && apt-get install -y g++ make build-essential cmake
script:
script:
- echo "Building docker image and tagging as latest"
- docker build -t $DOCKER_IMAGE:$CI_COMMIT_SHORT_SHA -f docker/Dockerfile .
- docker pull ${DOCKER_IMAGE_NAME}:latest || true
- docker push $DOCKER_IMAGE:$CI_COMMIT_SHORT_SHA
- docker build --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from ${DOCKER_IMAGE_NAME}:latest -t ${DOCKER_IMAGE_NAME}:latest .
only:
- docker push ${DOCKER_IMAGE_NAME}:latest
- main # Only run on the main branch
Loading