diff --git a/.github/workflows/tmp-coolify-rebuild-release.yml b/.github/workflows/tmp-coolify-rebuild-release.yml deleted file mode 100644 index 5391f7f8a5..0000000000 --- a/.github/workflows/tmp-coolify-rebuild-release.yml +++ /dev/null @@ -1,167 +0,0 @@ -# Temporary: rebuilds the image of an already published release from main and moves its version and latest tags. -# Delete this workflow after the rebuild. -name: TMP Rebuild Coolify Release Image -run-name: tmp rebuild ${{ inputs.tag }} - -on: - workflow_dispatch: - inputs: - tag: - description: Published release tag to rebuild (for example, v4.5.0) - required: true - type: string - -permissions: {} - -concurrency: - group: coolify-fix-release - cancel-in-progress: false - -env: - GITHUB_REGISTRY: ghcr.io - DOCKER_REGISTRY: docker.io - IMAGE_NAME: coollabsio/coolify - -jobs: - validate: - runs-on: ubuntu-24.04 - permissions: - contents: read - outputs: - version: ${{ steps.version.outputs.version }} - steps: - - name: Reject rebuilds outside the production branch - if: ${{ github.ref_name != 'main' }} - run: | - echo "Rebuilds must run from main, not ${{ github.ref_name }}." - exit 1 - - - uses: actions/checkout@v5 - with: - persist-credentials: false - - - name: Validate version - id: version - env: - TAG_NAME: ${{ inputs.tag }} - GH_TOKEN: ${{ github.token }} - run: | - if [[ ! "${TAG_NAME}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - echo "Unsupported release tag: ${TAG_NAME}" - exit 1 - fi - - VERSION="${TAG_NAME#v}" - CONFIG_VERSION=$(docker run --rm -v "$(pwd):/app" -w /app php:8.2-alpine3.16 php bootstrap/getVersion.php) - - if [[ "${CONFIG_VERSION}" != "${VERSION}" ]]; then - echo "Release tag ${VERSION} does not match config version ${CONFIG_VERSION}." - exit 1 - fi - - if [[ "$(gh release view "${TAG_NAME}" --repo "${GITHUB_REPOSITORY}" --json isDraft --jq .isDraft)" != "false" ]]; then - echo "Release ${TAG_NAME} must already be published." - exit 1 - fi - - echo "version=${VERSION}" >> "$GITHUB_OUTPUT" - - build: - needs: validate - permissions: - contents: read - packages: write - strategy: - matrix: - include: - - arch: amd64 - platform: linux/amd64 - runner: ubuntu-24.04 - - arch: aarch64 - platform: linux/aarch64 - runner: ubuntu-24.04-arm - runs-on: ${{ matrix.runner }} - steps: - - uses: actions/checkout@v5 - with: - persist-credentials: false - - - uses: docker/setup-buildx-action@v3 - - - name: Login to ${{ env.GITHUB_REGISTRY }} - uses: docker/login-action@v3 - with: - registry: ${{ env.GITHUB_REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Login to ${{ env.DOCKER_REGISTRY }} - uses: docker/login-action@v3 - with: - registry: ${{ env.DOCKER_REGISTRY }} - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push release image (${{ matrix.arch }}) - uses: docker/build-push-action@v6 - with: - context: . - file: docker/production/Dockerfile - platforms: ${{ matrix.platform }} - push: true - build-args: | - COOLIFY_VERSION=${{ needs.validate.outputs.version }} - labels: | - org.opencontainers.image.revision=${{ github.sha }} - tags: | - ${{ env.GITHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:release-${{ needs.validate.outputs.version }}-${{ github.sha }}-${{ matrix.arch }} - ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:release-${{ needs.validate.outputs.version }}-${{ github.sha }}-${{ matrix.arch }} - - publish: - needs: [validate, build] - runs-on: ubuntu-24.04 - permissions: - contents: read - packages: write - steps: - - uses: docker/setup-buildx-action@v3 - - - name: Login to ${{ env.GITHUB_REGISTRY }} - uses: docker/login-action@v3 - with: - registry: ${{ env.GITHUB_REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Login to ${{ env.DOCKER_REGISTRY }} - uses: docker/login-action@v3 - with: - registry: ${{ env.DOCKER_REGISTRY }} - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Publish version and latest on ${{ env.GITHUB_REGISTRY }} - env: - REGISTRY: ${{ env.GITHUB_REGISTRY }} - VERSION: ${{ needs.validate.outputs.version }} - run: | - IMAGE="${REGISTRY}/${IMAGE_NAME}" - SOURCE="release-${VERSION}-${GITHUB_SHA}" - docker buildx imagetools create \ - "${IMAGE}:${SOURCE}-amd64" \ - "${IMAGE}:${SOURCE}-aarch64" \ - --tag "${IMAGE}:${VERSION}" \ - --tag "${IMAGE}:latest" - - - name: Publish version and latest on ${{ env.DOCKER_REGISTRY }} - env: - REGISTRY: ${{ env.DOCKER_REGISTRY }} - VERSION: ${{ needs.validate.outputs.version }} - run: | - IMAGE="${REGISTRY}/${IMAGE_NAME}" - SOURCE="release-${VERSION}-${GITHUB_SHA}" - docker buildx imagetools create \ - "${IMAGE}:${SOURCE}-amd64" \ - "${IMAGE}:${SOURCE}-aarch64" \ - --tag "${IMAGE}:${VERSION}" \ - --tag "${IMAGE}:latest"