From b3c2273780fc8bad251d3e6cf83ed6c112913b1f Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 19 Apr 2023 13:22:13 +0200 Subject: [PATCH 1/9] ci: release action --- .github/workflows/release.yml | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..1ae362587d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,49 @@ +name: "Tests" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +on: [pull_request] +jobs: + tests: + name: Unit & E2E + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + # Fetch submodules + submodules: recursive + + # If this run was triggered by a pull request event, then checkout + # the head of the pull request instead of the merge commit. + - 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@v2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + platforms: linux/amd64,linux/arm64 + build-args: [ 'VERSION=1.XX.X' ] + push: false + tags: + - appwrite/appwrite:latest + - appwrite/appwrite:1.XX.X + - appwrite/appwrite:1.XX + - appwrite/appwrite:1 From 85b8728e7147520b0ce092f7eef569d684767cdb Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 19 Apr 2023 13:23:14 +0200 Subject: [PATCH 2/9] fix: change name --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1ae362587d..0728deaf84 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: "Tests" +name: "Release" concurrency: group: ${{ github.workflow }}-${{ github.ref }} From 08e5dc1c400dd8be6e32775bc2e30879a3002d1f Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 19 Apr 2023 13:25:12 +0200 Subject: [PATCH 3/9] Update release.yml --- .github/workflows/release.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0728deaf84..0cdff0ab08 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,10 +40,11 @@ jobs: with: context: . platforms: linux/amd64,linux/arm64 - build-args: [ 'VERSION=1.XX.X' ] + build-args: | + VERSION=1.XX.X push: false - tags: - - appwrite/appwrite:latest - - appwrite/appwrite:1.XX.X - - appwrite/appwrite:1.XX - - appwrite/appwrite:1 + images: | + appwrite/appwrite:latest + appwrite/appwrite:1.XX.X + appwrite/appwrite:1.XX + appwrite/appwrite:1 From a769a18ba02b58fc4ca18f397d3dee2a4282be14 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 19 Apr 2023 13:54:48 +0200 Subject: [PATCH 4/9] update tags --- .github/workflows/release.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0cdff0ab08..1a52e53ed3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,8 +43,4 @@ jobs: build-args: | VERSION=1.XX.X push: false - images: | - appwrite/appwrite:latest - appwrite/appwrite:1.XX.X - appwrite/appwrite:1.XX - appwrite/appwrite:1 + tags: appwrite/appwrite:latest,appwrite/appwrite:1.XX.X,appwrite/appwrite:1.XX,appwrite/appwrite:1 From 590ae9cfe40f7561e8a152a7f583218b21f8d8c3 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 19 Apr 2023 13:55:05 +0200 Subject: [PATCH 5/9] update tags --- .github/workflows/release.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1a52e53ed3..2608717159 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,4 +43,8 @@ jobs: build-args: | VERSION=1.XX.X push: false - tags: appwrite/appwrite:latest,appwrite/appwrite:1.XX.X,appwrite/appwrite:1.XX,appwrite/appwrite:1 + tags: | + appwrite/appwrite:latest + appwrite/appwrite:1.XX.X + appwrite/appwrite:1.XX + appwrite/appwrite:1 From 7d119aa68c290a087c3d048bb41b7bf19679d231 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 19 Apr 2023 14:03:23 +0200 Subject: [PATCH 6/9] ci: try sharing console build for all --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4ea62fd0d7..1a55209208 100755 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ RUN composer install --ignore-platform-reqs --optimize-autoloader \ --no-plugins --no-scripts --prefer-dist \ `if [ "$TESTING" != "true" ]; then echo "--no-dev"; fi` -FROM node:16.14.2-alpine3.15 as node +FROM --platform=$BUILDPLATFORM node:16.14.2-alpine3.15 as node COPY app/console /usr/local/src/console From ba1e5a71596a0dec19c7b211a98f530994a90702 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Thu, 20 Apr 2023 21:46:29 +0200 Subject: [PATCH 7/9] ci: use proper versions --- .github/workflows/release.yml | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2608717159..fdd205d301 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,10 +1,9 @@ name: "Release" -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true +on: + release: + types: [published] -on: [pull_request] jobs: tests: name: Unit & E2E @@ -35,16 +34,23 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: appwrite/appwrite + tags: | + type=semver,pattern={{version}} + type=semver,pattern={{major}} + type=semver,pattern={{major}}.{{minor}} + - name: Build and push uses: docker/build-push-action@v4 with: context: . platforms: linux/amd64,linux/arm64 build-args: | - VERSION=1.XX.X + VERSION=${{ steps.meta.outputs.version }} push: false - tags: | - appwrite/appwrite:latest - appwrite/appwrite:1.XX.X - appwrite/appwrite:1.XX - appwrite/appwrite:1 + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} From 725ebfcd44aa1bf0e708bd78e6f1181435c01860 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Thu, 20 Apr 2023 22:15:29 +0200 Subject: [PATCH 8/9] fix: ci version numbers --- .github/workflows/release.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fdd205d301..9116d7c32c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,11 +19,6 @@ jobs: # Fetch submodules submodules: recursive - # If this run was triggered by a pull request event, then checkout - # the head of the pull request instead of the merge commit. - - 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@v2 @@ -34,6 +29,12 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 @@ -51,6 +52,6 @@ jobs: platforms: linux/amd64,linux/arm64 build-args: | VERSION=${{ steps.meta.outputs.version }} - push: false + push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From 097030c348e2d0af909a9d858860830bedf629cb Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Fri, 21 Apr 2023 11:58:59 +0200 Subject: [PATCH 9/9] fix:: adapt to review --- .github/workflows/release.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9116d7c32c..6f8ea5fa93 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,10 +19,6 @@ jobs: # Fetch submodules submodules: recursive - # This is a separate action that sets up buildx runner - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Set up QEMU uses: docker/setup-qemu-action@v2 @@ -41,9 +37,9 @@ jobs: with: images: appwrite/appwrite tags: | - type=semver,pattern={{version}} type=semver,pattern={{major}} type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}}.{{minor}}.{{patch}} - name: Build and push uses: docker/build-push-action@v4