From 02ba277a86f9c6991415b08ec141169bbcdfdfa3 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 7 Mar 2023 13:25:08 +0100 Subject: [PATCH 01/12] fix: show ip address as host in public dbs --- apps/api/src/lib/common.ts | 4 +- .../[id]/_Databases/_Databases.svelte | 74 ++++++++++++------- package.json | 2 +- 3 files changed, 51 insertions(+), 29 deletions(-) diff --git a/apps/api/src/lib/common.ts b/apps/api/src/lib/common.ts index 322bb3bd8..403d4fedb 100644 --- a/apps/api/src/lib/common.ts +++ b/apps/api/src/lib/common.ts @@ -15,11 +15,11 @@ import * as SSHConfig from 'ssh-config/src/ssh-config'; import jsonwebtoken from 'jsonwebtoken'; import { checkContainer, removeContainer } from './docker'; import { day } from './dayjs'; -import { saveBuildLog, saveDockerRegistryCredentials } from './buildPacks/common'; +import { saveBuildLog } from './buildPacks/common'; import { scheduler } from './scheduler'; import type { ExecaChildProcess } from 'execa'; -export const version = '3.12.26'; +export const version = '3.12.27'; export const isDev = process.env.NODE_ENV === 'development'; export const proxyPort = process.env.COOLIFY_PROXY_PORT; export const proxySecurePort = process.env.COOLIFY_PROXY_SECURE_PORT; diff --git a/apps/ui/src/routes/databases/[id]/_Databases/_Databases.svelte b/apps/ui/src/routes/databases/[id]/_Databases/_Databases.svelte index 02c98e150..7e5f93c00 100644 --- a/apps/ui/src/routes/databases/[id]/_Databases/_Databases.svelte +++ b/apps/ui/src/routes/databases/[id]/_Databases/_Databases.svelte @@ -49,23 +49,23 @@ databaseDbUser = ''; } } - function generateUrl() { - const ipAddress = () => { - if ($status.database.isPublic) { - if (database.destinationDocker.remoteEngine) { - return database.destinationDocker.remoteIpAddress; - } - if ($appSession.ipv6) { - return $appSession.ipv6; - } - if ($appSession.ipv4) { - return $appSession.ipv4; - } - return ''; - } else { - return database.id; + function ipAddress() { + if ($status.database.isPublic) { + if (database.destinationDocker.remoteEngine) { + return database.destinationDocker.remoteIpAddress; } - }; + if ($appSession.ipv6) { + return $appSession.ipv6; + } + if ($appSession.ipv4) { + return $appSession.ipv4; + } + return ''; + } else { + return database.id; + } + } + function generateUrl() { const user = () => { if (databaseDbUser) { return databaseDbUser + ':'; @@ -183,16 +183,38 @@ class:cursor-pointer={!$status.database.isRunning} /> - - + {#if $status.database.isPublic} + + + + + {:else} + + + {/if} + Date: Thu, 16 Mar 2023 08:48:37 +0100 Subject: [PATCH 02/12] test --- .github/workflows/staging-release-ghcr.yml | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 .github/workflows/staging-release-ghcr.yml diff --git a/.github/workflows/staging-release-ghcr.yml b/.github/workflows/staging-release-ghcr.yml new file mode 100644 index 000000000..d799f64b0 --- /dev/null +++ b/.github/workflows/staging-release-ghcr.yml @@ -0,0 +1,73 @@ +name: staging-release + +on: + push: + paths: + - "**" + - "!others/fluentbit" + - "!others/pocketbase" + - "!.github/workflows/fluent-bit-release.yml" + - "!.github/workflows/pocketbase-release.yml" + branches: + - ghcr +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify-test" + +jobs: + amd64: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: "next" + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + # merge-manifest: + # runs-on: ubuntu-latest + # needs: [amd64] + # steps: + # - name: Checkout + # uses: actions/checkout@v3 + # - name: Set up QEMU + # uses: docker/setup-qemu-action@v2 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v2 + # - name: Login to DockerHub + # uses: docker/login-action@v2 + # with: + # registry: ${{ env.REGISTRY }} + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} + # - name: Create & publish manifest + # run: | + # docker buildx imagetools create --tag coollabsio/coolify:next + # - uses: sarisia/actions-status-discord@v1 + # if: always() + # with: + # webhook: ${{ secrets.DISCORD_WEBHOOK_DEV_RELEASE_CHANNEL }} From cae466745a2896d6aa3d0a50ff8ebb88f2052352 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 16 Mar 2023 09:10:11 +0100 Subject: [PATCH 03/12] test --- .github/workflows/staging-release-ghcr.yml | 94 +++++++++++++++------- 1 file changed, 63 insertions(+), 31 deletions(-) diff --git a/.github/workflows/staging-release-ghcr.yml b/.github/workflows/staging-release-ghcr.yml index d799f64b0..4e0dfcff1 100644 --- a/.github/workflows/staging-release-ghcr.yml +++ b/.github/workflows/staging-release-ghcr.yml @@ -1,4 +1,4 @@ -name: staging-release +name: staging-release-ghcr on: push: @@ -11,8 +11,8 @@ on: branches: - ghcr env: - REGISTRY: ghcr.io - IMAGE_NAME: "coollabsio/coolify-test" + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify-test" jobs: amd64: @@ -32,12 +32,9 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push @@ -46,28 +43,63 @@ jobs: context: . platforms: linux/amd64 push: true - tags: ${{ steps.meta.outputs.tags }} + tags: ${{ steps.meta.outputs.tags }}-amd64 labels: ${{ steps.meta.outputs.labels }} - # merge-manifest: - # runs-on: ubuntu-latest - # needs: [amd64] - # steps: - # - name: Checkout - # uses: actions/checkout@v3 - # - name: Set up QEMU - # uses: docker/setup-qemu-action@v2 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v2 - # - name: Login to DockerHub - # uses: docker/login-action@v2 - # with: - # registry: ${{ env.REGISTRY }} - # username: ${{ github.actor }} - # password: ${{ secrets.GITHUB_TOKEN }} - # - name: Create & publish manifest - # run: | - # docker buildx imagetools create --tag coollabsio/coolify:next - # - uses: sarisia/actions-status-discord@v1 - # if: always() - # with: - # webhook: ${{ secrets.DISCORD_WEBHOOK_DEV_RELEASE_CHANNEL }} + arm64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: "next" + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }}-arm64 + labels: ${{ steps.meta.outputs.labels }} + merge-manifest: + runs-on: ubuntu-latest + needs: [amd64, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Create & publish manifest + run: | + docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.tags }}-arm64 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.tags }} + # - uses: sarisia/actions-status-discord@v1 + # if: always() + # with: + # webhook: ${{ secrets.DISCORD_WEBHOOK_DEV_RELEASE_CHANNEL }} From ac188d137a5cf8fc264070348c0dd8d06de87620 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 16 Mar 2023 09:32:20 +0100 Subject: [PATCH 04/12] test --- .github/workflows/staging-release-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/staging-release-ghcr.yml b/.github/workflows/staging-release-ghcr.yml index 4e0dfcff1..bc4e5221f 100644 --- a/.github/workflows/staging-release-ghcr.yml +++ b/.github/workflows/staging-release-ghcr.yml @@ -98,7 +98,7 @@ jobs: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Create & publish manifest run: | - docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.tags }}-arm64 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.tags }} + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --append ${{ steps.meta.outputs.tags }}-arm64 --tag ${{ steps.meta.outputs.tags }} # - uses: sarisia/actions-status-discord@v1 # if: always() # with: From 06e8a6af230acb9a1cc72a6f887e9fa9860d49fb Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 16 Mar 2023 09:38:20 +0100 Subject: [PATCH 05/12] test --- .github/workflows/staging-release-ghcr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/staging-release-ghcr.yml b/.github/workflows/staging-release-ghcr.yml index bc4e5221f..19e3e7b2f 100644 --- a/.github/workflows/staging-release-ghcr.yml +++ b/.github/workflows/staging-release-ghcr.yml @@ -43,7 +43,7 @@ jobs: context: . platforms: linux/amd64 push: true - tags: ${{ steps.meta.outputs.tags }}-amd64 + tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} arm64: runs-on: [self-hosted, arm64] @@ -98,7 +98,7 @@ jobs: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Create & publish manifest run: | - docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --append ${{ steps.meta.outputs.tags }}-arm64 --tag ${{ steps.meta.outputs.tags }} + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --tag ${{ steps.meta.outputs.tags }} # - uses: sarisia/actions-status-discord@v1 # if: always() # with: From e6d72e9f870f0dc24cb3d63b3a5bb37c02cc9314 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 16 Mar 2023 09:56:39 +0100 Subject: [PATCH 06/12] test --- .github/workflows/proudction-release-test.yml | 40 +++++++ .../workflows/staging-release-dockerhub.yml | 92 +++++++++++++++ .github/workflows/staging-release-ghcr.yml | 105 ------------------ .github/workflows/staging-release.yml | 95 +++++++++------- 4 files changed, 186 insertions(+), 146 deletions(-) create mode 100644 .github/workflows/proudction-release-test.yml create mode 100644 .github/workflows/staging-release-dockerhub.yml delete mode 100644 .github/workflows/staging-release-ghcr.yml diff --git a/.github/workflows/proudction-release-test.yml b/.github/workflows/proudction-release-test.yml new file mode 100644 index 000000000..470b38851 --- /dev/null +++ b/.github/workflows/proudction-release-test.yml @@ -0,0 +1,40 @@ +name: production-release-test + +on: + release: + types: [prereleased] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify-test" + +jobs: + amd64: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + \ No newline at end of file diff --git a/.github/workflows/staging-release-dockerhub.yml b/.github/workflows/staging-release-dockerhub.yml new file mode 100644 index 000000000..71847aeba --- /dev/null +++ b/.github/workflows/staging-release-dockerhub.yml @@ -0,0 +1,92 @@ +name: staging-release + +on: + push: + paths: + - "**" + - "!others/fluentbit" + - "!others/pocketbase" + - "!.github/workflows/fluent-bit-release.yml" + - "!.github/workflows/pocketbase-release.yml" + branches: + - "not-existing-branch" + +jobs: + arm64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: "next" + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/arm64 + push: true + tags: coollabsio/coolify:next-arm64 + cache-from: type=registry,ref=coollabsio/coolify:buildcache-next-arm64 + cache-to: type=registry,ref=coollabsio/coolify:buildcache-next-arm64,mode=max + amd64: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: "next" + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + push: true + tags: coollabsio/coolify:next + cache-from: type=registry,ref=coollabsio/coolify:buildcache-next-amd64 + cache-to: type=registry,ref=coollabsio/coolify:buildcache-next-amd64,mode=max + merge-manifest: + runs-on: ubuntu-latest + needs: [arm64, amd64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Create & publish manifest + run: | + docker buildx imagetools create --append coollabsio/coolify:next-arm64 --tag coollabsio/coolify:next + - uses: sarisia/actions-status-discord@v1 + if: always() + with: + webhook: ${{ secrets.DISCORD_WEBHOOK_DEV_RELEASE_CHANNEL }} diff --git a/.github/workflows/staging-release-ghcr.yml b/.github/workflows/staging-release-ghcr.yml deleted file mode 100644 index 19e3e7b2f..000000000 --- a/.github/workflows/staging-release-ghcr.yml +++ /dev/null @@ -1,105 +0,0 @@ -name: staging-release-ghcr - -on: - push: - paths: - - "**" - - "!others/fluentbit" - - "!others/pocketbase" - - "!.github/workflows/fluent-bit-release.yml" - - "!.github/workflows/pocketbase-release.yml" - branches: - - ghcr -env: - REGISTRY: ghcr.io - IMAGE_NAME: "coollabsio/coolify-test" - -jobs: - amd64: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - ref: "next" - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - platforms: linux/amd64 - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - arm64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - ref: "next" - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - platforms: linux/arm64 - push: true - tags: ${{ steps.meta.outputs.tags }}-arm64 - labels: ${{ steps.meta.outputs.labels }} - merge-manifest: - runs-on: ubuntu-latest - needs: [amd64, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Create & publish manifest - run: | - docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --tag ${{ steps.meta.outputs.tags }} - # - uses: sarisia/actions-status-discord@v1 - # if: always() - # with: - # webhook: ${{ secrets.DISCORD_WEBHOOK_DEV_RELEASE_CHANNEL }} diff --git a/.github/workflows/staging-release.yml b/.github/workflows/staging-release.yml index e52db63da..fd86fb234 100644 --- a/.github/workflows/staging-release.yml +++ b/.github/workflows/staging-release.yml @@ -9,37 +9,12 @@ on: - "!.github/workflows/fluent-bit-release.yml" - "!.github/workflows/pocketbase-release.yml" branches: - - next + - "not-existing-branch" # should be !main +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify" jobs: - arm64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - ref: "next" - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: . - platforms: linux/arm64 - push: true - tags: coollabsio/coolify:next-arm64 - cache-from: type=registry,ref=coollabsio/coolify:buildcache-next-arm64 - cache-to: type=registry,ref=coollabsio/coolify:buildcache-next-arm64,mode=max amd64: runs-on: ubuntu-latest steps: @@ -54,23 +29,55 @@ jobs: - name: Login to DockerHub uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64 push: true - tags: coollabsio/coolify:next - cache-from: type=registry,ref=coollabsio/coolify:buildcache-next-amd64 - cache-to: type=registry,ref=coollabsio/coolify:buildcache-next-amd64,mode=max + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + arm64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: "next" + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }}-arm64 + labels: ${{ steps.meta.outputs.labels }} merge-manifest: runs-on: ubuntu-latest - needs: [arm64, amd64] + needs: [amd64, arm64] steps: - name: Checkout uses: actions/checkout@v3 @@ -81,11 +88,17 @@ jobs: - name: Login to DockerHub uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Create & publish manifest run: | - docker buildx imagetools create --append coollabsio/coolify:next-arm64 --tag coollabsio/coolify:next + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --tag ${{ steps.meta.outputs.tags }} - uses: sarisia/actions-status-discord@v1 if: always() with: From 022ccb42a100cfa7737f428ca70b7c20391b0098 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 16 Mar 2023 10:04:53 +0100 Subject: [PATCH 07/12] test --- .github/workflows/proudction-release-test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/proudction-release-test.yml b/.github/workflows/proudction-release-test.yml index 470b38851..8ffc534c6 100644 --- a/.github/workflows/proudction-release-test.yml +++ b/.github/workflows/proudction-release-test.yml @@ -29,6 +29,11 @@ jobs: uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} - name: Build and push uses: docker/build-push-action@v3 with: From 3438d10e251199f35efff539661e8a4b6f171648 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 16 Mar 2023 10:13:44 +0100 Subject: [PATCH 08/12] test --- .github/workflows/production-release-ghcr.yml | 123 +++++++++++++++ .github/workflows/proudction-release-test.yml | 45 ------ .github/workflows/release-candidate.yml | 145 ++++++++++++++++++ 3 files changed, 268 insertions(+), 45 deletions(-) create mode 100644 .github/workflows/production-release-ghcr.yml delete mode 100644 .github/workflows/proudction-release-test.yml create mode 100644 .github/workflows/release-candidate.yml diff --git a/.github/workflows/production-release-ghcr.yml b/.github/workflows/production-release-ghcr.yml new file mode 100644 index 000000000..c95724ce8 --- /dev/null +++ b/.github/workflows/production-release-ghcr.yml @@ -0,0 +1,123 @@ +name: production-release + +on: + release: + types: [released] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify" + +jobs: + arm64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }}-arm64 + labels: ${{ steps.meta.outputs.labels }} + amd64: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + aarch64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/aarch64 + push: true + tags: ${{ steps.meta.outputs.tags }}-aarch64 + labels: ${{ steps.meta.outputs.labels }} + merge-manifest: + runs-on: ubuntu-latest + needs: [amd64, arm64, aarch64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Create & publish manifest + run: | + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} + - uses: sarisia/actions-status-discord@v1 + if: always() + with: + webhook: ${{ secrets.DISCORD_WEBHOOK_PROD_RELEASE_CHANNEL }} diff --git a/.github/workflows/proudction-release-test.yml b/.github/workflows/proudction-release-test.yml deleted file mode 100644 index 8ffc534c6..000000000 --- a/.github/workflows/proudction-release-test.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: production-release-test - -on: - release: - types: [prereleased] - -env: - REGISTRY: ghcr.io - IMAGE_NAME: "coollabsio/coolify-test" - -jobs: - amd64: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to ghcr.io - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - platforms: linux/amd64 - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - \ No newline at end of file diff --git a/.github/workflows/release-candidate.yml b/.github/workflows/release-candidate.yml new file mode 100644 index 000000000..d173fb20b --- /dev/null +++ b/.github/workflows/release-candidate.yml @@ -0,0 +1,145 @@ +name: release-cancidate + +on: + release: + types: [prereleased] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify-test" + +jobs: + amd64: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + arm64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: "next" + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }}-arm64 + labels: ${{ steps.meta.outputs.labels }} + aarch64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/aarch64 + push: true + tags: ${{ steps.meta.outputs.tags }}-arm64 + labels: ${{ steps.meta.outputs.labels }} + merge-manifest: + runs-on: ubuntu-latest + needs: [amd64, arm64, aarch64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + - name: Create & publish manifest + run: | + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} + - uses: sarisia/actions-status-discord@v1 + if: always() + with: + webhook: ${{ secrets.DISCORD_WEBHOOK_DEV_RELEASE_CHANNEL }} From 96cd99f904751d61a2fb457fab02d8a42b7e7b8b Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 16 Mar 2023 10:23:14 +0100 Subject: [PATCH 09/12] fixes --- .../production-release-dockerhub.yml | 111 ++++++++++++++++ .github/workflows/production-release-ghcr.yml | 123 ------------------ .github/workflows/production-release.yml | 90 +++++++------ .github/workflows/release-candidate.yml | 6 +- .github/workflows/staging-release.yml | 2 +- apps/api/src/index.ts | 4 +- apps/api/src/lib/common.ts | 2 +- apps/api/src/routes/api/v1/handlers.ts | 4 +- .../routes/applications/[id]/revert.svelte | 2 +- package.json | 2 +- 10 files changed, 173 insertions(+), 173 deletions(-) create mode 100644 .github/workflows/production-release-dockerhub.yml delete mode 100644 .github/workflows/production-release-ghcr.yml diff --git a/.github/workflows/production-release-dockerhub.yml b/.github/workflows/production-release-dockerhub.yml new file mode 100644 index 000000000..0a0ccf089 --- /dev/null +++ b/.github/workflows/production-release-dockerhub.yml @@ -0,0 +1,111 @@ +name: production-release + +on: + release: + types: [released] + +jobs: + arm64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/arm64 + push: true + tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}}-arm64 + cache-from: type=registry,ref=coollabsio/coolify:buildcache-arm64 + cache-to: type=registry,ref=coollabsio/coolify:buildcache-arm64,mode=max + amd64: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + push: true + tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}} + cache-from: type=registry,ref=coollabsio/coolify:buildcache-amd64 + cache-to: type=registry,ref=coollabsio/coolify:buildcache-amd64,mode=max + aarch64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/aarch64 + push: true + tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}}-aarch64 + cache-from: type=registry,ref=coollabsio/coolify:buildcache-aarch64 + cache-to: type=registry,ref=coollabsio/coolify:buildcache-aarch64,mode=max + merge-manifest: + runs-on: ubuntu-latest + needs: [amd64, arm64, aarch64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version + - name: Create & publish manifest + run: | + docker buildx imagetools create --append coollabsio/coolify:${{steps.package-version.outputs.current-version}}-arm64 --append coollabsio/coolify:${{steps.package-version.outputs.current-version}}-aarch64 --tag coollabsio/coolify:${{steps.package-version.outputs.current-version}} + docker buildx imagetools create coollabsio/coolify:${{steps.package-version.outputs.current-version}} --tag coollabsio/coolify:latest + - uses: sarisia/actions-status-discord@v1 + if: always() + with: + webhook: ${{ secrets.DISCORD_WEBHOOK_PROD_RELEASE_CHANNEL }} diff --git a/.github/workflows/production-release-ghcr.yml b/.github/workflows/production-release-ghcr.yml deleted file mode 100644 index c95724ce8..000000000 --- a/.github/workflows/production-release-ghcr.yml +++ /dev/null @@ -1,123 +0,0 @@ -name: production-release - -on: - release: - types: [released] - -env: - REGISTRY: ghcr.io - IMAGE_NAME: "coollabsio/coolify" - -jobs: - arm64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to ghcr.io - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - platforms: linux/arm64 - push: true - tags: ${{ steps.meta.outputs.tags }}-arm64 - labels: ${{ steps.meta.outputs.labels }} - amd64: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to ghcr.io - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - platforms: linux/amd64 - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - aarch64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to ghcr.io - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - platforms: linux/aarch64 - push: true - tags: ${{ steps.meta.outputs.tags }}-aarch64 - labels: ${{ steps.meta.outputs.labels }} - merge-manifest: - runs-on: ubuntu-latest - needs: [amd64, arm64, aarch64] - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to ghcr.io - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Create & publish manifest - run: | - docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} - - uses: sarisia/actions-status-discord@v1 - if: always() - with: - webhook: ${{ secrets.DISCORD_WEBHOOK_PROD_RELEASE_CHANNEL }} diff --git a/.github/workflows/production-release.yml b/.github/workflows/production-release.yml index 0a0ccf089..c95724ce8 100644 --- a/.github/workflows/production-release.yml +++ b/.github/workflows/production-release.yml @@ -4,6 +4,10 @@ on: release: types: [released] +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify" + jobs: arm64: runs-on: [self-hosted, arm64] @@ -14,23 +18,25 @@ jobs: uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 + - name: Login to ghcr.io + uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v3 with: context: . platforms: linux/arm64 push: true - tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}}-arm64 - cache-from: type=registry,ref=coollabsio/coolify:buildcache-arm64 - cache-to: type=registry,ref=coollabsio/coolify:buildcache-arm64,mode=max + tags: ${{ steps.meta.outputs.tags }}-arm64 + labels: ${{ steps.meta.outputs.labels }} amd64: runs-on: ubuntu-latest steps: @@ -40,23 +46,25 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64 push: true - tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}} - cache-from: type=registry,ref=coollabsio/coolify:buildcache-amd64 - cache-to: type=registry,ref=coollabsio/coolify:buildcache-amd64,mode=max + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} aarch64: runs-on: [self-hosted, arm64] steps: @@ -66,23 +74,25 @@ jobs: uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 + - name: Login to ghcr.io + uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v3 with: context: . platforms: linux/aarch64 push: true - tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}}-aarch64 - cache-from: type=registry,ref=coollabsio/coolify:buildcache-aarch64 - cache-to: type=registry,ref=coollabsio/coolify:buildcache-aarch64,mode=max + tags: ${{ steps.meta.outputs.tags }}-aarch64 + labels: ${{ steps.meta.outputs.labels }} merge-manifest: runs-on: ubuntu-latest needs: [amd64, arm64, aarch64] @@ -93,18 +103,20 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Create & publish manifest run: | - docker buildx imagetools create --append coollabsio/coolify:${{steps.package-version.outputs.current-version}}-arm64 --append coollabsio/coolify:${{steps.package-version.outputs.current-version}}-aarch64 --tag coollabsio/coolify:${{steps.package-version.outputs.current-version}} - docker buildx imagetools create coollabsio/coolify:${{steps.package-version.outputs.current-version}} --tag coollabsio/coolify:latest + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} - uses: sarisia/actions-status-discord@v1 if: always() with: diff --git a/.github/workflows/release-candidate.yml b/.github/workflows/release-candidate.yml index d173fb20b..665dbdf92 100644 --- a/.github/workflows/release-candidate.yml +++ b/.github/workflows/release-candidate.yml @@ -1,4 +1,4 @@ -name: release-cancidate +name: release-candidate on: release: @@ -6,7 +6,7 @@ on: env: REGISTRY: ghcr.io - IMAGE_NAME: "coollabsio/coolify-test" + IMAGE_NAME: "coollabsio/coolify" jobs: amd64: @@ -108,7 +108,7 @@ jobs: context: . platforms: linux/aarch64 push: true - tags: ${{ steps.meta.outputs.tags }}-arm64 + tags: ${{ steps.meta.outputs.tags }}-aarch64 labels: ${{ steps.meta.outputs.labels }} merge-manifest: runs-on: ubuntu-latest diff --git a/.github/workflows/staging-release.yml b/.github/workflows/staging-release.yml index fd86fb234..5bd6ada8f 100644 --- a/.github/workflows/staging-release.yml +++ b/.github/workflows/staging-release.yml @@ -9,7 +9,7 @@ on: - "!.github/workflows/fluent-bit-release.yml" - "!.github/workflows/pocketbase-release.yml" branches: - - "not-existing-branch" # should be !main + - "!main" env: REGISTRY: ghcr.io IMAGE_NAME: "coollabsio/coolify" diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index 2b12ed56d..d53d02fa6 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -402,14 +402,14 @@ async function autoUpdater() { if (!isDev) { const { isAutoUpdateEnabled } = await prisma.setting.findFirst(); if (isAutoUpdateEnabled) { - await executeCommand({ command: `docker pull coollabsio/coolify:${latestVersion}` }); + await executeCommand({ command: `docker pull ghcr.io/coollabsio/coolify:${latestVersion}` }); await executeCommand({ shell: true, command: `env | grep '^COOLIFY' > .env` }); await executeCommand({ command: `sed -i '/COOLIFY_AUTO_UPDATE=/cCOOLIFY_AUTO_UPDATE=${isAutoUpdateEnabled}' .env` }); await executeCommand({ shell: true, - command: `docker run --rm -tid --env-file .env -v /var/run/docker.sock:/var/run/docker.sock -v coolify-db coollabsio/coolify:${latestVersion} /bin/sh -c "env | grep COOLIFY > .env && echo 'TAG=${latestVersion}' >> .env && docker stop -t 0 coolify coolify-fluentbit && docker rm coolify coolify-fluentbit && docker compose pull && docker compose up -d --force-recreate"` + command: `docker run --rm -tid --env-file .env -v /var/run/docker.sock:/var/run/docker.sock -v coolify-db ghcr.io/coollabsio/coolify:${latestVersion} /bin/sh -c "env | grep COOLIFY > .env && echo 'TAG=${latestVersion}' >> .env && docker stop -t 0 coolify coolify-fluentbit && docker rm coolify coolify-fluentbit && docker compose pull && docker compose up -d --force-recreate"` }); } } else { diff --git a/apps/api/src/lib/common.ts b/apps/api/src/lib/common.ts index 403d4fedb..a8a7b92d0 100644 --- a/apps/api/src/lib/common.ts +++ b/apps/api/src/lib/common.ts @@ -19,7 +19,7 @@ import { saveBuildLog } from './buildPacks/common'; import { scheduler } from './scheduler'; import type { ExecaChildProcess } from 'execa'; -export const version = '3.12.27'; +export const version = '3.12.28'; export const isDev = process.env.NODE_ENV === 'development'; export const proxyPort = process.env.COOLIFY_PROXY_PORT; export const proxySecurePort = process.env.COOLIFY_PROXY_SECURE_PORT; diff --git a/apps/api/src/routes/api/v1/handlers.ts b/apps/api/src/routes/api/v1/handlers.ts index 52d5e4e38..8dd0f3adb 100644 --- a/apps/api/src/routes/api/v1/handlers.ts +++ b/apps/api/src/routes/api/v1/handlers.ts @@ -156,14 +156,14 @@ export async function update(request: FastifyRequest) { try { if (!isDev) { const { isAutoUpdateEnabled } = await prisma.setting.findFirst(); - await executeCommand({ command: `docker pull coollabsio/coolify:${latestVersion}` }); + await executeCommand({ command: `docker pull ghcr.io/coollabsio/coolify:${latestVersion}` }); await executeCommand({ shell: true, command: `env | grep COOLIFY > .env` }); await executeCommand({ command: `sed -i '/COOLIFY_AUTO_UPDATE=/cCOOLIFY_AUTO_UPDATE=${isAutoUpdateEnabled}' .env` }); await executeCommand({ shell: true, - command: `docker run --rm -tid --env-file .env -v /var/run/docker.sock:/var/run/docker.sock -v coolify-db coollabsio/coolify:${latestVersion} /bin/sh -c "env | grep COOLIFY > .env && echo 'TAG=${latestVersion}' >> .env && docker stop -t 0 coolify coolify-fluentbit && docker rm coolify coolify-fluentbit && docker compose pull && docker compose up -d --force-recreate"` + command: `docker run --rm -tid --env-file .env -v /var/run/docker.sock:/var/run/docker.sock -v coolify-db ghcr.io/coollabsio/coolify:${latestVersion} /bin/sh -c "env | grep COOLIFY > .env && echo 'TAG=${latestVersion}' >> .env && docker stop -t 0 coolify coolify-fluentbit && docker rm coolify coolify-fluentbit && docker compose pull && docker compose up -d --force-recreate"` }); return {}; } else { diff --git a/apps/ui/src/routes/applications/[id]/revert.svelte b/apps/ui/src/routes/applications/[id]/revert.svelte index 6d632cd65..fcbc0a523 100644 --- a/apps/ui/src/routes/applications/[id]/revert.svelte +++ b/apps/ui/src/routes/applications/[id]/revert.svelte @@ -158,7 +158,7 @@ id="dockerImage" name="dockerImage" required - placeholder="coollabsio/coolify:0.0.1" + placeholder="ghcr.io/coollabsio/coolify:0.0.1" bind:value={remoteImage} /> diff --git a/package.json b/package.json index 40e105acb..b36bcee3b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "coolify", "description": "An open-source & self-hostable Heroku / Netlify alternative.", - "version": "3.12.27", + "version": "3.12.28", "license": "Apache-2.0", "repository": "github:coollabsio/coolify", "scripts": { From 43603b0961a8dfbf368e3668700241b4254db0a9 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 16 Mar 2023 10:26:20 +0100 Subject: [PATCH 10/12] update --- .github/workflows/staging-release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/staging-release.yml b/.github/workflows/staging-release.yml index 5bd6ada8f..e99d46343 100644 --- a/.github/workflows/staging-release.yml +++ b/.github/workflows/staging-release.yml @@ -1,6 +1,7 @@ name: staging-release on: + pull_request: push: paths: - "**" @@ -8,8 +9,8 @@ on: - "!others/pocketbase" - "!.github/workflows/fluent-bit-release.yml" - "!.github/workflows/pocketbase-release.yml" - branches: - - "!main" + branches-ignore: + - "main" env: REGISTRY: ghcr.io IMAGE_NAME: "coollabsio/coolify" From a54a36ae18af9578f985a30d133463efe9e1da15 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 16 Mar 2023 10:50:26 +0100 Subject: [PATCH 11/12] updates --- .../pocketbase-release-dockerhub.yml | 93 +++++++++++++++++++ .github/workflows/pocketbase-release.yml | 58 +++++------- .github/workflows/production-release.yml | 32 +------ .github/workflows/release-candidate.yml | 39 +------- .github/workflows/staging-release.yml | 23 +++-- 5 files changed, 130 insertions(+), 115 deletions(-) create mode 100644 .github/workflows/pocketbase-release-dockerhub.yml diff --git a/.github/workflows/pocketbase-release-dockerhub.yml b/.github/workflows/pocketbase-release-dockerhub.yml new file mode 100644 index 000000000..02b8aa6dd --- /dev/null +++ b/.github/workflows/pocketbase-release-dockerhub.yml @@ -0,0 +1,93 @@ +name: pocketbase-release + +on: + push: + paths: + - "others/pocketbase/*" + - ".github/workflows/pocketbase-release.yml" + branches: + - next + - main +jobs: + arm64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: others/pocketbase/ + platforms: linux/arm64 + push: true + tags: coollabsio/pocketbase:0.12.3-arm64 + amd64: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: others/pocketbase/ + platforms: linux/amd64 + push: true + tags: coollabsio/pocketbase:0.12.3-amd64 + aarch64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: others/pocketbase/ + platforms: linux/aarch64 + push: true + tags: coollabsio/pocketbase:0.12.3-aarch64 + merge-manifest: + runs-on: ubuntu-latest + needs: [amd64, arm64, aarch64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Create & publish manifest + run: | + docker manifest create coollabsio/pocketbase:0.12.3 --amend coollabsio/pocketbase:0.12.3-amd64 --amend coollabsio/pocketbase:0.12.3-arm64 --amend coollabsio/pocketbase:0.12.3-aarch64 + docker manifest push coollabsio/pocketbase:0.12.3 diff --git a/.github/workflows/pocketbase-release.yml b/.github/workflows/pocketbase-release.yml index 02b8aa6dd..61a475820 100644 --- a/.github/workflows/pocketbase-release.yml +++ b/.github/workflows/pocketbase-release.yml @@ -8,28 +8,12 @@ on: branches: - next - main +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/pocketbase" + VERSION: "0.12.3" + jobs: - arm64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: others/pocketbase/ - platforms: linux/arm64 - push: true - tags: coollabsio/pocketbase:0.12.3-arm64 amd64: runs-on: ubuntu-latest steps: @@ -39,18 +23,19 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v3 with: context: others/pocketbase/ platforms: linux/amd64 push: true - tags: coollabsio/pocketbase:0.12.3-amd64 + tags: ${{ env.IMAGE_NAME }}:${{ env.VERSION }} aarch64: runs-on: [self-hosted, arm64] steps: @@ -60,21 +45,22 @@ jobs: uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 + - name: Login to ghcr.io + uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v2 with: context: others/pocketbase/ platforms: linux/aarch64 push: true - tags: coollabsio/pocketbase:0.12.3-aarch64 + tags: ${{ env.IMAGE_NAME }}:${{ env.VERSION }}-aarch64 merge-manifest: runs-on: ubuntu-latest - needs: [amd64, arm64, aarch64] + needs: [amd64, aarch64] steps: - name: Checkout uses: actions/checkout@v3 @@ -82,12 +68,12 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Create & publish manifest run: | - docker manifest create coollabsio/pocketbase:0.12.3 --amend coollabsio/pocketbase:0.12.3-amd64 --amend coollabsio/pocketbase:0.12.3-arm64 --amend coollabsio/pocketbase:0.12.3-aarch64 - docker manifest push coollabsio/pocketbase:0.12.3 + docker buildx imagetools create --amend ${{ env.IMAGE_NAME }}:${{ env.VERSION }}-aarch64 --tag ${{ env.IMAGE_NAME }}:${{ env.VERSION }} diff --git a/.github/workflows/production-release.yml b/.github/workflows/production-release.yml index c95724ce8..a519f8a47 100644 --- a/.github/workflows/production-release.yml +++ b/.github/workflows/production-release.yml @@ -9,34 +9,6 @@ env: IMAGE_NAME: "coollabsio/coolify" jobs: - arm64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to ghcr.io - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - platforms: linux/arm64 - push: true - tags: ${{ steps.meta.outputs.tags }}-arm64 - labels: ${{ steps.meta.outputs.labels }} amd64: runs-on: ubuntu-latest steps: @@ -95,7 +67,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} merge-manifest: runs-on: ubuntu-latest - needs: [amd64, arm64, aarch64] + needs: [amd64, aarch64] steps: - name: Checkout uses: actions/checkout@v3 @@ -116,7 +88,7 @@ jobs: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Create & publish manifest run: | - docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} - uses: sarisia/actions-status-discord@v1 if: always() with: diff --git a/.github/workflows/release-candidate.yml b/.github/workflows/release-candidate.yml index 665dbdf92..ecb5dd1fc 100644 --- a/.github/workflows/release-candidate.yml +++ b/.github/workflows/release-candidate.yml @@ -42,41 +42,6 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - arm64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - ref: "next" - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to ghcr.io - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - platforms: linux/arm64 - push: true - tags: ${{ steps.meta.outputs.tags }}-arm64 - labels: ${{ steps.meta.outputs.labels }} aarch64: runs-on: [self-hosted, arm64] steps: @@ -112,7 +77,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} merge-manifest: runs-on: ubuntu-latest - needs: [amd64, arm64, aarch64] + needs: [amd64, aarch64] steps: - name: Checkout uses: actions/checkout@v3 @@ -138,7 +103,7 @@ jobs: type=semver,pattern={{major}}.{{minor}} - name: Create & publish manifest run: | - docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} - uses: sarisia/actions-status-discord@v1 if: always() with: diff --git a/.github/workflows/staging-release.yml b/.github/workflows/staging-release.yml index e99d46343..5f0e38a5e 100644 --- a/.github/workflows/staging-release.yml +++ b/.github/workflows/staging-release.yml @@ -1,7 +1,6 @@ name: staging-release on: - pull_request: push: paths: - "**" @@ -27,13 +26,13 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker + - name: Extract metadata (tags, labels) id: meta uses: docker/metadata-action@v4 with: @@ -46,7 +45,7 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - arm64: + aarch64: runs-on: [self-hosted, arm64] steps: - name: Checkout @@ -57,13 +56,13 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker + - name: Extract metadata (tags, labels) id: meta uses: docker/metadata-action@v4 with: @@ -72,13 +71,13 @@ jobs: uses: docker/build-push-action@v3 with: context: . - platforms: linux/arm64 + platforms: linux/aarch64 push: true - tags: ${{ steps.meta.outputs.tags }}-arm64 + tags: ${{ steps.meta.outputs.tags }}-aarch64 labels: ${{ steps.meta.outputs.labels }} merge-manifest: runs-on: ubuntu-latest - needs: [amd64, arm64] + needs: [amd64, aarch64] steps: - name: Checkout uses: actions/checkout@v3 @@ -86,20 +85,20 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker + - name: Extract metadata (tags, labels) id: meta uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Create & publish manifest run: | - docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-arm64 --tag ${{ steps.meta.outputs.tags }} + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} - uses: sarisia/actions-status-discord@v1 if: always() with: From 564ca709d3a254d1ce0cdad0f7b210fedf2c9688 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 16 Mar 2023 10:53:54 +0100 Subject: [PATCH 12/12] updates --- .../fluent-bit-release-dockerhub.yml | 93 +++++++++++++++++++ .github/workflows/fluent-bit-release.yml | 58 +++++------- 2 files changed, 115 insertions(+), 36 deletions(-) create mode 100644 .github/workflows/fluent-bit-release-dockerhub.yml diff --git a/.github/workflows/fluent-bit-release-dockerhub.yml b/.github/workflows/fluent-bit-release-dockerhub.yml new file mode 100644 index 000000000..77be7bb95 --- /dev/null +++ b/.github/workflows/fluent-bit-release-dockerhub.yml @@ -0,0 +1,93 @@ +name: fluent-bit-release + +on: + push: + paths: + - "others/fluentbit" + - ".github/workflows/fluent-bit-release.yml" + branches: + - next + +jobs: + arm64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: others/fluentbit/ + platforms: linux/arm64 + push: true + tags: coollabsio/coolify-fluent-bit:1.0.0-arm64 + amd64: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: others/fluentbit/ + platforms: linux/amd64 + push: true + tags: coollabsio/coolify-fluent-bit:1.0.0-amd64 + aarch64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: others/fluentbit/ + platforms: linux/aarch64 + push: true + tags: coollabsio/coolify-fluent-bit:1.0.0-aarch64 + merge-manifest: + runs-on: ubuntu-latest + needs: [amd64, arm64, aarch64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Create & publish manifest + run: | + docker manifest create coollabsio/coolify-fluent-bit:1.0.0 --amend coollabsio/coolify-fluent-bit:1.0.0-amd64 --amend coollabsio/coolify-fluent-bit:1.0.0-arm64 --amend coollabsio/coolify-fluent-bit:1.0.0-aarch64 + docker manifest push coollabsio/coolify-fluent-bit:1.0.0 diff --git a/.github/workflows/fluent-bit-release.yml b/.github/workflows/fluent-bit-release.yml index 77be7bb95..e4bf27e7f 100644 --- a/.github/workflows/fluent-bit-release.yml +++ b/.github/workflows/fluent-bit-release.yml @@ -8,28 +8,12 @@ on: branches: - next +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify-fluent-bit" + VERSION: "1.0.0" + jobs: - arm64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: others/fluentbit/ - platforms: linux/arm64 - push: true - tags: coollabsio/coolify-fluent-bit:1.0.0-arm64 amd64: runs-on: ubuntu-latest steps: @@ -39,18 +23,19 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v3 with: context: others/fluentbit/ platforms: linux/amd64 push: true - tags: coollabsio/coolify-fluent-bit:1.0.0-amd64 + tags: ${{ env.IMAGE_NAME }}:${{ env.VERSION }} aarch64: runs-on: [self-hosted, arm64] steps: @@ -60,21 +45,22 @@ jobs: uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 + - name: Login to ghcr.io + uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v2 with: context: others/fluentbit/ platforms: linux/aarch64 push: true - tags: coollabsio/coolify-fluent-bit:1.0.0-aarch64 + tags: ${{ env.IMAGE_NAME }}:${{ env.VERSION }}-aarch64 merge-manifest: runs-on: ubuntu-latest - needs: [amd64, arm64, aarch64] + needs: [amd64, aarch64] steps: - name: Checkout uses: actions/checkout@v3 @@ -82,12 +68,12 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Create & publish manifest run: | - docker manifest create coollabsio/coolify-fluent-bit:1.0.0 --amend coollabsio/coolify-fluent-bit:1.0.0-amd64 --amend coollabsio/coolify-fluent-bit:1.0.0-arm64 --amend coollabsio/coolify-fluent-bit:1.0.0-aarch64 - docker manifest push coollabsio/coolify-fluent-bit:1.0.0 + docker buildx imagetools create --amend ${{ env.IMAGE_NAME }}:${{ env.VERSION }}-aarch64 --tag ${{ env.IMAGE_NAME }}:${{ env.VERSION }} \ No newline at end of file