name: release-candidate on: release: types: [prereleased] jobs: arm64-making-something-cool: 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:${{github.event.release.name}}-arm64 cache-from: type=registry,ref=coollabsio/coolify:buildcache-rc-arm64 cache-to: type=registry,ref=coollabsio/coolify:buildcache-rc-arm64,mode=max - uses: sarisia/actions-status-discord@v1 if: always() with: webhook: ${{ secrets.DISCORD_WEBHOOK_DEV_RELEASE_CHANNEL }} amd64-making-something-cool: runs-on: [self-hosted, x64] 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:${{github.event.release.name}}-amd64 cache-from: type=registry,ref=coollabsio/coolify:buildcache-rc-amd64 cache-to: type=registry,ref=coollabsio/coolify:buildcache-rc-amd64,mode=max - uses: sarisia/actions-status-discord@v1 if: always() with: webhook: ${{ secrets.DISCORD_WEBHOOK_DEV_RELEASE_CHANNEL }} merge-manifest-to-be-cool: runs-on: self-hosted needs: [arm64-making-something-cool, amd64-making-something-cool] steps: - name: Create and push manifest images uses: Noelware/docker-manifest-action@master with: base-image: coollabsio/coolify:${{github.event.release.name}} extra-images: coollabsio/coolify:${{github.event.release.name}}-amd64,coollabsio/coolify:${{github.event.release.name}}-arm64 push: true