From 306b385cd533943b7714c2337f21b346d19d40ce Mon Sep 17 00:00:00 2001 From: faisalill Date: Fri, 4 Aug 2023 09:22:59 +0530 Subject: [PATCH 01/13] Migrate to github actions --- .github/workflows/tests.yml | 24 ++++++++++++++++++++++++ .travis.yml | 15 --------------- composer.json | 5 +++-- 3 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/tests.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..3d8bc3e --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,24 @@ +name: Tests + +on: [pull_request] + +jobs: + tests: + name: Tests + runs-on: ubuntu-20.04 + + steps: + - name: Clone Repository + uses: actions/checkout@v3 + + - name: Setup PHP + uses: shivammathur/setup-php@v2.25.5 + + - name: Composer Install + run: composer install --ignore-platform-reqs + + - name: Run Analyze + run: composer analyze + + - name: Run Tests + run: composer test diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3ba22f2..0000000 --- a/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: php - -php: -- 8.0 -- nightly - -notifications: - email: - - team@appwrite.io - -before_script: composer install --ignore-platform-reqs - -script: -- vendor/bin/phpunit --configuration phpunit.xml < tests/input.txt -- vendor/bin/psalm --show-info=true diff --git a/composer.json b/composer.json index 08d0d90..03f554d 100755 --- a/composer.json +++ b/composer.json @@ -6,9 +6,10 @@ "license": "MIT", "scripts": { - "test": ".vendor/bin/phpunit --configuration phpunit.xml < tests/input.txt", + "test": "./vendor/bin/phpunit --configuration phpunit.xml < tests/input.txt", "lint": "./vendor/bin/pint --test", - "format": "./vendor/bin/pint" + "format": "./vendor/bin/pint", + "analyze": "./vendor/bin/psalm --show-info=true" }, "autoload": { "psr-4": {"Utopia\\CLI\\": "src/CLI"} From 312fe421c83a1c2830ca1a609438ec2635fa58b8 Mon Sep 17 00:00:00 2001 From: faisalill Date: Fri, 4 Aug 2023 09:25:43 +0530 Subject: [PATCH 02/13] Fix typo in Setup PHP step --- .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 3d8bc3e..9982302 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -12,7 +12,7 @@ jobs: uses: actions/checkout@v3 - name: Setup PHP - uses: shivammathur/setup-php@v2.25.5 + uses: shivammathur/setup-php@2.25.5 - name: Composer Install run: composer install --ignore-platform-reqs From 61cd50934389c6b183554f9b7a2921e2c781fe01 Mon Sep 17 00:00:00 2001 From: faisalill Date: Fri, 4 Aug 2023 09:38:00 +0530 Subject: [PATCH 03/13] Use PHP v8.0 --- .github/workflows/tests.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9982302..7f3ef29 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,6 +13,8 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@2.25.5 + with: + php-version: '8.0' - name: Composer Install run: composer install --ignore-platform-reqs From daf9dda500d68804967ffa2662b0006575ac0e77 Mon Sep 17 00:00:00 2001 From: faisalill Date: Fri, 4 Aug 2023 09:42:24 +0530 Subject: [PATCH 04/13] Use matrix method with v8.0 and nightly --- .github/workflows/tests.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7f3ef29..7c893a6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -6,21 +6,21 @@ jobs: tests: name: Tests runs-on: ubuntu-20.04 + strategy: + matrix: + php-version: [8.0, nightly] steps: - - name: Clone Repository - uses: actions/checkout@v3 - - - name: Setup PHP - uses: shivammathur/setup-php@2.25.5 - with: - php-version: '8.0' - - - name: Composer Install - run: composer install --ignore-platform-reqs - - - name: Run Analyze - run: composer analyze - - - name: Run Tests - run: composer test + - name: Clone Repository + uses: actions/checkout@v3 + - name: Setup PHP + uses: shivammathur/setup-php@2.25.5 + with: + php-version: ${{ matrix.php-version }} + - name: Composer Install + run: composer install --ignore-platform-reqs + - name: Run Analyze + run: composer analyze + + - name: Run Tests + run: composer test From dac42a086deacc6d40800313a16e3405c6f9d979 Mon Sep 17 00:00:00 2001 From: faisalill Date: Fri, 4 Aug 2023 09:46:29 +0530 Subject: [PATCH 05/13] Run Tests first then Analyze --- .github/workflows/tests.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7c893a6..4bc3de9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,14 +13,17 @@ jobs: steps: - name: Clone Repository uses: actions/checkout@v3 + - name: Setup PHP uses: shivammathur/setup-php@2.25.5 with: php-version: ${{ matrix.php-version }} + - name: Composer Install run: composer install --ignore-platform-reqs - - name: Run Analyze - run: composer analyze - name: Run Tests run: composer test + + - name: Run Analyze + run: composer analyze From d0c990a66faf91872744af25d1312212ef687116 Mon Sep 17 00:00:00 2001 From: faisalill Date: Fri, 4 Aug 2023 14:57:24 +0530 Subject: [PATCH 06/13] Remove PHP nightly --- .github/workflows/tests.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4bc3de9..c23847e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -5,11 +5,8 @@ on: [pull_request] jobs: tests: name: Tests - runs-on: ubuntu-20.04 - strategy: - matrix: - php-version: [8.0, nightly] - + runs-on: ubuntu-latest + steps: - name: Clone Repository uses: actions/checkout@v3 @@ -17,7 +14,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@2.25.5 with: - php-version: ${{ matrix.php-version }} + php-version: '8.0' - name: Composer Install run: composer install --ignore-platform-reqs From db60209c87a2770bdf95013db1942c02056fb2c3 Mon Sep 17 00:00:00 2001 From: faisalill Date: Fri, 4 Aug 2023 19:59:52 +0530 Subject: [PATCH 07/13] Make Changes as per review Remove analyze step from github actions Change step name to Checkout --- .github/workflows/tests.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c23847e..29538b0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - - name: Clone Repository + - name: Checkout uses: actions/checkout@v3 - name: Setup PHP @@ -21,6 +21,4 @@ jobs: - name: Run Tests run: composer test - - - name: Run Analyze - run: composer analyze + From 464f88ed7cca0d0011675a26e595185de9a25975 Mon Sep 17 00:00:00 2001 From: faisalill Date: Fri, 4 Aug 2023 20:04:38 +0530 Subject: [PATCH 08/13] Add Analyze Step in github actions --- .github/workflows/tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 29538b0..0e878b5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,4 +21,7 @@ jobs: - name: Run Tests run: composer test + + - name: Run Analyze + run: composer analyze From c22a8a2e3bf83e3636891ceeaeebf861674f602c Mon Sep 17 00:00:00 2001 From: faisalill Date: Fri, 4 Aug 2023 20:14:56 +0530 Subject: [PATCH 09/13] Run Analyze first then Tests --- .github/workflows/tests.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0e878b5..ca9f5a2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,10 +18,12 @@ jobs: - name: Composer Install run: composer install --ignore-platform-reqs + + - name: Run Analyze + run: composer analyze - name: Run Tests run: composer test - - name: Run Analyze - run: composer analyze + From b663552582993655b6de071afa9de0410f198b44 Mon Sep 17 00:00:00 2001 From: faisalill Date: Sat, 12 Aug 2023 18:17:25 +0530 Subject: [PATCH 10/13] Replace third party php environment --- .github/workflows/tests.yml | 15 ++++++--------- Dockerfile | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 Dockerfile diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ca9f5a2..69b50f5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -11,19 +11,16 @@ jobs: - name: Checkout uses: actions/checkout@v3 - - name: Setup PHP - uses: shivammathur/setup-php@2.25.5 - with: - php-version: '8.0' - - - name: Composer Install - run: composer install --ignore-platform-reqs + - name: Setup PHP Environment + run: | + docker build . -t php8-env + docker run -d --name tests php8-env - name: Run Analyze - run: composer analyze + run: docker exec tests composer analyze - name: Run Tests - run: composer test + run: docker exec tests composer test diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c3991ad --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM php:8.0-cli-alpine + +WORKDIR /usr/src/app + +RUN apk update && apk add \ + zip \ + unzip + +# Install composer +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +# Copy composer.json +COPY composer.json ./ + +# Install dependencies +RUN composer install --ignore-platform-reqs + +# Copy source code +COPY . . + +CMD [ "tail", "-f", "/dev/null" ] \ No newline at end of file From 6ec2283939be42507ab06514ced8d21acb98631e Mon Sep 17 00:00:00 2001 From: faisalill Date: Sat, 12 Aug 2023 20:06:01 +0530 Subject: [PATCH 11/13] Remove Dockerfile --- .github/workflows/tests.yml | 20 +++++++++----------- Dockerfile | 21 --------------------- 2 files changed, 9 insertions(+), 32 deletions(-) delete mode 100644 Dockerfile diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 69b50f5..6df1834 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,19 +8,17 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout + - name: Checkout repository uses: actions/checkout@v3 - - - name: Setup PHP Environment - run: | - docker build . -t php8-env - docker run -d --name tests php8-env - - - name: Run Analyze - run: docker exec tests composer analyze - + with: + fetch-depth: 2 + + - run: git checkout HEAD^2 + - name: Run Tests - run: docker exec tests composer test + run: | + docker run --rm -v $PWD:/app composer sh -c \ + "composer install --profile --ignore-platform-reqs && composer analyze && composer test" diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index c3991ad..0000000 --- a/Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -FROM php:8.0-cli-alpine - -WORKDIR /usr/src/app - -RUN apk update && apk add \ - zip \ - unzip - -# Install composer -RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer - -# Copy composer.json -COPY composer.json ./ - -# Install dependencies -RUN composer install --ignore-platform-reqs - -# Copy source code -COPY . . - -CMD [ "tail", "-f", "/dev/null" ] \ No newline at end of file From 5d8ce1b69f8a228bb5007c1466fb3d34fa29afe4 Mon Sep 17 00:00:00 2001 From: faisalill Date: Tue, 15 Aug 2023 08:14:31 +0530 Subject: [PATCH 12/13] Add on push to github workflow tests --- .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 6df1834..d45d5c4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,6 +1,6 @@ name: Tests -on: [pull_request] +on: [push, pull_request] jobs: tests: From a8530d9b0682e626a2f925bf1c91357e31325c73 Mon Sep 17 00:00:00 2001 From: faisalill Date: Tue, 15 Aug 2023 08:18:26 +0530 Subject: [PATCH 13/13] Remove fetch depth --- .github/workflows/tests.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d45d5c4..977ef6c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,10 +10,6 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 - with: - fetch-depth: 2 - - - run: git checkout HEAD^2 - name: Run Tests run: |