From fc99863ba649739c4d7a9a7d63598a09bb230e47 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Tue, 18 Jan 2022 23:41:51 +0100 Subject: [PATCH 1/4] ci: add github action --- .../workflows/{tests.yml.tmp => tests.yml} | 29 ++++--- .travis-ci/build.sh | 29 ------- .travis-ci/deploy.sh | 1 - .travis.yml | 87 ------------------- 4 files changed, 17 insertions(+), 129 deletions(-) rename .github/workflows/{tests.yml.tmp => tests.yml} (69%) delete mode 100644 .travis-ci/build.sh delete mode 100644 .travis-ci/deploy.sh delete mode 100644 .travis.yml diff --git a/.github/workflows/tests.yml.tmp b/.github/workflows/tests.yml similarity index 69% rename from .github/workflows/tests.yml.tmp rename to .github/workflows/tests.yml index 29bd70ec8..0a81553df 100644 --- a/.github/workflows/tests.yml.tmp +++ b/.github/workflows/tests.yml @@ -1,10 +1,9 @@ name: "Tests" - on: [pull_request] jobs: tests: name: Unit & E2E - runs-on: self-hosted + runs-on: ubuntu-latest steps: - name: Checkout repository @@ -19,16 +18,28 @@ jobs: - run: git checkout HEAD^2 if: ${{ github.event_name == 'pull_request' }} - - name: Build Appwrite - # Upstream bug causes buildkit pulls to fail so prefetch base images - # https://github.com/moby/moby/issues/41864 + - name: Prepare Docker run: | + export COMPOSE_INTERACTIVE_NO_CLI + export DOCKER_BUILDKIT=1 + export COMPOSE_DOCKER_CLI_BUILD=1 echo "_APP_FUNCTIONS_RUNTIMES=php-8.0" >> .env docker pull composer:2.0 docker pull php:8.0-cli-alpine - docker compose build --progress=plain + docker compose pull + + - uses: satackey/action-docker-layer-caching@v0.0.11 + # Ignore the failure of a step and avoid terminating the job. + continue-on-error: true + + - name: Build Appwrite + run: docker compose build --progress=plain appwrite + + - name: Start Appwrite + run: | docker compose up -d sleep 30 + - name: Doctor run: docker compose exec -T appwrite doctor @@ -37,9 +48,3 @@ jobs: - name: Run Tests run: docker compose exec -T appwrite test --debug - - - name: Teardown - if: always() - run: | - docker compose down -v - docker ps -aq | xargs docker rm --force diff --git a/.travis-ci/build.sh b/.travis-ci/build.sh deleted file mode 100644 index 57aa5ca11..000000000 --- a/.travis-ci/build.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash bash - -RED='\033[0;31m' -NC='\033[0m' # No Color - -if [ -z "$1" ] -then - echo "Missing tag number" - exit 1 -fi - -if [ -z "$2" ] -then - echo "Missing version number" - exit 1 -fi - -if test $(find "./app/db/DBIP/dbip-country-lite-2021-12.mmdb" -mmin +259200) -then - printf "${RED}GEO country DB has not been updated for more than 6 months. Go to https://db-ip.com/db/download/ip-to-country-lite to download a newer version${NC}\n" -fi - -echo 'Starting build...' - -docker build --build-arg VERSION="$2" --tag appwrite/appwrite:"$1" . - -echo 'Pushing build to registry...' - -docker push appwrite/appwrite:"$1" diff --git a/.travis-ci/deploy.sh b/.travis-ci/deploy.sh deleted file mode 100644 index b4c132022..000000000 --- a/.travis-ci/deploy.sh +++ /dev/null @@ -1 +0,0 @@ -echo 'Nothing to deploy right now.' \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index da5897dec..000000000 --- a/.travis.yml +++ /dev/null @@ -1,87 +0,0 @@ -dist: focal - -arch: - - amd64 - -os: linux - -vm: - size: large - -language: shell - -notifications: - email: - - team@appwrite.io - -before_install: -# Install latest Docker -- curl -fsSL https://get.docker.com | sh -# Enable Buildkit in Docker config -- echo '{"experimental":"enabled"}' | sudo tee /etc/docker/daemon.json -- mkdir -p $HOME/.docker -- echo '{"experimental":"enabled"}' | sudo tee $HOME/.docker/config.json -- sudo service docker start -# Login to increase Docker Hub ratelimit -- > - if [ ! -z "${DOCKERHUB_PULL_USERNAME:-}" ]; then - echo "${DOCKERHUB_PULL_PASSWORD}" | docker login --username "${DOCKERHUB_PULL_USERNAME}" --password-stdin - fi -- docker --version -# Install latest Compose -- sudo rm /usr/local/bin/docker-compose -- curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > docker-compose -- chmod +x docker-compose -- sudo mv docker-compose /usr/local/bin -- docker-compose --version -# Enable Buildkit -- docker buildx create --name travis_builder --use -- export COMPOSE_INTERACTIVE_NO_CLI -- export DOCKER_BUILDKIT=1 -- export COMPOSE_DOCKER_CLI_BUILD=1 -- export BUILDKIT_PROGRESS=plain -# Only pass a single runtime for CI stability -- echo "_APP_FUNCTIONS_RUNTIMES=php-8.0" >> .env -# Ensure Travis scripts are executable -- chmod -R u+x ./.travis-ci - -install: -- docker-compose pull -# Upstream bug causes buildkit pulls to fail so prefetch base images -# https://github.com/moby/moby/issues/41864 -- docker pull composer:2.0 -- docker pull php:8.0-cli-alpine -- docker-compose build -- docker-compose up -d -- sleep 60 - -script: -- docker ps -a -# Tests should fail if any container is in exited status -# - ALL_UP=`docker ps -aq --filter "status=exited"` -# - > -# if [[ "$ALL_UP" != "" ]]; then -# exit 1 -# fi -- docker-compose logs appwrite -- docker-compose logs appwrite-realtime -- docker-compose logs mariadb -- docker-compose logs appwrite-worker-functions -- docker-compose exec appwrite doctor -- docker-compose exec appwrite vars -- docker-compose exec appwrite test --debug - -after_script: -# travis re-uses their build nodes so clean them up -- docker buildx rm travis_builder - -after_failure: -- docker-compose logs appwrite - -deploy: - - provider: script - edge: true - script: ./.travis-ci/deploy.sh - on: - repo: appwrite/appwrite - branch: deploy From 7a9d477e3ea35753f01dbed613f816d192a638e4 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Tue, 18 Jan 2022 23:58:24 +0100 Subject: [PATCH 2/4] Update tests.yml --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0a81553df..8507ac69f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -33,7 +33,7 @@ jobs: continue-on-error: true - name: Build Appwrite - run: docker compose build --progress=plain appwrite + run: docker compose build --progress=plain - name: Start Appwrite run: | From c9d53e01341388b8f9f0f2d3d6980de13a99a185 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 19 Jan 2022 00:02:48 +0100 Subject: [PATCH 3/4] Update tests.yml --- .github/workflows/tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8507ac69f..bff77612f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -28,7 +28,8 @@ jobs: docker pull php:8.0-cli-alpine docker compose pull - - uses: satackey/action-docker-layer-caching@v0.0.11 + - name: Prepare Cache + uses: satackey/action-docker-layer-caching@v0.0.11 # Ignore the failure of a step and avoid terminating the job. continue-on-error: true From e45fc7c46ec4c04e18731d72a56a1fa16f229089 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 19 Jan 2022 00:23:19 +0100 Subject: [PATCH 4/4] Update Scope.php --- tests/e2e/Scopes/Scope.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/e2e/Scopes/Scope.php b/tests/e2e/Scopes/Scope.php index b5b5e0e77..079777be4 100644 --- a/tests/e2e/Scopes/Scope.php +++ b/tests/e2e/Scopes/Scope.php @@ -33,7 +33,7 @@ abstract class Scope extends TestCase protected function getLastEmail():array { - sleep(5); + sleep(3); $emails = json_decode(file_get_contents('http://maildev:1080/email'), true); @@ -46,7 +46,7 @@ abstract class Scope extends TestCase protected function getLastRequest():array { - sleep(5); + sleep(2); $resquest = json_decode(file_get_contents('http://request-catcher:5000/__last_request__'), true); $resquest['data'] = json_decode($resquest['data'], true); @@ -167,4 +167,4 @@ abstract class Scope extends TestCase return self::$user[$this->getProject()['$id']]; } -} \ No newline at end of file +}