diff --git a/.github/workflows/openapi-publish.yaml b/.github/workflows/openapi-publish.yaml new file mode 100644 index 00000000..544851cc --- /dev/null +++ b/.github/workflows/openapi-publish.yaml @@ -0,0 +1,44 @@ +name: Publish OpenAPI Client +on: + workflow_dispatch: +jobs: + publish-openapi: + runs-on: ubuntu-latest + steps: + - name: Checkout branch + uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: 11 + distribution: 'zulu' + - name: Cache Maven packages + uses: actions/cache@v3 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + - name: Compute commit SHA + run: | + echo "COMMITSHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV + - name: Generate OpenAPI client source + run: | + mvn -B clean process-classes -Drevision="0.1.0-${{ env.COMMITSHA }}" + - name: Setup Maven settings.xml + run: | + cat < ~/.m2/settings.xml + + + + artifactory-releases + ${{ secrets.ARTIFACTORY_USERNAME }} + ${{ secrets.ARTIFACTORY_PASSWORD }} + + + + EOF + - name: Compile and deploy OpenAPI client + run: | + cd management-api-server/target/generated-sources/openapi/java-client + REPO="artifactory-releases::default::https://repo.datastax.com/artifactory/datastax-releases-local" + mvn -B clean deploy -Drevision="0.1.0-${{ env.COMMITSHA }}" -DskipTests -DaltDeploymentRepository="${REPO}" -DaltSnapshotDeploymentRepository="${REPO}" \ No newline at end of file