Skip to content

chore(java): re-release java spring as 0.9.3 (#4557) #537

chore(java): re-release java spring as 0.9.3 (#4557)

chore(java): re-release java spring as 0.9.3 (#4557) #537

# TODO: delete this when we migrate to the one versions file in `publish-generators-v2`
name: publish-generators
on:
push:
branches:
- main
paths:
- "generators/openapi/VERSION"
- "generators/postman/VERSION"
- "generators/java/sdk/VERSION"
- "generators/java/model/VERSION"
- "generators/java/spring/VERSION"
- "generators/typescript/sdk/VERSION"
- "generators/typescript/express/VERSION"
workflow_dispatch:
inputs:
generator:
description: "The generator to publish a dev release for"
required: true
type: choice
options:
- openapi
- postman
- java-sdk
- java-model
- java-spring
- typescript-sdk
- typescript-express
env:
DOCKER_BUILDKIT: 1
jobs:
versions-changed:
runs-on: ubuntu-latest
outputs:
openapi: ${{ steps.filter.outputs.openapi }}
postman: ${{ steps.filter.outputs.postman }}
java-sdk: ${{ steps.filter.outputs.java-sdk }}
java-model: ${{ steps.filter.outputs.java-model }}
spring: ${{ steps.filter.outputs.spring }}
ts-sdk: ${{ steps.filter.outputs.ts-sdk }}
ts-express: ${{ steps.filter.outputs.ts-express }}
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
openapi: 'generators/openapi/VERSION'
postman: 'generators/postman/VERSION'
java-sdk: 'generators/java/sdk/VERSION'
java-model: 'generators/java/model/VERSION'
spring: 'generators/java/spring/VERSION'
ts-sdk: 'generators/typescript/sdk/VERSION'
ts-express: 'generators/typescript/express/VERSION'
openapi:
runs-on: ubuntu-latest
needs: versions-changed
if: ${{ needs.versions-changed.outputs.openapi == 'true' || inputs.generator == 'openapi' }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install
uses: ./.github/actions/install
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: fernapi
password: ${{ secrets.FERN_API_DOCKERHUB_PASSWORD }}
- name: Build CLI
working-directory: ./generators/openapi
run: pnpm dist:cli
- name: Print Version
if: ${{ inputs.generator != 'openapi' }}
run: |
projectVersion=$(cat generators/openapi/VERSION)
echo $projectVersion
echo "VERSION=$projectVersion" >> $GITHUB_ENV
- name: Print Version Dev
if: ${{ inputs.generator == 'openapi' }}
run: |
projectVersion=$(cat generators/openapi/VERSION)
commitNumber=$(git log --oneline | wc -l )
sha_short=$(git rev-parse --short HEAD)
echo $projectVersion-$commitNumber-$sha_short
echo "VERSION=$projectVersion-$commitNumber-$sha_short" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: ./generators/openapi
file: ./generators/openapi/Dockerfile
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=min
push: true
labels: version=${{env.VERSION}}
tags: fernapi/fern-openapi:${{env.VERSION}}${{ (!contains(env.VERSION, '-rc') && ', fernapi/fern-openapi:latest') || '' }}
postman:
runs-on: ubuntu-latest
needs: versions-changed
if: ${{ needs.versions-changed.outputs.postman == 'true' || inputs.generator == 'postman' }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install
uses: ./.github/actions/install
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: fernapi
password: ${{ secrets.FERN_API_DOCKERHUB_PASSWORD }}
- name: Build CLI
working-directory: ./generators/postman
run: pnpm dist:cli
- name: Print Version
if: ${{ inputs.generator != 'postman' }}
run: |
projectVersion=$(cat generators/postman/VERSION)
echo $projectVersion
echo "VERSION=$projectVersion" >> $GITHUB_ENV
- name: Print Version Dev
if: ${{ inputs.generator == 'postman' }}
run: |
projectVersion=$(cat generators/postman/VERSION)
commitNumber=$(git log --oneline | wc -l )
sha_short=$(git rev-parse --short HEAD)
echo $projectVersion-$commitNumber-$sha_short
echo "VERSION=$projectVersion-$commitNumber-$sha_short" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: ./generators/postman
file: ./generators/postman/Dockerfile
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=min
push: true
labels: version=${{env.VERSION}}
tags: fernapi/fern-postman:${{env.VERSION}}${{ (!contains(env.VERSION, '-rc') && ', fernapi/fern-postman:latest') || '' }}
java-sdk:
runs-on: ubuntu-latest
needs: versions-changed
if: ${{ needs.versions-changed.outputs.java-sdk == 'true' || inputs.generator == 'java-sdk' }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: fernapi
password: ${{ secrets.FERN_API_DOCKERHUB_PASSWORD }}
- name: Build tar
working-directory: ./generators/java
run: ./gradlew :sdk:distTar
- name: Print Version
if: ${{ inputs.generator != 'java-sdk' }}
run: |
projectVersion=$(cat generators/java/sdk/VERSION)
echo $projectVersion
echo "VERSION=$projectVersion" >> $GITHUB_ENV
- name: Print Version Dev
if: ${{ inputs.generator == 'java-sdk' }}
run: |
projectVersion=$(cat generators/java/sdk/VERSION)
commitNumber=$(git log --oneline | wc -l )
sha_short=$(git rev-parse --short HEAD)
echo $projectVersion-$commitNumber-$sha_short
echo "VERSION=$projectVersion-$commitNumber-$sha_short" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: ./generators/java/sdk
file: ./generators/java/sdk/Dockerfile
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=min
push: true
labels: version=${{env.VERSION}}
tags: fernapi/fern-java-sdk:${{env.VERSION}}${{ (!contains(env.VERSION, '-rc') && ', fernapi/fern-java-sdk:latest') || '' }}
java-model:
runs-on: ubuntu-latest
needs: versions-changed
if: ${{ needs.versions-changed.outputs.java-model == 'true' || inputs.generator == 'java-model' }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: fernapi
password: ${{ secrets.FERN_API_DOCKERHUB_PASSWORD }}
- name: Build tar
working-directory: ./generators/java
run: ./gradlew :model:distTar
- name: Print Version
if: ${{ inputs.generator != 'java-model' }}
run: |
projectVersion=$(cat generators/java/model/VERSION)
echo $projectVersion
echo "VERSION=$projectVersion" >> $GITHUB_ENV
- name: Print Version Dev
if: ${{ inputs.generator == 'java-model' }}
run: |
projectVersion=$(cat generators/java/model/VERSION)
commitNumber=$(git log --oneline | wc -l )
sha_short=$(git rev-parse --short HEAD)
echo $projectVersion-$commitNumber-$sha_short
echo "VERSION=$projectVersion-$commitNumber-$sha_short" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: ./generators/java/model
file: ./generators/java/model/Dockerfile
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=min
push: true
labels: version=${{env.VERSION}}
tags: fernapi/java-model:${{env.VERSION}}${{ (!contains(env.VERSION, '-rc') && ', fernapi/java-model:latest') || '' }}
java-spring:
runs-on: ubuntu-latest
needs: versions-changed
if: ${{ needs.versions-changed.outputs.spring == 'true' || inputs.generator == 'java-spring' }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: fernapi
password: ${{ secrets.FERN_API_DOCKERHUB_PASSWORD }}
- name: Build tar
working-directory: ./generators/java
run: ./gradlew :spring:distTar
- name: Print Version
if: ${{ inputs.generator != 'java-spring' }}
run: |
projectVersion=$(cat generators/java/spring/VERSION)
echo $projectVersion
echo "VERSION=$projectVersion" >> $GITHUB_ENV
- name: Print Version Dev
if: ${{ inputs.generator == 'java-spring' }}
run: |
projectVersion=$(cat generators/java/spring/VERSION)
commitNumber=$(git log --oneline | wc -l )
sha_short=$(git rev-parse --short HEAD)
echo $projectVersion-$commitNumber-$sha_short
echo "VERSION=$projectVersion-$commitNumber-$sha_short" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: ./generators/java/spring
file: ./generators/java/spring/Dockerfile
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=min
push: true
labels: version=${{env.VERSION}}
tags: fernapi/fern-java-spring:${{env.VERSION}}${{ (!contains(env.VERSION, '-rc') && ', fernapi/fern-java-spring:latest') || '' }}
ts-express:
runs-on: ubuntu-latest
if: ${{ needs.versions-changed.outputs.ts-express == 'true' || inputs.generator == 'typescript-express' }}
needs: versions-changed
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install
uses: ./.github/actions/install
- name: Print Version
if: ${{ inputs.generator != 'ts-sdk' }}
run: |
projectVersion=$(cat generators/typescript/express/VERSION)
echo $projectVersion
echo "VERSION=$projectVersion" >> $GITHUB_ENV
- name: Print Version Dev
if: ${{ inputs.generator == 'ts-sdk' }}
run: |
projectVersion=$(cat generators/typescript/express/VERSION)
commitNumber=$(git log --oneline | wc -l )
sha_short=$(git rev-parse --short HEAD)
echo $projectVersion-$commitNumber-$sha_short
echo "VERSION=$projectVersion-$commitNumber-$sha_short" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: fernapi
password: ${{ secrets.FERN_API_DOCKERHUB_PASSWORD }}
- name: Publish fernapi/fern-typescript-express-sdk docker
run: |
pnpm --filter @fern-typescript/express-generator-cli dockerTagVersion "$VERSION"
docker push fernapi/fern-typescript-express:"$VERSION"
ts-browser-sdk:
runs-on: ubuntu-latest
if: ${{ needs.versions-changed.outputs.ts-sdk == 'true' || inputs.generator == 'typescript-sdk' }}
needs: versions-changed
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install
uses: ./.github/actions/install
- name: Print Version
if: ${{ inputs.generator != 'ts-sdk' }}
run: |
projectVersion=$(cat generators/typescript/sdk/VERSION)
echo $projectVersion
echo "VERSION=$projectVersion" >> $GITHUB_ENV
- name: Print Version Dev
if: ${{ inputs.generator == 'ts-sdk' }}
run: |
projectVersion=$(cat generators/typescript/sdk/VERSION)
commitNumber=$(git log --oneline | wc -l )
sha_short=$(git rev-parse --short HEAD)
echo $projectVersion-$commitNumber-$sha_short
echo "VERSION=$projectVersion-$commitNumber-$sha_short" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: fernapi
password: ${{ secrets.FERN_API_DOCKERHUB_PASSWORD }}
- name: Publish fernapi/fern-typescript-node-sdk docker
run: |
pnpm --filter @fern-typescript/sdk-generator-cli dockerTagVersion:browser "$VERSION"
docker push fernapi/fern-typescript-browser-sdk:"$VERSION"
ts-node-sdk:
runs-on: ubuntu-latest
if: ${{ needs.versions-changed.outputs.ts-sdk == 'true' || inputs.generator == 'typescript-sdk' }}
needs: versions-changed
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install
uses: ./.github/actions/install
- name: Print Version
if: ${{ inputs.generator != 'ts-sdk' }}
run: |
projectVersion=$(cat generators/typescript/sdk/VERSION)
echo $projectVersion
echo "VERSION=$projectVersion" >> $GITHUB_ENV
- name: Print Version Dev
if: ${{ inputs.generator == 'ts-sdk' }}
run: |
projectVersion=$(cat generators/typescript/sdk/VERSION)
commitNumber=$(git log --oneline | wc -l )
sha_short=$(git rev-parse --short HEAD)
echo $projectVersion-$commitNumber-$sha_short
echo "VERSION=$projectVersion-$commitNumber-$sha_short" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: fernapi
password: ${{ secrets.FERN_API_DOCKERHUB_PASSWORD }}
- name: Publish fernapi/fern-typescript-node-sdk docker
run: |
pnpm --filter @fern-typescript/sdk-generator-cli dockerTagVersion:node "$VERSION"
docker push fernapi/fern-typescript-node-sdk:"$VERSION"