diff --git a/.github/actions/smoke-tests/action.yml b/.github/actions/smoke-tests/action.yml new file mode 100644 index 00000000..45604600 --- /dev/null +++ b/.github/actions/smoke-tests/action.yml @@ -0,0 +1,55 @@ +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 + 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/**' + + - 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' && 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 e5bf56b9..d75e9094 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 @@ -56,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 @@ -83,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 @@ -104,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'