Deploy #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/[email protected] | |
if: always() | |
with: | |
job-status: ${{ job.status }} | |
slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN }} | |
slack-channel: ${{ secrets.SLACK_CHANNEL }} |