diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d81bb87e..25cdc505 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ on: - '**' concurrency: - group: ${{ github.head_ref || github.run_id }} + group: ci-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: diff --git a/.github/workflows/devtools.yml b/.github/workflows/devtools.yml index 48c5bb67..8614d6c0 100644 --- a/.github/workflows/devtools.yml +++ b/.github/workflows/devtools.yml @@ -8,7 +8,7 @@ on: types: [labeled] concurrency: - group: ${{ github.head_ref || github.run_id }} + group: devtools-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: diff --git a/.github/workflows/issue-analyzer.yml b/.github/workflows/issue-analyzer.yml index ba67be62..b4ad46ce 100644 --- a/.github/workflows/issue-analyzer.yml +++ b/.github/workflows/issue-analyzer.yml @@ -7,7 +7,7 @@ on: types: [opened, reopened, edited] concurrency: - group: ${{ format('issue-{0}', github.event.issue.number) }} + group: issue-${{ format('issue-{0}', github.event.issue.number) }} cancel-in-progress: true jobs: diff --git a/test/src/mocha-utils.ts b/test/src/mocha-utils.ts index d5cde00d..2fb68550 100644 --- a/test/src/mocha-utils.ts +++ b/test/src/mocha-utils.ts @@ -255,20 +255,33 @@ process.on('unhandledRejection', reason => { const browserNotClosedError = new Error( 'A manually launched browser was not closed!' ); + export const mochaHooks = { async beforeAll(): Promise { - const {server, httpsServer} = await setupServer(); + async function setUpDefaultState() { + const {server, httpsServer} = await setupServer(); - state.puppeteer = puppeteer; - state.server = server; - state.httpsServer = httpsServer; - state.isFirefox = processVariables.isFirefox; - state.isChrome = processVariables.isChrome; - state.isHeadless = processVariables.isHeadless; - state.headless = processVariables.headless; - state.puppeteerPath = path.resolve( - path.join(__dirname, '..', '..', 'packages', 'puppeteer') - ); + state.puppeteer = puppeteer; + state.server = server; + state.httpsServer = httpsServer; + state.isFirefox = processVariables.isFirefox; + state.isChrome = processVariables.isChrome; + state.isHeadless = processVariables.isHeadless; + state.headless = processVariables.headless; + state.puppeteerPath = path.resolve( + path.join(__dirname, '..', '..', 'packages', 'puppeteer') + ); + } + + try { + await Deferred.race([ + setUpDefaultState(), + Deferred.create({ + message: `Failed in after Hook`, + timeout: (this as any).timeout() - 1000, + }), + ]); + } catch {} }, async afterAll(): Promise {