From 88e9099e87930643fefc40185ca3f44c9245929b Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Mon, 13 Feb 2023 11:15:09 -0800 Subject: [PATCH 1/4] Update tests CI to cache docker layers --- .github/workflows/tests.yml | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 99fc5dc6e3..4cf3d805da 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,18 +21,28 @@ jobs: - run: git checkout HEAD^2 if: ${{ github.event_name == 'pull_request' }} + # This is a separate action that sets up buildx runner + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Build Appwrite - # Upstream bug causes buildkit pulls to fail so prefetch base images - # https://github.com/moby/moby/issues/41864 + uses: docker/build-push-action@v2 + with: + context: . + push: false + tags: appwrite-dev + cache-from: type=gha + cache-to: type=gha,mode=max + build-args: | + DEBUG=false + TESTING=true + VERSION=dev + + - name: Start Appwrite run: | - export COMPOSE_INTERACTIVE_NO_CLI - export DOCKER_BUILDKIT=1 - export COMPOSE_DOCKER_CLI_BUILD=1 - export BUILDKIT_PROGRESS=plain - docker pull composer:2.0 - docker compose build appwrite docker compose up -d sleep 30 + - name: Doctor run: docker compose exec -T appwrite doctor @@ -41,3 +51,13 @@ jobs: - name: Run Tests run: docker compose exec -T appwrite test --debug + + # This ugly bit is necessary if you don't want your cache to grow forever + # until it hits GitHub's limit of 5GB. + # Temp fix + # https://github.com/docker/build-push-action/issues/252 + # https://github.com/moby/buildkit/issues/1896 + - name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache \ No newline at end of file From 57c445868ecf0f720fbd23b55d239b0418c3a4aa Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Mon, 13 Feb 2023 13:14:15 -0800 Subject: [PATCH 2/4] Remove github cache cleanup --- .github/workflows/tests.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4cf3d805da..52a3a11165 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -50,14 +50,4 @@ jobs: run: docker compose exec -T appwrite vars - name: Run Tests - run: docker compose exec -T appwrite test --debug - - # This ugly bit is necessary if you don't want your cache to grow forever - # until it hits GitHub's limit of 5GB. - # Temp fix - # https://github.com/docker/build-push-action/issues/252 - # https://github.com/moby/buildkit/issues/1896 - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache \ No newline at end of file + run: docker compose exec -T appwrite test --debug \ No newline at end of file From 037d330641ee165ca9a55f6dced675358596b026 Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Mon, 13 Feb 2023 13:26:26 -0800 Subject: [PATCH 3/4] Ensure image is added to local registry --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 52a3a11165..51e14b17a5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -31,6 +31,7 @@ jobs: context: . push: false tags: appwrite-dev + load: true cache-from: type=gha cache-to: type=gha,mode=max build-args: | From fc87a0a281a20fd258b9b3bd049c9da7470c6ef9 Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Wed, 15 Feb 2023 11:27:26 -0800 Subject: [PATCH 4/4] Bump actions to fix save-state warning --- .github/workflows/tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 51e14b17a5..fbf3d3b991 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,10 +23,10 @@ jobs: # This is a separate action that sets up buildx runner - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2 - name: Build Appwrite - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v3 with: context: . push: false