|
5 | 5 | types: |
6 | 6 | - published |
7 | 7 |
|
8 | | -env: |
9 | | - BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} |
10 | | - BW_USERNAME: ${{ secrets.BW_USERNAME }} |
11 | | - BW_PASSWORD: ${{ secrets.BW_PASSWORD }} |
12 | | - BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN}} |
13 | | - BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN}} |
14 | | - BW_VOICE_APPLICATION_ID: ${{ secrets.BW_VOICE_APPLICATION_ID }} |
15 | | - BW_MESSAGING_APPLICATION_ID: ${{ secrets.BW_MESSAGING_APPLICATION_ID }} |
16 | | - BW_NUMBER: ${{ secrets.BW_NUMBER }} |
17 | | - USER_NUMBER: ${{ secrets.USER_NUMBER }} |
18 | | - BASE_CALLBACK_URL: ${{ secrets.BASE_CALLBACK_URL }} |
19 | | - MANTECA_ACTIVE_NUMBER: ${{ secrets.MANTECA_ACTIVE_NUMBER }} |
20 | | - MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_APPLICATION_ID }} |
21 | | - MANTECA_BASE_URL: ${{ secrets.MANTECA_BASE_URL }} |
22 | | - MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_IDLE_NUMBER }} |
23 | | - OPERATING_SYSTEM: ubuntu-latest |
24 | | - DOTNET_VERSION: 8.0.x |
25 | | - |
26 | 8 | jobs: |
27 | | - deploy_pre_release: |
28 | | - name: Deploy OpenAPI Generator Client Pre-Release |
29 | | - if: ${{ github.event.release.prerelease && github.event.release.target_commitish == 'feature/openapi-generator-sdk' }} |
30 | | - runs-on: ubuntu-latest |
31 | | - env: |
32 | | - BW_PROJECT_NAME: src/Bandwidth.Standard |
33 | | - BW_PROJECT_TEST_NAME: src/Bandwidth.Standard.Test |
34 | | - steps: |
35 | | - - name: Set release version |
36 | | - run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV |
37 | | - |
38 | | - - name: Check Release Tag Format |
39 | | - run: | |
40 | | - if ! [[ $RELEASE_VERSION =~ ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-(beta|alpha|rc))(\.[0-9][0-9]*)?$ ]]; then |
41 | | - echo 'Tag does not match expected regex pattern for beta releases (^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-(beta|alpha|rc))(\.[0-9][0-9]*)?$)' |
42 | | - echo $RELEASE_VERSION |
43 | | - echo 'Please update your tag to match the expected regex pattern' |
44 | | - exit 1 |
45 | | - fi |
46 | | - |
47 | | - - name: Checkout |
48 | | - uses: actions/checkout@v4 |
49 | | - with: |
50 | | - ref: feature/openapi-generator-sdk |
51 | | - |
52 | | - - name: Setup Dotnet |
53 | | - uses: actions/setup-dotnet@v4 |
54 | | - with: |
55 | | - dotnet-version: '8.0.x' |
56 | | - |
57 | | - - name: Build SDK |
58 | | - uses: Bandwidth/generate-sdk-action@v4.0.0 |
59 | | - with: |
60 | | - openapi-generator-version: 7.7.0 |
61 | | - language: csharp |
62 | | - additional-properties: --additional-properties=packageVersion=$RELEASE_VERSION |
63 | | - |
64 | | - - name: Run Unit Tests |
65 | | - run: dotnet test src/Bandwidth.Standard.Test --filter DisplayName~Bandwidth.Standard.Test.Unit |
66 | | - |
67 | | - - name: Pack NuGet package |
68 | | - run: dotnet pack --configuration Release $BW_PROJECT_NAME -p:PackageVersion=$RELEASE_VERSION |
69 | | - |
70 | | - - name: Publish NuGet package |
71 | | - env: |
72 | | - NUGET_KEY: ${{ secrets.NUGET_KEY }} |
73 | | - NUGET_SOURCE: https://api.nuget.org/v3/index.json |
74 | | - run: dotnet nuget push $BW_PROJECT_NAME/bin/Release/*.nupkg -s $NUGET_SOURCE -k $NUGET_KEY |
75 | | - |
76 | | - - name: Notify Slack of build status |
77 | | - uses: Bandwidth/build-notify-slack-action@v2.0.0 |
78 | | - if: always() |
79 | | - with: |
80 | | - job-status: ${{ job.status }} |
81 | | - slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN }} |
82 | | - slack-channel: ${{ secrets.SLACK_CHANNEL }} |
83 | | - |
84 | 9 | deploy: |
85 | | - name: deploy 'main' branch |
86 | | - if: ${{ !github.event.release.prerelease && github.event.release.target_commitish == 'main' }} |
| 10 | + name: Deploy SDK to NuGet |
87 | 11 | runs-on: ubuntu-latest |
88 | 12 | env: |
89 | 13 | BW_PROJECT_NAME: src/Bandwidth.Standard |
90 | 14 | BW_PROJECT_TEST_NAME: src/Bandwidth.Standard.Test |
| 15 | + BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} |
| 16 | + BW_USERNAME: ${{ secrets.BW_USERNAME }} |
| 17 | + BW_PASSWORD: ${{ secrets.BW_PASSWORD }} |
| 18 | + BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN}} |
| 19 | + BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN}} |
| 20 | + BW_VOICE_APPLICATION_ID: ${{ secrets.BW_VOICE_APPLICATION_ID }} |
| 21 | + BW_MESSAGING_APPLICATION_ID: ${{ secrets.BW_MESSAGING_APPLICATION_ID }} |
| 22 | + BW_NUMBER: ${{ secrets.BW_NUMBER }} |
| 23 | + USER_NUMBER: ${{ secrets.USER_NUMBER }} |
| 24 | + BASE_CALLBACK_URL: ${{ secrets.BASE_CALLBACK_URL }} |
| 25 | + MANTECA_ACTIVE_NUMBER: ${{ secrets.MANTECA_ACTIVE_NUMBER }} |
| 26 | + MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_APPLICATION_ID }} |
| 27 | + MANTECA_BASE_URL: ${{ secrets.MANTECA_BASE_URL }} |
| 28 | + MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_IDLE_NUMBER }} |
| 29 | + OPERATING_SYSTEM: ubuntu-latest |
| 30 | + DOTNET_VERSION: 8.0.x |
| 31 | + |
91 | 32 | steps: |
92 | | - - name: Set release version |
| 33 | + - name: Set Release Version |
93 | 34 | run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV |
94 | 35 |
|
95 | 36 | - name: Check Release Tag Format |
|
109 | 50 | with: |
110 | 51 | dotnet-version: '8.0.x' |
111 | 52 |
|
112 | | - - name: Build SDK |
| 53 | + - name: Generate SDK with Updated Version |
113 | 54 | uses: Bandwidth/generate-sdk-action@v4.0.0 |
114 | 55 | with: |
115 | 56 | openapi-generator-version: 7.7.0 |
|
128 | 69 | NUGET_SOURCE: https://api.nuget.org/v3/index.json |
129 | 70 | run: dotnet nuget push $BW_PROJECT_NAME/bin/Release/*.nupkg -s $NUGET_SOURCE -k $NUGET_KEY |
130 | 71 |
|
131 | | - - name: Notify Slack of build status |
132 | | - uses: Bandwidth/build-notify-slack-action@v2.0.0 |
| 72 | + - uses: Bandwidth/build-notify-slack-action@v2.0.0 |
133 | 73 | if: always() |
134 | 74 | with: |
135 | 75 | job-status: ${{ job.status }} |
|
0 commit comments