From ba15b5adfd26bd39767d0c0f7346ffef559e16b5 Mon Sep 17 00:00:00 2001 From: ckoegel Date: Fri, 7 Feb 2025 14:05:50 -0500 Subject: [PATCH] SWI-7144 Update Deploy Workflows --- .github/workflows/deploy-from-branch.yml | 85 ++++++++++++++++++ .github/workflows/deploy.yml | 106 ++--------------------- 2 files changed, 91 insertions(+), 100 deletions(-) create mode 100644 .github/workflows/deploy-from-branch.yml diff --git a/.github/workflows/deploy-from-branch.yml b/.github/workflows/deploy-from-branch.yml new file mode 100644 index 00000000..7479835b --- /dev/null +++ b/.github/workflows/deploy-from-branch.yml @@ -0,0 +1,85 @@ +name: Deploy +on: + workflow_dispatch: + inputs: + branch: + description: 'Branch to deploy from' + required: true + default: 'main' + version: + description: 'Version to deploy' + required: true + default: '1.0.0' + +jobs: + publish: + env: + BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} + BW_USERNAME: ${{ secrets.BW_USERNAME }} + BW_PASSWORD: ${{ secrets.BW_PASSWORD }} + BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN }} + BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN }} + BW_VOICE_APPLICATION_ID: ${{ secrets.BW_VOICE_APPLICATION_ID }} + BW_MESSAGING_APPLICATION_ID: ${{ secrets.BW_MESSAGING_APPLICATION_ID }} + BW_NUMBER: ${{ secrets.BW_NUMBER }} + USER_NUMBER: ${{ secrets.USER_NUMBER }} + VZW_NUMBER: ${{ secrets.VZW_NUMBER }} + ATT_NUMBER: ${{ secrets.ATT_NUMBER }} + T_MOBILE_NUMBER: ${{ secrets.T_MOBILE_NUMBER }} + BASE_CALLBACK_URL: ${{ secrets.BASE_CALLBACK_URL }} + PYTHON_VERSION: ${{ matrix.python-version }} + OPERATING_SYSTEM: ${{ matrix.os }} + MANTECA_ACTIVE_NUMBER: ${{ secrets.MANTECA_ACTIVE_NUMBER }} + MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_IDLE_NUMBER }} + MANTECA_BASE_URL: ${{ secrets.MANTECA_BASE_URL }} + MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_APPLICATION_ID }} + BW_NUMBER_PROVIDER: ${{ secrets.BW_NUMBER_PROVIDER }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.inputs.branch }} + + - name: Set up Apache Maven Central + uses: actions/setup-java@v4 + with: + distribution: 'adopt' + java-version: 21 + server-id: 'ossrh' + server-username: OSSRH_USERNAME + server-password: OSSRH_PASSWORD + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE + + - name: Get Maven Project Version + run: echo "RELEASE_VERSION=${{inputs.version}}" >> $GITHUB_ENV + + - name: Set Maven Project Version + run: mvn versions:set -DnewVersion=$RELEASE_VERSION + + - name: Build Package and Test + env: + JAVA_VERSION: 21 + RUNNER_OS: ubuntu-latest + OPERATING_SYSTEM: ubuntu -latest + DISTRIBUTION: adopt + run: | + mvn -B package --file pom.xml -DskipTests + npm install -g @stoplight/prism-cli + prism mock ./bandwidth.yml & (sleep 3; mvn test -Punit-tests) + shell: bash + + - name: Publish to Apache Maven Central + run: mvn deploy -DskipTests + env: + OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} + OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + + - name: Notify Slack + uses: Bandwidth/build-notify-slack-action@v2.0.0 + if: always() + with: + job-status: ${{ job.status }} + slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN }} + slack-channel: ${{ secrets.SLACK_CHANNEL }} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index bc4086cb..c6678913 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -4,109 +4,9 @@ on: types: - published -env: - OPENAPI_GENERATOR_VERSION: 7.10.0 - jobs: - deploy_pre_release: - name: Deploy OpenAPI Generator Client Pre-Release to Maven - if: ${{ github.event.release.prerelease && github.event.release.target_commitish == 'feature/openapi-generator-sdk' }} - runs-on: ubuntu-latest - env: - BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} - BW_USERNAME: ${{ secrets.BW_USERNAME }} - BW_PASSWORD: ${{ secrets.BW_PASSWORD }} - BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN }} - BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN }} - BW_VOICE_APPLICATION_ID: ${{ secrets.BW_VOICE_APPLICATION_ID }} - BW_MESSAGING_APPLICATION_ID: ${{ secrets.BW_MESSAGING_APPLICATION_ID }} - BW_NUMBER: ${{ secrets.BW_NUMBER }} - USER_NUMBER: ${{ secrets.USER_NUMBER }} - VZW_NUMBER: ${{ secrets.VZW_NUMBER }} - ATT_NUMBER: ${{ secrets.ATT_NUMBER }} - T_MOBILE_NUMBER: ${{ secrets.T_MOBILE_NUMBER }} - BASE_CALLBACK_URL: ${{ secrets.BASE_CALLBACK_URL }} - PYTHON_VERSION: ${{ matrix.python-version }} - OPERATING_SYSTEM: ${{ matrix.os }} - MANTECA_ACTIVE_NUMBER: ${{ secrets.MANTECA_ACTIVE_NUMBER }} - MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_IDLE_NUMBER }} - MANTECA_BASE_URL: ${{ secrets.MANTECA_BASE_URL }} - MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_APPLICATION_ID }} - BW_NUMBER_PROVIDER: ${{ secrets.BW_NUMBER_PROVIDER }} - - steps: - - name: Set Release Version - run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV - - - name: Check Release Tag Format - run: | - re=[0-9]+\.[0-9]+\.[0-9]+-beta\.[0-9]+ - if ! [[ $RELEASE_VERSION =~ $re ]]; then - echo 'Tag does not match expected regex pattern for beta releases (v[0-9]+\.[0-9]+\.[0-9]+-beta\.[0-9]+)' - echo $RELEASE_VERSION - echo 'Please update your tag to match the expected regex pattern' - exit 1 - fi - - - name: Checkout - uses: actions/checkout@v4 - with: - ref: feature/openapi-generator-sdk - - - name: Set up Apache Maven Central - uses: actions/setup-java@v4 - with: - distribution: 'adopt' - java-version: 21 - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_CENTRAL_TOKEN - gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} - gpg-passphrase: MAVEN_GPG_PASSPHRASE - - - name: Build SDK - uses: Bandwidth/generate-sdk-action@v4.0.0 - with: - openapi-generator-version: ${{ env.OPENAPI_GENERATOR_VERSION }} - language: java - additional-properties: --additional-properties=artifactVersion=$RELEASE_VERSION - - - name: Clean SDK - run: mvn clean - - - name: Set Maven Project Version - run: mvn versions:set -DnewVersion=$RELEASE_VERSION - - - name: Build Package and Test - env: - JAVA_VERSION: 21 - RUNNER_OS: ubuntu-latest - OPERATING_SYSTEM: ubuntu -latest - DISTRIBUTION: adopt - run: | - mvn -B package --file pom.xml -DskipTests - npm install -g @stoplight/prism-cli - prism mock ./bandwidth.yml & (sleep 3; mvn test -Punit-tests) - shell: bash - - - name: Publish to Apache Maven Central - run: mvn deploy -DskipTests - env: - MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} - MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - - - uses: Bandwidth/build-notify-slack-action@v1.0.0 - if: always() - with: - job-status: ${{ job.status }} - slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN }} - slack-channel: ${{ secrets.SLACK_CHANNEL }} - publish: - if: ${{ !github.event.release.prerelease }} env: - # Integration test environment variables. BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} BW_USERNAME: ${{ secrets.BW_USERNAME }} BW_PASSWORD: ${{ secrets.BW_PASSWORD }} @@ -145,6 +45,12 @@ jobs: - name: Get Maven Project Version run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV + - name: Set OpenAPI Generator Version + run: | + OPENAPI_VERSION=$(jq .["generator-cli"].version openapitools.json) + echo "OPENAPI_GENERATOR_VERSION=$OPENAPI_VERSION" >> $GITHUB_ENV + shell: bash + - name: Build SDK uses: Bandwidth/generate-sdk-action@v4.0.0 with: