From bb3b95f41f3fdf3da760868fbc7c60affdaca0fa Mon Sep 17 00:00:00 2001
From: Fortune Iriaye <firiaye@uab.edu>
Date: Thu, 21 Nov 2024 07:46:36 -0600
Subject: [PATCH] Update .gitlab-ci.yml file

---
 .gitlab-ci.yml | 49 +++++++++++++++++++++++++------------------------
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 13c5944..2a325d5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,29 +1,30 @@
-default:
-  image: docker:26.0.1
-
-stages:
-  - build
-
-variables:
-  PACKAGE_NAME: "alphafold3"
-  DOCKER_IMAGE: "$CI_REGISTRY_IMAGE/$PACKAGE_NAME"
-  DOCKER_TLS_CERTDIR: ""  # Disable TLS for Docker-in-Docker
-
-push_docker_image:
+docker-build:
+  # Use the official docker image.
+  image: docker:stable
   stage: build
-  image: docker:26.0.1
   services:
-    - name: docker:26.0.1-dind  # Provide Docker daemon as a service
-      alias: docker
-      command: ["--dns=8.8.8.8", "--dns=8.8.4.4"]  # Resolve DNS issues
+    - docker:26.0.1-dind
   variables:
-    DOCKER_HOST: tcp://docker:2375  # Connect to Docker daemon
-    DOCKER_TLS_CERTDIR: ""         # Disable TLS for Docker-in-Docker
+    DOCKER_IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
+    DOCKER_TLS_CERTDIR: "/certs"
   before_script:
-    # Secure login to Docker registry
-    - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
+    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
+  cache:
+    key: ${CI_COMMIT_REF_SLUG}
+    paths:
+      - cache/
+  # All branches are tagged with $DOCKER_IMAGE_NAME (defaults to commit ref slug)
+  # Default branch is also tagged with `latest`
   script:
-    - docker build -t $DOCKER_IMAGE:$CI_COMMIT_SHORT_SHA -f docker/Dockerfile .
-    - docker push $DOCKER_IMAGE:$CI_COMMIT_SHORT_SHA
-  only:
-    - main  # Run only on the main branch
+    - docker build --cache-from ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG} --pull -t "$DOCKER_IMAGE_NAME" .
+    - docker push "$DOCKER_IMAGE_NAME"
+    - |
+      if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
+        docker tag "$DOCKER_IMAGE_NAME" "$CI_REGISTRY_IMAGE:latest"
+        docker push "$CI_REGISTRY_IMAGE:latest"
+      fi
+  # Run this job in a branch where a Dockerfile exists
+  rules:
+    - if: $CI_COMMIT_BRANCH
+      exists:
+        - Dockerfile
\ No newline at end of file
-- 
GitLab