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: 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:${{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: ubuntu-latest needs: [arm64-making-something-cool, amd64-making-something-cool] steps: - name: Checkout uses: actions/checkout@v3 - name: Login to docker hub if: success() uses: actions-hub/docker/login@v1.0.3 env: DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} - name: Create & push manifest uses: actions-hub/docker/cli@v1.0.3 env: DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} - run: | docker manifest create coollabsio/coolify:${{github.event.release.name}} --amend coollabsio/coolify:${{github.event.release.name}}-amd64 --amend coollabsio/coolify:${{github.event.release.name}}-arm64 docker manifest push coollabsio/coolify:${{github.event.release.name}}