From ddc10d5ac95fc1070df29a2de8b5a8ab4afc0616 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 12 Dec 2024 12:50:08 +0100 Subject: [PATCH 1/2] smoketest: conditional cicd pipeline run --- .github/actions/smoke-tests/action.yml | 47 ++++++++++++++++++++++++++ .github/workflows/test.yml | 17 ++++------ 2 files changed, 54 insertions(+), 10 deletions(-) create mode 100644 .github/actions/smoke-tests/action.yml diff --git a/.github/actions/smoke-tests/action.yml b/.github/actions/smoke-tests/action.yml new file mode 100644 index 00000000..c0b2df36 --- /dev/null +++ b/.github/actions/smoke-tests/action.yml @@ -0,0 +1,47 @@ +name: Smoke test +description: "Execute smoke tests" + +inputs: + submit-url: + description: 'Submit layer url' + required: true + direct-submit-url: + description: 'Direct submission URL to Backtrace instance' + required: true + sauce-username: + description: 'Sauce labs user name' + required: true + sauce-access-key: + description: 'Sauce labs secret' + required: true + +runs: + using: "composite" + steps: + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + browser: + - 'packages/browser/**' + - 'packages/react/**' + - 'packages/sdk-core/**' + node: + - 'packages/sdk-core/**' + - 'packages/node/**' + + - run: npm run smoketest:node + shell: bash + if: steps.filter.outputs.node == 'true' + env: + SMOKETESTS_SUBMIT_LAYER_URL: ${{ inputs.submit-url }} + SMOKETESTS_DIRECT_SUBMIT_URL: ${{ inputs.direct-submit-url }} + + - run: npm run smoketest:browser + shell: bash + if: steps.filter.outputs.browser == 'true' + env: + SMOKETESTS_SUBMIT_LAYER_URL: ${{ inputs.submit-url }} + SMOKETESTS_DIRECT_SUBMIT_URL: ${{ inputs.direct-submit-url }} + SMOKETESTS_SAUCE_USERNAME: ${{ inputs.sauce-username }} + SMOKETESTS_SAUCE_ACCESS_KEY: ${{ inputs.sauce-access-key }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e5bf56b9..3160dfa6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,16 +24,13 @@ jobs: - run: npm run lint - run: npm run format:check - run: npm test - - run: npm run smoketest:node - env: - SMOKETESTS_SUBMIT_LAYER_URL: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} - SMOKETESTS_DIRECT_SUBMIT_URL: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} - - run: npm run smoketest:browser - env: - SMOKETESTS_SUBMIT_LAYER_URL: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} - SMOKETESTS_DIRECT_SUBMIT_URL: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} - SMOKETESTS_SAUCE_USERNAME: ${{ secrets.SMOKETESTS_SAUCE_USERNAME }} - SMOKETESTS_SAUCE_ACCESS_KEY: ${{ secrets.SMOKETESTS_SAUCE_ACCESS_KEY }} + - name: smoke-test + uses: ./.github/actions/smoke-tests + with: + submit-url: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} + direct-submit-url: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} + sauce-username: ${{ secrets.SMOKETESTS_SAUCE_USERNAME }} + sauce-access-key: ${{ secrets.SMOKETESTS_SAUCE_ACCESS_KEY }} test_linux: runs-on: ubuntu-latest From d79eb90a6411edc618895ea28b8ade8d2b1537a1 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Fri, 13 Dec 2024 13:21:21 +0100 Subject: [PATCH 2/2] Conditional smoketest execution --- .github/actions/smoke-tests/action.yml | 88 ++++++++++++++------------ .github/workflows/test.yml | 44 ++++++++----- 2 files changed, 76 insertions(+), 56 deletions(-) diff --git a/.github/actions/smoke-tests/action.yml b/.github/actions/smoke-tests/action.yml index c0b2df36..45604600 100644 --- a/.github/actions/smoke-tests/action.yml +++ b/.github/actions/smoke-tests/action.yml @@ -1,47 +1,55 @@ name: Smoke test -description: "Execute smoke tests" +description: 'Execute smoke tests' inputs: - submit-url: - description: 'Submit layer url' - required: true - direct-submit-url: - description: 'Direct submission URL to Backtrace instance' - required: true - sauce-username: - description: 'Sauce labs user name' - required: true - sauce-access-key: - description: 'Sauce labs secret' - required: true + submit-url: + description: 'Submit layer url' + required: true + direct-submit-url: + description: 'Direct submission URL to Backtrace instance' + required: true + sauce-username: + description: 'Sauce labs user name' + required: true + sauce-access-key: + description: 'Sauce labs secret' + required: true + ignore-browser: + description: 'Ignore browser smoke-tests' + required: false + default: 'false' + ignore-node: + description: 'Ignore node smoke-tests' + required: false + default: 'false' runs: - using: "composite" - steps: - - uses: dorny/paths-filter@v3 - id: filter - with: - filters: | - browser: - - 'packages/browser/**' - - 'packages/react/**' - - 'packages/sdk-core/**' - node: - - 'packages/sdk-core/**' - - 'packages/node/**' + using: 'composite' + steps: + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + browser: + - 'packages/browser/**' + - 'packages/react/**' + - 'packages/sdk-core/**' + node: + - 'packages/sdk-core/**' + - 'packages/node/**' - - run: npm run smoketest:node - shell: bash - if: steps.filter.outputs.node == 'true' - env: - SMOKETESTS_SUBMIT_LAYER_URL: ${{ inputs.submit-url }} - SMOKETESTS_DIRECT_SUBMIT_URL: ${{ inputs.direct-submit-url }} + - run: npm run smoketest:node + shell: bash + if: steps.filter.outputs.node == 'true' && inputs.ignore-node == 'false' + env: + SMOKETESTS_SUBMIT_LAYER_URL: ${{ inputs.submit-url }} + SMOKETESTS_DIRECT_SUBMIT_URL: ${{ inputs.direct-submit-url }} - - run: npm run smoketest:browser - shell: bash - if: steps.filter.outputs.browser == 'true' - env: - SMOKETESTS_SUBMIT_LAYER_URL: ${{ inputs.submit-url }} - SMOKETESTS_DIRECT_SUBMIT_URL: ${{ inputs.direct-submit-url }} - SMOKETESTS_SAUCE_USERNAME: ${{ inputs.sauce-username }} - SMOKETESTS_SAUCE_ACCESS_KEY: ${{ inputs.sauce-access-key }} + - run: npm run smoketest:browser + shell: bash + if: steps.filter.outputs.browser == 'true' && inputs.ignore-browser == 'false' + env: + SMOKETESTS_SUBMIT_LAYER_URL: ${{ inputs.submit-url }} + SMOKETESTS_DIRECT_SUBMIT_URL: ${{ inputs.direct-submit-url }} + SMOKETESTS_SAUCE_USERNAME: ${{ inputs.sauce-username }} + SMOKETESTS_SAUCE_ACCESS_KEY: ${{ inputs.sauce-access-key }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3160dfa6..d75e9094 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,10 +27,10 @@ jobs: - name: smoke-test uses: ./.github/actions/smoke-tests with: - submit-url: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} - direct-submit-url: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} - sauce-username: ${{ secrets.SMOKETESTS_SAUCE_USERNAME }} - sauce-access-key: ${{ secrets.SMOKETESTS_SAUCE_ACCESS_KEY }} + submit-url: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} + direct-submit-url: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} + sauce-username: ${{ secrets.SMOKETESTS_SAUCE_USERNAME }} + sauce-access-key: ${{ secrets.SMOKETESTS_SAUCE_ACCESS_KEY }} test_linux: runs-on: ubuntu-latest @@ -53,10 +53,14 @@ jobs: with: node-version: ${{ matrix.node-version }} - run: npm test - - run: npm run smoketest:node - env: - SMOKETESTS_SUBMIT_LAYER_URL: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} - SMOKETESTS_DIRECT_SUBMIT_URL: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} + - name: smoke-test + uses: ./.github/actions/smoke-tests + with: + submit-url: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} + direct-submit-url: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} + sauce-username: ${{ secrets.SMOKETESTS_SAUCE_USERNAME }} + sauce-access-key: ${{ secrets.SMOKETESTS_SAUCE_ACCESS_KEY }} + ignore-browser: 'true' test_linux_pre_workspaces: runs-on: ubuntu-latest @@ -80,10 +84,14 @@ jobs: node-version: ${{ matrix.node-version }} - run: npm i -g npm@8 - run: npm test - - run: npm run smoketest:node - env: - SMOKETESTS_SUBMIT_LAYER_URL: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} - SMOKETESTS_DIRECT_SUBMIT_URL: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} + - name: smoke-test + uses: ./.github/actions/smoke-tests + with: + submit-url: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} + direct-submit-url: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} + sauce-username: ${{ secrets.SMOKETESTS_SAUCE_USERNAME }} + sauce-access-key: ${{ secrets.SMOKETESTS_SAUCE_ACCESS_KEY }} + ignore-browser: 'true' test_windows: runs-on: windows-latest @@ -101,7 +109,11 @@ jobs: - run: npm ci - run: npm run build - run: npm test - - run: npm run smoketest:node - env: - SMOKETESTS_SUBMIT_LAYER_URL: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} - SMOKETESTS_DIRECT_SUBMIT_URL: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} + - name: smoke-test + uses: ./.github/actions/smoke-tests + with: + submit-url: ${{ secrets.SMOKETESTS_SUBMIT_LAYER_URL }} + direct-submit-url: ${{ secrets.SMOKETESTS_DIRECT_SUBMIT_URL }} + sauce-username: ${{ secrets.SMOKETESTS_SAUCE_USERNAME }} + sauce-access-key: ${{ secrets.SMOKETESTS_SAUCE_ACCESS_KEY }} + ignore-browser: 'true'