Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
3845a2b
fix userIdAsEids (#13391)
khouajaSadok Jun 16, 2025
ae30b91
Update iasRtdProvider.js
aaronDev-ai Jun 16, 2025
238eb2d
MobkoiBidAdapter MobkoiIdSystem update: Replace bidRequest.{}.userId…
zeeye Jun 16, 2025
52b268e
fix linting errors
aaronDev-ai Jun 16, 2025
062805e
Underdog Media Adapter Update: Switch to userIdAsEids for 10.0 Compli…
Jacobkmiller Jun 17, 2025
b84bc2b
Taboola's UserId Module : update documentation (#13401)
talavital7 Jun 17, 2025
adaa312
Video module: do not attempt to render winning bid if there are none …
dgirardi Jun 17, 2025
654af30
add in unit tests
aaronDev-ai Jun 17, 2025
c69b7a3
realTimeData: fix bug where different RTD submodules can interfere wi…
dgirardi Jun 17, 2025
0be9a18
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jun 17, 2025
d7e80ad
reforce tests to run
aaronDev-ai Jun 17, 2025
dd8a9e5
adapter: share user agent parsing (#13387)
patmmccann Jun 17, 2025
8a42cb4
Updating ttd adapter to allow a publisher ID up to 64 characters (#13…
mike-hoyt-ttd Jun 17, 2025
32575af
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jun 17, 2025
cbe5876
DATA-23357: Liveintent no more id cookies. (#13404)
SuperIzya Jun 18, 2025
405ff60
New Adapter: fwsspBidAdapter (#13381)
FreeWheelVIS Jun 18, 2025
64f20f9
Liveramp ID Submodule: add try catch for atob in identitylink module …
patmmccann Jun 18, 2025
4ee3d5c
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jun 18, 2025
9709d10
fix: Do not allow falsy meta mediaTypes (#13407)
apukh-magnite Jun 19, 2025
981c0dd
PubMatic ID System: Fix for incorrect reference to gdpr.gdprApplies a…
jlquaccia Jun 19, 2025
05f5977
Adds support for passing through deal IDs to adnuntius ad server. (#1…
antosarho Jun 20, 2025
868a510
Medianet Analytics Adapter : updates to endpoint configuration and lo…
Pratik3307 Jun 20, 2025
1e9675b
PubMatic ID System: Few more refactoring updates (#13413)
jlquaccia Jun 20, 2025
51d2bf2
core: suppress topics enrollment warning by default (#13361)
patmmccann Jun 20, 2025
6848fba
Pilotx Bid Adapter : updates logic to have a single server response (…
AnthonyBoozan Jun 23, 2025
7106773
Merge branch 'MAINTAG-446' (#13415)
fliccione Jun 24, 2025
c055cf8
Ssp_geniee Bid Adapter : Add support for iframe-based cookie sync in …
hrkhito Jun 24, 2025
5f9c697
update appnexus and pubmatic adapter , cleanup ias
aaronDev-ai Jun 24, 2025
c7cfea2
cleanup appnexus
aaronDev-ai Jun 24, 2025
892a29a
Update mobkoiAnalyticsAdapter_spec.js (#13421)
patmmccann Jun 24, 2025
682ffb5
change smarty analytical url (#13424)
rishko00 Jun 24, 2025
14cb2cc
fix migrate to userIdAsEids, correct imp_id usage, fix referer stack …
jhonja93 Jun 24, 2025
90f5cfd
Delete src/polyfill.js (#13258)
patmmccann Jun 24, 2025
4465dcc
Circleci: setup persistent babel cache for tests (#13298)
patmmccann Jun 24, 2025
c7fc5dc
Freepass Bid Adaprer : use user id as eids (#13294)
aplio Jun 24, 2025
4578117
Revert "Gulpfile: eliminate gulp connect dependency (#13284)" (#13427)
dgirardi Jun 24, 2025
62852ab
Prebid 9.51.0 release
prebidjs-release Jun 24, 2025
33b2fc9
Increment version to 9.52.0-pre
prebidjs-release Jun 24, 2025
890b7cc
Update iasRtdProvider.js
patmmccann Jun 24, 2025
02a827d
Added code changes to remove empty format array when there is single …
pm-asit-sahoo Jun 25, 2025
c53c81c
Pubmatic Id System : refactor code (#13435)
pm-komal-kumari Jun 25, 2025
c1d1ade
Teads Bid Adapter: prefer eids to form userids (#13414)
github-lucas-nou Jun 25, 2025
615da99
Bidmatic Bid Adapter: update API (#13429)
GeneGenie Jun 25, 2025
b90d2d1
Cwire Bid Adapter : add floor price in the bid request (#13276)
GMilica Jun 25, 2025
6f4c3b1
core: convert documentLang (#13354)
patmmccann Jun 25, 2025
5e3b878
BidViewability: Refactored the init function (#13141)
pm-azhar-mulla Jun 25, 2025
5d3e90a
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jun 25, 2025
a4d6536
update appnexus bid adapter
aaronDev-ai Jun 25, 2025
604519a
remove newline
aaronDev-ai Jun 25, 2025
ea9377e
fix unit tests
aaronDev-ai Jun 25, 2025
f036356
Equativ Bid Adapter: add outstream renderer and pass Prebid version, …
krzysztofequativ Jun 26, 2025
be854f9
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jun 26, 2025
b8dda14
Greenbids Rtd Provider : remove preflight requests (#13441)
jbogp Jun 26, 2025
28264a4
Rubicon Bid Adapter: remove fallback value for rp_maxbids (#13442)
apukh-magnite Jun 26, 2025
78f796b
PubMatic analytics adapter throwing an error when there is no s2sConf…
pm-shivam-soni Jun 26, 2025
8b8fe2e
refactor: replace deepAccess with optional chaining (#13154)
patmmccann Jun 26, 2025
3ce5b39
Core: Error Detection for Autoplay Detection (#12952)
gwhigs Jun 26, 2025
702f856
Update bliinkBidAdapter_spec.js: fix test (#13437)
patmmccann Jun 26, 2025
d872d6e
Zeta SSP Adapter: add GPP support. (#13341)
abermanov-zeta Jun 26, 2025
4c8b821
Build Config: Add ES5 flag support (#13436)
abdullahcicekli Jun 26, 2025
8921e0d
Cwire Bid Adapter : add autoplay to bid request (#13270)
GMilica Jun 27, 2025
526064c
Prebid 9.52.0 release
prebidjs-release Jun 27, 2025
fca5cc2
Increment version to 9.53.0-pre
prebidjs-release Jun 27, 2025
bea3e58
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jun 27, 2025
115e93f
TTD Adapter: use userIdAsEids instead of userId (#13444)
mike-hoyt-ttd Jun 27, 2025
acfdf04
New Module added: jixieIdSystem (#13082)
jxdeveloper1 Jun 27, 2025
1643a21
ChromeAi Rtd Provider: Initial Release (#13286)
pm-azhar-mulla Jun 27, 2025
d4517c5
IX bid adapter - support device.geo, e.g. from geolocationRtdProvider…
joedrew Jun 28, 2025
e4bb6eb
Merge branch 'master' into aaronDev-ai-patch-2
patmmccann Jun 30, 2025
b3dab90
Reduce circleci resource class (#13456)
dgirardi Jun 30, 2025
4d01a5e
eslint: enable cache (#13293)
patmmccann Jun 30, 2025
df57ef8
Build system: serialize test runs (#13457)
dgirardi Jun 30, 2025
fab42a0
Circleci: bail in e2e, lower disconnect tolerance (#13454)
patmmccann Jun 30, 2025
0d5f1ae
Update crossDomain.js: wait for onload (#13170)
patmmccann Jun 30, 2025
f2ccab1
PBS adapter: add optional gzip compression of requests (#13133)
Sir-Will Jun 30, 2025
df6cda5
Test suite: eliminate real time waits (#13464)
patmmccann Jun 30, 2025
c3392a5
Filter bids without `adm` and `nurl`; Use only `vastXml` (`adm` + `nu…
s-solodovnikov Jun 30, 2025
6af678f
update pubmatic
aaronDev-ai Jul 1, 2025
5ffcf41
peer review
aaronDev-ai Jul 1, 2025
52ac4de
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jul 1, 2025
54e15ef
Relevatehealth - removed user_id compulsion and used common library (…
hasanideepak Jul 1, 2025
e739dd9
Teads: Send eids to request (#13476)
github-mickael-leclerc Jul 1, 2025
aa93e0f
PubMaticRTDModule: Add Targeting Keys and Utilize Multipliers for Flo…
pm-nitin-nimbalkar Jul 1, 2025
55cbaa3
Sovrn Bid Adapter : update media type determination when interpreting…
dmitrybor Jul 1, 2025
db92ad4
link CLAUDE.md to AGENTS.md (#13481)
dgirardi Jul 1, 2025
f287837
Ozone Bid Adapter: re-factor (#13478)
AskRupert-DM Jul 1, 2025
9ce8cde
test: clear identitylink local storage (#13463)
patmmccann Jul 1, 2025
35e86b0
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jul 1, 2025
1777cd4
Rayn RTD module: restore logError stub (#13461)
patmmccann Jul 1, 2025
d98f93b
core: add option to filter PBS ad units (#13355)
patmmccann Jul 1, 2025
37d06fa
Prebid 9.53.0 release
prebidjs-release Jul 1, 2025
741d010
Increment version to 9.53.1-pre
prebidjs-release Jul 1, 2025
9a9a198
Build system: split coverage test run in chunks (#13483)
dgirardi Jul 1, 2025
5373492
Prebid 9.53.1 release
prebidjs-release Jul 1, 2025
3ed653c
Increment version to 9.53.2-pre
prebidjs-release Jul 1, 2025
ee60c19
Prebid 10.0: 🎉 (#13253)
patmmccann Jul 1, 2025
8ddb739
Prebid 10.0.0 release
prebidjs-release Jul 1, 2025
bcad1c2
Increment version to 10.1.0-pre
prebidjs-release Jul 1, 2025
8de2e98
Build system: fix source maps for coverage reports (#13489)
dgirardi Jul 1, 2025
5da9bb9
Equativ Adapter: fix user pid message handler (#13491)
patmmccann Jul 2, 2025
76b67c2
RTB House Bid Adapter : bugfix for imp-level ortb2 params passing (#1…
pjaworski-rtbh Jul 2, 2025
ff5d0c6
Update README.md: update coveralls badge embed (#13495)
patmmccann Jul 2, 2025
0da69f4
Teads Adapter: Send timeout value (#13494)
y-brecher Jul 2, 2025
269a484
Yieldlab Bid Adapter: pass on net revenue info (#13498)
brushmate Jul 2, 2025
4753fc2
Ix bid adapter: cache GPT slot lookups (#13468)
patmmccann Jul 2, 2025
0dc006e
Update package.json: coveralls-next to devDep (#13485)
patmmccann Jul 2, 2025
33254f3
core: categorize uncategorized PRs as maintenance (#13455)
patmmccann Jul 2, 2025
c2bcd41
MediaFuse bid adapter: prefer userids as eids (#13500)
balajimediafuse Jul 2, 2025
3ef34ae
appnexus bid adapter - add support for tid (#13502)
jsnellbaker Jul 2, 2025
0d42fc2
Build system: fix e2e tests (#13504)
dgirardi Jul 3, 2025
d16c038
Fix: cleanup lockrAIM test storage (#13503)
patmmccann Jul 3, 2025
5fd0ba9
[LiveIntent Analytics Adapter] - Update docs and remove obsolete conf…
3link Jul 3, 2025
047ea09
Build system: test and coverage using github actions (#13501)
dgirardi Jul 3, 2025
f47cbbe
Build system: fix tests failing on PRs from forks (#13521)
dgirardi Jul 3, 2025
b5006e9
fix pull request target (#13522)
dgirardi Jul 3, 2025
791d31d
Maintenance: fix typos across codebase (#13516)
patmmccann Jul 3, 2025
9b01cc5
Datawrkz bid adapter: reduce duplicate code (#13384)
patmmccann Jul 3, 2025
ef98300
humansecurityMalvDefense Rtd Provider: replacement for cleanioRtdProv…
eugen-tikhonov Jul 4, 2025
6c605b8
libraries: convert urlUtils to TypeScript (#13497)
patmmccann Jul 4, 2025
f5d6439
Acuity Bid Adapter : handle publisher id (#13508)
AcuityAdsIntegrations Jul 4, 2025
8f5f258
Mobkoi Bid Adapter: getUserSyncs implementation (#13416)
zeeye Jul 5, 2025
ca597e8
test: restore fetch stub in pubmatic rtd spec (#13484)
patmmccann Jul 7, 2025
961a8d3
Core: enforce no tabs in test files (#13524)
patmmccann Jul 7, 2025
1d03d11
Start.io Bid Adapter : implement support for coppa, usp, floors and o…
prebid-startio Jul 7, 2025
70e1797
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jul 7, 2025
5546bb1
Update seedtagBidAdapter.js (#13515)
patmmccann Jul 7, 2025
08bbcdc
Colombia Bid Adapter : timeout bidwon support (#13475)
pshkumarr Jul 8, 2025
a5c82ee
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jul 8, 2025
fd794c0
fet(): enhance nurl handling for video bids (#13537)
pb-pete Jul 8, 2025
a2d74b8
Video js module: improve test coverage for videojsvideoprovider.js (#…
patmmccann Jul 8, 2025
67ef1ea
Appush bid adapter: pull in teqblazeutils (#13299)
patmmccann Jul 8, 2025
cca2edf
Build system: update GH workflows to fail on cache miss (#13539)
dgirardi Jul 8, 2025
117e4d2
Build system: update browserslist only on release (#13542)
dgirardi Jul 8, 2025
83fd372
Kargo Bid Adapter: Remove dupe fields + utilize generateUUID from uti…
nickllerandi Jul 8, 2025
cccf889
core: fix wrapper id lookup (#13462)
patmmccann Jul 8, 2025
a3d13cd
FreepassBidAdaptor. Allow credentails when req (#13536)
aplio Jul 8, 2025
97d6623
JW video player: improve test coverage (#13309)
patmmccann Jul 8, 2025
bbb23d3
Revert "FreepassBidAdaptor. Allow credentails when req (#13536)" (#13…
patmmccann Jul 8, 2025
0013fc8
Prebid 10.1.0 release
prebidjs-release Jul 9, 2025
820c6b0
Increment version to 10.2.0-pre
prebidjs-release Jul 9, 2025
31d1044
Core: remove circleci from merges and pulls (#13551)
patmmccann Jul 9, 2025
b213bda
Colossus Bid Adapter: use shared utils (#13511)
patmmccann Jul 9, 2025
73926f3
supports cids outside of ext (#13553)
karimMourra Jul 9, 2025
e257303
removes redundant content.value (#13552)
karimMourra Jul 9, 2025
397a20a
ortbConverter: accept null responses (#13558)
dgirardi Jul 9, 2025
c9c8eb8
storageControl: improve metadata generation (#13557)
dgirardi Jul 10, 2025
a7fa059
userId: alias requests' `.userIdAsEids` to `ortb2.user.ext.eids` (#13…
dgirardi Jul 10, 2025
481af2c
feat(): debug mode query parameter support (#13547)
pb-pete Jul 10, 2025
c20fee1
invibesBidAdapter: optimize keyword parsing (#13460)
patmmccann Jul 10, 2025
7203d19
Linting: remove exception (#13518)
patmmccann Jul 10, 2025
03addf7
Build system: fix linter GH action (#13561)
dgirardi Jul 10, 2025
c1e56e9
Build system: fix CI to run on the correct commit on PRs (#13563)
dgirardi Jul 10, 2025
3d22c15
Build system: update coveralls report (#13564)
dgirardi Jul 11, 2025
cb88b60
OptimizeRx Bid Adapter: initial release (#13443)
suruvu Jul 11, 2025
1b792a3
Merge branch 'master' into aaronDev-ai-patch-2
aaronDev-ai Jul 11, 2025
cf84c72
Update pubmaticBidAdapter.js
patmmccann Jul 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
79 changes: 8 additions & 71 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,75 +1,12 @@
# Javascript Node CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
#

aliases:
- &environment
docker:
# specify the version you desire here
- image: cimg/node:20.14.0-browsers
resource_class: xlarge
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/mongo:3.4.4
working_directory: ~/Prebid.js

- &restore_dep_cache
keys:
- v1-dependencies-{{ checksum "package.json" }}

- &save_dep_cache
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}

- &install
name: Install gulp cli
command: sudo npm install -g gulp-cli

- &run_unit_test
name: BrowserStack testing
command: gulp test --browserstack --nolintfix

- &run_endtoend_test
name: BrowserStack End to end testing
command: gulp e2e-test

- &unit_test_steps
- checkout
- restore_cache: *restore_dep_cache
- run: npm ci
- save_cache: *save_dep_cache
- run: *install
- run: *run_unit_test

- &endtoend_test_steps
- checkout
- restore_cache: *restore_dep_cache
- run: npm install
- save_cache: *save_dep_cache
- run: *install
- run: *run_endtoend_test

version: 2
version: 2.1
jobs:
build:
<<: *environment
steps: *unit_test_steps

e2etest:
<<: *environment
steps: *endtoend_test_steps

noop:
docker:
- image: cimg/base:stable
steps:
- run: echo "CircleCI build skipped - using GitHub Actions. This job can be removed once 9.x is no longer supported."
workflows:
version: 2
commit:
default:
jobs:
- build
- e2etest:
requires:
- build

experimental:
pipelines: true
- noop
4 changes: 3 additions & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@

"build": {
"dockerfile": "Dockerfile",
"args": { "VARIANT": "12" }
"args": {
"VARIANT": "18"
}
},

"postCreateCommand": "bash .devcontainer/postCreate.sh",
Expand Down
6 changes: 3 additions & 3 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ autolabeler:
categories:
- title: '🚀 New Features'
label: 'feature'
- title: '🛠 Maintenance'
label: 'maintenance'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- 'bug'
- title: '🛠 Maintenance'
labels: []
change-template: '- $TITLE (#$NUMBER)'
version-resolver:
major:
Expand Down
101 changes: 101 additions & 0 deletions .github/workflows/run-unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: Run unit tests
on:
workflow_call:
inputs:
build-cmd:
description: Build command, run once
required: true
type: string
test-cmd:
description: Test command, run once per chunk
required: true
type: string
serialize:
description: If true, allow only one concurrent chunk (see note on concurrency below)
required: false
type: boolean
outputs:
wdir:
description: Cache key for the working directory after running tests
value: ${{ jobs.chunk-4.outputs.wdir }}
secrets:
BROWSERSTACK_USER_NAME:
description: "Browserstack user name"
BROWSERSTACK_ACCESS_KEY:
description: "Browserstack access key"

jobs:
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Fetch source
uses: actions/cache/restore@v4
with:
path: .
key: source-${{ github.run_id }}
fail-on-cache-miss: true

- name: Build
run: ${{ inputs.build-cmd }}

- name: Cache build output
uses: actions/cache/save@v4
with:
path: .
key: build-${{ inputs.build-cmd }}-${{ github.run_id }}

chunk-1:
needs: build
name: Run tests (chunk 1 of 4)
uses: ./.github/workflows/test-chunk.yml
with:
chunk-no: 1
wdir: build-${{ inputs.build-cmd }}-${{ github.run_id }}
cmd: ${{ inputs.test-cmd }}
serialize: ${{ inputs.serialize }}
secrets:
BROWSERSTACK_USER_NAME: ${{ secrets.BROWSERSTACK_USER_NAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
chunk-2:
name: Run tests (chunk 2 of 4)
needs: chunk-1
uses: ./.github/workflows/test-chunk.yml
with:
chunk-no: 2
wdir: ${{ needs.chunk-1.outputs.wdir }}
cmd: ${{ inputs.test-cmd }}
serialize: ${{ inputs.serialize }}
secrets:
BROWSERSTACK_USER_NAME: ${{ secrets.BROWSERSTACK_USER_NAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
chunk-3:
name: Run tests (chunk 3 of 4)
needs: chunk-2
uses: ./.github/workflows/test-chunk.yml
with:
chunk-no: 3
wdir: ${{ needs.chunk-2.outputs.wdir }}
cmd: ${{ inputs.test-cmd }}
serialize: ${{ inputs.serialize }}
secrets:
BROWSERSTACK_USER_NAME: ${{ secrets.BROWSERSTACK_USER_NAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
chunk-4:
name: Run tests (chunk 4 of 4)
needs: chunk-3
uses: ./.github/workflows/test-chunk.yml
with:
chunk-no: 4
wdir: ${{ needs.chunk-3.outputs.wdir }}
cmd: ${{ inputs.test-cmd }}
serialize: ${{ inputs.serialize }}
secrets:
BROWSERSTACK_USER_NAME: ${{ secrets.BROWSERSTACK_USER_NAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
2 changes: 1 addition & 1 deletion .github/workflows/scripts/codepath-notification
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ rubicon|magnite : header-bidding@magnite.com
appnexus : prebid@microsoft.com
pubmatic : header-bidding@pubmatic.com
openx : prebid@openx.com
medianet : prebid@media.net
(modules|libraries)/medianet : prebid@media.net
70 changes: 70 additions & 0 deletions .github/workflows/test-chunk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Test chunk
on:
workflow_call:
inputs:
serialize:
required: false
type: boolean
cmd:
required: true
type: string
chunk-no:
required: true
type: number
wdir:
required: true
type: string
outputs:
wdir:
description: "Cache key for the working directory after running tests"
value: test-${{ inputs.cmd }}-${{ inputs.chunk-no }}-${{ github.run_id }}
secrets:
BROWSERSTACK_USER_NAME:
description: "Browserstack user name"
BROWSERSTACK_ACCESS_KEY:
description: "Browserstack access key"

concurrency:
# The following generates 'browserstack-<run_id>' when inputs.serialize is true, and a hopefully unique ID otherwise
# Ideally we'd like to serialize browserstack access across all workflows, but github's max queue length is only 1
# (cfr. https://github.com/orgs/community/discussions/12835)
# so we add the run_id to serialize only within one push / pull request (which has the effect of queueing e2e and unit tests)
group: ${{ inputs.serialize && 'browser' || github.run_id }}${{ inputs.serialize && 'stack' || inputs.cmd }}-${{ github.run_id }}
cancel-in-progress: false

jobs:
test:
name: "Test chunk ${{ inputs.chunk-no }}"
env:
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USER_NAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
TEST_CHUNKS: 4
TEST_CHUNK: ${{ inputs.chunk-no }}
runs-on: ubuntu-latest
steps:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Restore working directory
id: restore-dir
uses: actions/cache/restore@v4
with:
path: .
key: ${{ inputs.wdir }}
fail-on-cache-miss: true

- name: Run tests
uses: nick-fields/retry@v3
with:
timeout_minutes: 8
max_attempts: 3
command: ${{ inputs.cmd }}

- name: Save working directory
uses: actions/cache/save@v4
with:
path: .
key: test-${{ inputs.cmd }}-${{ inputs.chunk-no }}-${{ github.run_id }}

Loading
Loading