diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index 41f121257090..39dea7a0221e 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -35,10 +35,16 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to DockerHub - uses: docker/login-action@v3 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Login to GHCR.io + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Setup variables run: | # set as GitHub ENV variables @@ -46,18 +52,44 @@ jobs: echo "build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_ENV echo "DOCKER_GENERATOR_IMAGE_NAME=openapitools/openapi-generator-online" >> $GITHUB_ENV echo "DOCKER_CODEGEN_CLI_IMAGE_NAME=openapitools/openapi-generator-cli" >> $GITHUB_ENV + echo "GHCR_GENERATOR_IMAGE_NAME=ghcr.io/openapitools/openapi-generator-online" >> $GITHUB_ENV + echo "GHCR_CODEGEN_CLI_IMAGE_NAME=ghcr.io/openapitools/openapi-generator-cli" >> $GITHUB_ENV # online images - name: Publish openapi-generator-online snapshot version if: github.ref_type != 'tag' # not tag (release) run: | docker buildx create --use - docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=${{ env.build_date }} --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$GITHUB_SHA --label=org.opencontainers.image.version=${{ env.cli_version }} -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }} ./modules/openapi-generator-online + docker buildx build \ + --push \ + --platform linux/amd64,linux/arm64 \ + --label=org.opencontainers.image.created=${{ env.build_date }} \ + --label=org.opencontainers.image.title=openapi-generator-online \ + --label=org.opencontainers.image.revision=$GITHUB_SHA \ + --label=org.opencontainers.image.version=${{ env.cli_version }} \ + -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }} \ + -t ${{ env.GHCR_GENERATOR_IMAGE_NAME }} \ + ./modules/openapi-generator-online - name: Publish openapi-generator-online stable version if: github.ref_type == 'tag' # tagged (release) run: | docker buildx create --use - docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=${{ env.build_date }} --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$GITHUB_SHA --label=org.opencontainers.image.version=${{ env.cli_version }} -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }}:latest -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }}:${{ github.ref_name }} -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }} -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }}:latest-release ./modules/openapi-generator-online + docker buildx build \ + --push \ + --platform linux/amd64,linux/arm64 \ + --label=org.opencontainers.image.created=${{ env.build_date }} \ + --label=org.opencontainers.image.title=openapi-generator-online \ + --label=org.opencontainers.image.revision=$GITHUB_SHA \ + --label=org.opencontainers.image.version=${{ env.cli_version }} \ + -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }}:latest \ + -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }}:${{ github.ref_name }} \ + -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }} \ + -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }}:latest-release \ + -t ${{ env.GHCR_GENERATOR_IMAGE_NAME }}:latest \ + -t ${{ env.GHCR_GENERATOR_IMAGE_NAME }}:${{ github.ref_name }} \ + -t ${{ env.GHCR_GENERATOR_IMAGE_NAME }} \ + -t ${{ env.GHCR_GENERATOR_IMAGE_NAME }}:latest-release \ + ./modules/openapi-generator-online # cli images - name: Publish openapi-generator-cli snapshot version @@ -65,10 +97,34 @@ jobs: run: | cp docker-entrypoint.sh ./modules/openapi-generator-cli docker buildx create --use - docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=${{ env.build_date }} --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$GITHUB_SHA --label=org.opencontainers.image.version=${{ env.cli_version }} -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }} ./modules/openapi-generator-cli + docker buildx build \ + --push \ + --platform linux/amd64,linux/arm64 \ + --label=org.opencontainers.image.created=${{ env.build_date }} \ + --label=org.opencontainers.image.title=openapi-generator-cli \ + --label=org.opencontainers.image.revision=$GITHUB_SHA \ + --label=org.opencontainers.image.version=${{ env.cli_version }} \ + -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }} \ + -t ${{ env.GHCR_CODEGEN_CLI_IMAGE_NAME }} \ + ./modules/openapi-generator-cli - name: Publish openapi-generator-cli stable version if: github.ref_type == 'tag' # tagged (release) run: | cp docker-entrypoint.sh ./modules/openapi-generator-cli docker buildx create --use - docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=${{ env.build_date }} --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$GITHUB_SHA --label=org.opencontainers.image.version=${{ env.cli_version }} -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }}:latest -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }}:${{ github.ref_name }} -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }} -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }}:latest-release ./modules/openapi-generator-cli + docker buildx build \ + --push \ + --platform linux/amd64,linux/arm64 \ + --label=org.opencontainers.image.created=${{ env.build_date }} \ + --label=org.opencontainers.image.title=openapi-generator-cli \ + --label=org.opencontainers.image.revision=$GITHUB_SHA \ + --label=org.opencontainers.image.version=${{ env.cli_version }} \ + -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }}:latest \ + -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }}:${{ github.ref_name }} \ + -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }} \ + -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }}:latest-release \ + -t ${{ env.GHCR_CODEGEN_CLI_IMAGE_NAME }}:latest \ + -t ${{ env.GHCR_CODEGEN_CLI_IMAGE_NAME }}:${{ github.ref_name }} \ + -t ${{ env.GHCR_CODEGEN_CLI_IMAGE_NAME }} \ + -t ${{ env.GHCR_CODEGEN_CLI_IMAGE_NAME }}:latest-release \ + ./modules/openapi-generator-cli