From 54ad45d26443c2cb090b57d50650a0a63ae606b9 Mon Sep 17 00:00:00 2001 From: Cameron Koegel <53310569+ckoegel@users.noreply.github.com> Date: Thu, 23 Mar 2023 14:42:13 -0400 Subject: [PATCH] SWI-2096 Update Test Workflow (#91) * SWI-2096 Update Test Workflow * fix branches * migrate to 2 workflows * add branch logic * wf name and add branch logic to correct wf * revert to old job * remove logic to test * revert * fix slack notifications * fix slack notify --- .github/workflows/test-nightly.yml | 88 ++++++++++++++++++++++++++++++ .github/workflows/test-pr.yml | 72 ++++++++++++++++++++++++ .github/workflows/test.yml | 49 ----------------- 3 files changed, 160 insertions(+), 49 deletions(-) create mode 100644 .github/workflows/test-nightly.yml create mode 100644 .github/workflows/test-pr.yml delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test-nightly.yml b/.github/workflows/test-nightly.yml new file mode 100644 index 00000000..2e22c520 --- /dev/null +++ b/.github/workflows/test-nightly.yml @@ -0,0 +1,88 @@ +name: Test Main and Feature Branch Nightly +on: + schedule: + - cron: "0 4 * * *" + +env: + BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} + BW_PASSWORD: ${{ secrets.BW_PASSWORD }} + BW_USERNAME: ${{ secrets.BW_USERNAME }} + 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 }} + BASE_CALLBACK_URL: ${{ secrets.BASE_CALLBACK_URL }} + BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN }} + BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN }} + MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_IDLE_NUMBER }} + MANTECA_ACTIVE_NUMBER: ${{ secrets.MANTECA_ACTIVE_NUMBER }} + MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_APPLICATION_ID }} + MANTECA_BASE_URL: ${{ secrets.MANTECA_BASE_URL }} + ATT_NUMBER: ${{ secrets.ATT_NUMBER }} + T_MOBILE_NUMBER: ${{ secrets.T_MOBILE_NUMBER }} + VZW_NUMBER: ${{ secrets.VZW_NUMBER }} + +jobs: + test_main: + name: Test Main Branch Nightly + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [windows-2022, windows-2019, ubuntu-20.04, ubuntu-22.04] + java-version: ['8', '11'] + distribution: ['zulu', 'temurin'] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: 'main' + + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: ${{ matrix.distribution }} + java-version: ${{ matrix.java-version }} + + - name: Test + run: mvn -B package --file pom.xml + + test_feature: + name: Test Feature Branch Nightly + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [windows-2022, windows-2019, ubuntu-20.04, ubuntu-22.04] + java-version: ["11", "17", "19"] + distribution: ["zulu", "temurin"] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: 'feature/openapi-generator-sdk' + + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: ${{ matrix.distribution }} + java-version: ${{ matrix.java-version }} + + - name: Test + env: + JAVA_VERSION: ${{ matrix.java-version }} + RUNNER_OS: ${{ matrix.os }} + OPERATING_SYSTEM: ${{ matrix.os }} + DISTRIBUTION: ${{ matrix.distribution }} + run: mvn -B package --file pom.xml + + notify_for_failures: + name: Notify for Failures + needs: [test_main, test_feature] + if: failure() + runs-on: ubuntu-latest + steps: + - name: Notify Slack of Failures + uses: Bandwidth/build-notify-slack-action@v1.0.0 + with: + job-status: failure + slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN }} + slack-channel: ${{ secrets.SLACK_CHANNEL }} diff --git a/.github/workflows/test-pr.yml b/.github/workflows/test-pr.yml new file mode 100644 index 00000000..ce3d6b5b --- /dev/null +++ b/.github/workflows/test-pr.yml @@ -0,0 +1,72 @@ +name: Test PR +on: + pull_request: + +env: + BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} + BW_PASSWORD: ${{ secrets.BW_PASSWORD }} + BW_USERNAME: ${{ secrets.BW_USERNAME }} + 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 }} + BASE_CALLBACK_URL: ${{ secrets.BASE_CALLBACK_URL }} + BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN }} + BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN }} + MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_IDLE_NUMBER }} + MANTECA_ACTIVE_NUMBER: ${{ secrets.MANTECA_ACTIVE_NUMBER }} + MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_APPLICATION_ID }} + MANTECA_BASE_URL: ${{ secrets.MANTECA_BASE_URL }} + ATT_NUMBER: ${{ secrets.ATT_NUMBER }} + T_MOBILE_NUMBER: ${{ secrets.T_MOBILE_NUMBER }} + VZW_NUMBER: ${{ secrets.VZW_NUMBER }} + +jobs: + test_pr_main: + name: Test PR to Main Branch + runs-on: ${{ matrix.os }} + if: github.base_ref == 'main' + strategy: + matrix: + os: [windows-2022, windows-2019, ubuntu-20.04, ubuntu-22.04] + java-version: ['8', '11'] + distribution: ['zulu', 'temurin'] + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: ${{ matrix.distribution }} + java-version: ${{ matrix.java-version }} + + - name: Test + run: mvn -B package --file pom.xml + + test_feature: + name: Test PR to Feature Branch + runs-on: ${{ matrix.os }} + if: github.base_ref == 'feature/openapi-generator-sdk' + strategy: + matrix: + os: [windows-2022, windows-2019, ubuntu-20.04, ubuntu-22.04] + java-version: ["11", "17", "19"] + distribution: ["zulu", "temurin"] + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: ${{ matrix.distribution }} + java-version: ${{ matrix.java-version }} + + - name: Test + env: + JAVA_VERSION: ${{ matrix.java-version }} + RUNNER_OS: ${{ matrix.os }} + OPERATING_SYSTEM: ${{ matrix.os }} + DISTRIBUTION: ${{ matrix.distribution }} + run: mvn -B package --file pom.xml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 7689bbcf..00000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Test -on: - schedule: - - cron: "0 4 * * *" - pull_request: - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref }} - cancel-in-progress: true - -jobs: - test: - name: Test - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [windows-2022, windows-2019, ubuntu-20.04, ubuntu-22.04] - java-version: ['8', '11'] - distribution: ['zulu', 'temurin'] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up JDK - uses: actions/setup-java@v3 - with: - distribution: ${{ matrix.distribution }} - java-version: ${{ matrix.java-version }} - - - name: Test - env: - BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} - BW_PASSWORD: ${{ secrets.BW_PASSWORD }} - BW_USERNAME: ${{ secrets.BW_USERNAME }} - 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 }} - BASE_CALLBACK_URL: ${{ secrets.BASE_CALLBACK_URL }} - run: mvn -B package --file pom.xml - - - name: Notify Slack of Failures - uses: Bandwidth/build-notify-slack-action@v1.0.0 - if: failure() && !github.event.pull_request.draft - with: - job-status: ${{ job.status }} - slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN }} - slack-channel: ${{ secrets.SLACK_CHANNEL }}