diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml new file mode 100644 index 00000000..f974ee4c --- /dev/null +++ b/.github/workflows/docker-release.yml @@ -0,0 +1,39 @@ +name: Docker Release +on: + workflow_dispatch: + inputs: + releaseVersion: + description: 'Release version to tag (e.g., 2.1.0). Will be used for release artifacts and git tag.' + required: true + developmentVersion: + description: 'Next development version (e.g., 2.2.0-SNAPSHOT). Will be used for continuing development after release.' + required: true +env: + OSS_USERNAME: ${{ secrets.OSS_USERNAME }} + OSS_PASSWORD: ${{ secrets.OSS_PASSWORD }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} +jobs: + docker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + with: + ref: ${{ github.event.inputs.releaseVersion }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_PASSWORD }} + - name: Build & Push Docker image + uses: docker/build-push-action@v6 + with: + context: . + push: true + platforms: linux/amd64,linux/arm64 + tags: | + openapitools/openapi-diff:${{ github.event.inputs.releaseVersion }} + openapitools/openapi-diff:latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 65541bb0..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Triggered Release -on: - workflow_dispatch: - inputs: - releaseVersion: - description: 'Release version to tag (e.g., 2.1.0). Will be used for release artifacts and git tag.' - required: true - developmentVersion: - description: 'Next development version (e.g., 2.2.0-SNAPSHOT). Will be used for continuing development after release.' - required: true -env: - OSS_USERNAME: ${{ secrets.OSS_USERNAME }} - OSS_PASSWORD: ${{ secrets.OSS_PASSWORD }} - GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} -jobs: - # replaced by maven-release.yml - #release: - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v5 - # - name: Set up JDK 11 - # uses: actions/setup-java@v4 - # with: - # distribution: 'zulu' - # java-version: 11 - # cache: 'maven' - # # Value of the distributionManagement/repository/id field of the pom.xml - # server-id: central - # gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} - # server-username: OSS_USERNAME - # server-password: OSS_PASSWORD - # gpg-passphrase: GPG_PASSPHRASE - # - name: Setup Git - # run: | - # git config --global committer.email "noreply@github.com" - # git config --global committer.name "GitHub Release" - # git config --global author.email "${GITHUB_ACTOR}@users.noreply.github.com" - # git config --global author.name "${GITHUB_ACTOR}" - # - name: Release - # run: ./mvnw -V -B -ntp -Prelease -DreleaseVersion=${{ github.event.inputs.releaseVersion }} -DdevelopmentVersion=${{ github.event.inputs.developmentVersion }} release:prepare release:perform - # - name: Rollback on failure - # if: ${{ failure() }} - # run: | - # ./mvnw -B release:rollback -Prelease -Dgpg.passphrase=${{secrets.GPG_PASSPHRASE}} - # echo "You may need to manually delete the GitHub tag, if it was created." - docker: - needs: release - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v5 - with: - ref: ${{ github.event.inputs.releaseVersion }} - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_HUB_USERNAME }} - password: ${{ secrets.DOCKER_HUB_PASSWORD }} - - name: Build & Push Docker image - uses: docker/build-push-action@v6 - with: - context: . - push: true - platforms: linux/amd64,linux/arm64 - tags: | - openapitools/openapi-diff:${{ github.event.inputs.releaseVersion }} - openapitools/openapi-diff:latest