Jelajahi Sumber

fix ghcr workflow throw error when in the fork repo. (#1203)

* fix ghcr workflow throw error when in the fork repo.

* Split DOCKER_REPOSITORY for cleaner.
Leo 1 tahun lalu
induk
melakukan
34286fabcc

+ 3 - 1
.github/workflows/ghcr.yml

@@ -32,4 +32,6 @@ jobs:
         run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
 
       - name: Build and push ${{ matrix.image }}
-        run: ./containers/build.sh ${{ matrix.image }} --push
+        run: |
+          ORG_NAME=$(echo "${{ github.repository }}" | tr '[A-Z]' '[a-z]' | cut -d '/' -f 1)
+          ./containers/build.sh ${{ matrix.image }} $ORG_NAME --push

+ 3 - 1
containers/app/config.sh

@@ -1,2 +1,4 @@
-DOCKER_REPOSITORY=ghcr.io/opendevin/opendevin
+DOCKER_REGISTRY=ghcr.io
+DOCKER_ORG=opendevin
+DOCKER_IMAGE=opendevin
 DOCKER_BASE_DIR="."

+ 6 - 1
containers/build.sh

@@ -2,8 +2,9 @@
 set -eo pipefail
 
 image_name=$1
+org_name=$2
 push=0
-if [[ $2 == "--push" ]]; then
+if [[ $3 == "--push" ]]; then
   push=1
 fi
 
@@ -31,6 +32,10 @@ if [ ! -f $dir/config.sh ]; then
   exit 1
 fi
 source $dir/config.sh
+if [[ -n "$org_name" ]]; then
+  DOCKER_ORG="$org_name"
+fi
+DOCKER_REPOSITORY=$DOCKER_REGISTRY/$DOCKER_ORG/$DOCKER_IMAGE
 echo "Repo: $DOCKER_REPOSITORY"
 echo "Base dir: $DOCKER_BASE_DIR"
 #docker pull $DOCKER_REPOSITORY:main || true # try to get any cached layers

+ 3 - 1
containers/evaluation/config.sh

@@ -1,2 +1,4 @@
-DOCKER_REPOSITORY=ghcr.io/opendevin/eval-swe-bench
+DOCKER_REGISTRY=ghcr.io
+DOCKER_ORG=opendevin
+DOCKER_IMAGE=eval-swe-bench
 DOCKER_BASE_DIR=evaluation/SWE-bench

+ 3 - 1
containers/sandbox/config.sh

@@ -1,2 +1,4 @@
-DOCKER_REPOSITORY=ghcr.io/opendevin/sandbox
+DOCKER_REGISTRY=ghcr.io
+DOCKER_ORG=opendevin
+DOCKER_IMAGE=sandbox
 DOCKER_BASE_DIR="."