Skip to content

[pull] master from prebid:master #58

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 221 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 commits
Select commit Hold shift + click to select a range
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
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
f036356
Equativ Bid Adapter: add outstream renderer and pass Prebid version, …
krzysztofequativ 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
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
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
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
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…
piotrj-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
5546bb1
Update seedtagBidAdapter.js (#13515)
patmmccann Jul 7, 2025
08bbcdc
Colombia Bid Adapter : timeout bidwon support (#13475)
pshkumarr 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
b0a5ebb
Test suite: enable no-redeclare rule for tests (#13568)
patmmccann Jul 11, 2025
4796fbf
Test suite: enable import/no-duplicates and precision check in lintin…
patmmccann Jul 11, 2025
c772d61
Core: enable default-case-last rule (#13574)
patmmccann Jul 14, 2025
d034772
Freepass Bid Adaptor : allow credential when req (#13546)
aplio Jul 14, 2025
6f34186
RobustApps BId Adapter: initial release (#13572)
rbstdev Jul 14, 2025
781eba9
RPRS-3986-previousAuctionInfo-data (#13579)
michachen Jul 14, 2025
4f638ce
Build: do not export `.babelrc.js` / `babelConfig.js` (#13519)
olafbuitelaar Jul 14, 2025
482a8dd
chore: stage remaining specs (#13573)
patmmccann Jul 14, 2025
1438030
Nexverse Bid Adapter: Multiple improvements and bug fixes (#13531)
montu1996 Jul 14, 2025
e81fa77
Core: add feature flags for log message support (#13015)
gwhigs Jul 14, 2025
217887e
Test suite: enforce import extensions in tests (#13569)
patmmccann Jul 14, 2025
7caffbc
Prebid 10.2.0 release
prebidjs-release Jul 14, 2025
c548db7
Increment version to 10.3.0-pre
prebidjs-release Jul 14, 2025
82466cb
IAS RTD: Inject Brand Safety Data into ortb2, ortb2Imp (#13398)
aaronDev-ai Jul 14, 2025
f1a0b7a
Linting: add stylistc indentation rule (#13585)
patmmccann Jul 14, 2025
412021b
maintenance: enforce no-global-assign in tests (#13575)
patmmccann Jul 14, 2025
fac16e8
Adapters: remove gvlid from Kubient and TheMoneytizer (#13601)
patmmccann Jul 15, 2025
c1c5648
admixerBidAdapter: add 'theads' alias (#13580)
dariaboyko Jul 15, 2025
1e08c27
Core: remove no-empty eslint exception (#13589)
patmmccann Jul 15, 2025
c93248e
UserId Module: dedupe secureSignalProviders (#13490)
patmmccann Jul 15, 2025
ce2c460
Pulsepoint and adxcg: solve duplication (#13610)
patmmccann Jul 15, 2025
4f83b03
userId: fix overzealous enforceStorageType checks (#13556)
dgirardi Jul 15, 2025
70c2ac8
Sevio Bid Adapter : initial release (#13529)
petrican Jul 16, 2025
dd430d4
Core: add GPT type references (#13597)
patmmccann Jul 16, 2025
5d530f2
JWPlayer Video provider: Support cids outside of the ext (#13555)
karimMourra Jul 16, 2025
1936e77
Yandex Bid Adapter : add support for eventtrackers in native ads (#13…
filipov Jul 16, 2025
b45ed07
Linting: enforce no throw literal (#13611)
patmmccann Jul 16, 2025
346f10f
Rumble Bid Adapter : initial release (#13543)
EwalksRumble Jul 16, 2025
0e5e86e
Add Teads to Prebid.js codepath-notification (#13620)
github-baptiste-haudegand Jul 16, 2025
278bfd8
Yandex bid adapter: added lurl support (#13619)
filipov Jul 16, 2025
8cf2d45
rubiconBidAdapter: simplify util function (#13466)
patmmccann Jul 16, 2025
6318c24
custom endpoint (#13612)
khang-vu-ttd Jul 16, 2025
0d889f1
added adUnitCode, divId and adUnitPath in imp.ext (#13604)
nathanealr Jul 17, 2025
3283bd8
Yandex Bid Adapter: Switch media type detection to OpenRTB mtype fiel…
filipov Jul 17, 2025
8c5cee6
Prebid 10.3.0 release
prebidjs-release Jul 18, 2025
8a37788
Increment version to 10.4.0-pre
prebidjs-release Jul 18, 2025
0214262
Bump on-headers and morgan (#13626)
dependabot[bot] Jul 18, 2025
d2a47f4
Fix modelGroups typo (#13623)
rogerDyl Jul 18, 2025
71ffead
EXCH-13317 Provide GPP params for user sync (#13628)
gmiedlar-ox Jul 20, 2025
c46133d
LiveIntent ID Module : add support for nexxen id (#13627)
3link Jul 21, 2025
e967ff6
Targeting : Fix wrong types in allowTargetingKeys (#13632)
vlouppe Jul 21, 2025
137bc2f
Small fix in sevioAdapter. Send eids in the format required by the se…
petrican Jul 21, 2025
0f2a368
Build system: remove coveralls task (#13635)
dgirardi Jul 21, 2025
73de01a
Dev Dependencies: bump eslint and brace-expansion (#13636)
patmmccann Jul 21, 2025
e10f6e6
PubMatic Bid Adapter: Add support for disabling gzip (#13631)
pm-asit-sahoo Jul 21, 2025
ea89351
Dev dependencies: add npm ecosystem to package updates (#13638)
patmmccann Jul 21, 2025
ffe8941
Prebid 10.4.0 release
prebidjs-release Jul 21, 2025
68df5e5
Increment version to 10.5.0-pre
prebidjs-release Jul 21, 2025
1a82a13
Update adapterManager.ts: remove code todo (#13640)
patmmccann Jul 21, 2025
4a752c5
Bump form-data from 4.0.0 to 4.0.4 (#13642)
dependabot[bot] Jul 21, 2025
08c83bb
Mobkoi Adapter: bug: getUserSyncs no need to check gdprConsent (#13599)
zeeye Jul 22, 2025
d2324e5
Adpartner & Mediaimpact adapters: share common sync helpers (#13641)
patmmccann Jul 22, 2025
ba9a622
Linting: no-return-assign (#13608)
patmmccann Jul 22, 2025
f019cb2
Multiple modules: remove GVL IDs that are missing or marked as delete…
dgirardi Jul 23, 2025
da680b2
T Advertising Solutions Bid Adapter: initial release (#13526)
tb-emq Jul 23, 2025
d8ef45b
Core: cleanup analytics cache (#13639)
patmmccann Jul 23, 2025
8500a86
Build system: fail earlier on cache errors (#13653)
dgirardi Jul 23, 2025
16cc973
Adipolo Bid Adapter: add gvlid (#13660)
Chucky-choo Jul 24, 2025
fcd06d4
Adtelligent Bid Adapter: add gpid (#13658)
Gunnar97 Jul 24, 2025
8d05f5b
Bidmatic Bid Adapter: add gpid (#13659)
Gunnar97 Jul 24, 2025
7236e06
Mobkoi Adapter: Set integration type field in bid requests (#13645)
zeeye Jul 24, 2025
cdb9e9a
Build system: fix broken imports from NPM when not using typescript (…
dgirardi Jul 24, 2025
bd5f5c0
Docs: update prebid cache URL (#13662)
patmmccann Jul 24, 2025
621d637
Core: remove longform e2e tests (#13663)
patmmccann Jul 24, 2025
9865db0
Test suite: use generic cache endpoint (#13664)
patmmccann Jul 24, 2025
6368b6b
Creatives : fix resizing when not using an ad server (#13652)
rogerDyl Jul 24, 2025
4129fe3
Feature: added obtention of gpid, divid and other information and add…
jordi-tappx Jul 24, 2025
547993d
Prebid 10.5.0 release
prebidjs-release Jul 24, 2025
663e0db
Increment version to 10.6.0-pre
prebidjs-release Jul 24, 2025
8f6406e
Update instream.html (#13668)
patmmccann Jul 24, 2025
cd9e487
Adform Bid Adapter: ortb2Imp extension (#13650)
a-sto Jul 25, 2025
0247ca9
tidy up (#13675)
zeeye Jul 25, 2025
532e386
add new appnews alias newdream (#13670)
newdreamglobal Jul 25, 2025
00ca66f
appnexus bid adapter - update logic for trkjs script detection (#13677)
jsnellbaker Jul 25, 2025
a63a6b5
ID5 ID module: add option to use gam targeting (#13674)
abazylewicz-id5 Jul 25, 2025
4618aa0
Preciso BidAdapter : update and fix linting (#13672)
NikhilGopalChennissery Jul 28, 2025
381ec13
Relaido Bid Adapter: update overview maintainer (#13681)
relaido Jul 28, 2025
7f4599c
Tercept Analytics Adapter: bug fixes for No Bid and missing params (#…
mdusmanalvi Jul 28, 2025
7f61966
Gamoshi Bid Adapter : upgraded to ORTB 2.5-compliant flow (#13576)
mmoses Jul 28, 2025
8071258
programmaticx Bid Adapter: change endpoint (#13549)
anna-y-perion Jul 28, 2025
af15395
Build sytem: allow customization of some build options (such as globa…
dgirardi Jul 28, 2025
95df399
AdPlus Analytics Adapter : initial release (#13493)
tccdeniz Jul 29, 2025
f66e4c4
programmaticXBidAdapter: fix tests (#13688)
dgirardi Jul 29, 2025
9d45096
deepintent & pubmatic bid adapters: import deals getter from library …
parthshah51999 Jul 29, 2025
4324649
Lasso Bid Adapter : add testdk param (#13630)
victorlassomarketing Jul 29, 2025
18beba6
Linting: enforce no useless escape (#13618)
patmmccann Jul 29, 2025
a7c0d6a
Etarget Bid Adapter: update contact info and cleanup (#13690)
lusitdev Jul 30, 2025
7b41a95
Test suite: enforce no-unused-expressions in tests (#13570)
patmmccann Jul 30, 2025
4a8947e
fix video player size (#13691)
dalmenarDevST Jul 30, 2025
163f670
ShowHeroes Bid Adapter: add banner support (#13694)
FilipStamenkovic Jul 30, 2025
1fbe57b
Core: adding audio to mediatypes (#13538)
mkomorski Jul 30, 2025
8823df0
Freedom Ad Network Bidder Adapter: Update to new API (master branch) …
klaussilveira Jul 30, 2025
30f6455
OMS Bid Adapter: add usp and update gdpr fields structure in request …
siminkovladyslav Jul 30, 2025
a747698
Core: fix use of PREBID_GLOBAL (#13696)
dgirardi Jul 30, 2025
9def7a9
e2e tests: extend webdriver session timeouts (#13695)
patmmccann Jul 30, 2025
3cbfac3
PubMatic Adapter : Read custom targeting from RTD providers (#13705)
pm-kapil-tuptewar Jul 31, 2025
187a774
Test suite: clean up tests not setting shouldClearNativeTimers (#13689)
patmmccann Jul 31, 2025
a5f77e8
Prebid Server Bid Adapter: Fixed schains field population from bidder…
anastasiiapankivFS Jul 31, 2025
684843e
GPTUtils: Prevent caching empty slot info in gptUtils and add empty i…
pm-nitin-nimbalkar Jul 31, 2025
39b870f
LoopMe Bid Adapter: Remove ortb fields override (#13704)
EpanchinE Jul 31, 2025
6e7f371
Prebid 10.6.0 release
prebidjs-release Jul 31, 2025
9686ce1
Increment version to 10.7.0-pre
prebidjs-release Jul 31, 2025
254b5e3
ixBidAdapter: avoid looping over all properties of the array (#13703)
robin-crazygames Aug 1, 2025
4251af6
Pubmatic Bid Adapter: Adding test cases (#13525)
pm-tanishka-vishwakarma Aug 4, 2025
806882f
Add Adklip adapter (#13717)
adserver-online Aug 4, 2025
1e9a992
Bump @eslint/compat from 1.2.7 to 1.3.1 (#13721)
dependabot[bot] Aug 4, 2025
d9a365a
Bump webpack-manifest-plugin from 5.0.0 to 5.0.1 (#13718)
dependabot[bot] Aug 4, 2025
36ee8cf
Bump webdriverio from 9.15.0 to 9.18.4 (#13725)
dependabot[bot] Aug 4, 2025
35b94b1
Nexverse Bid Adapter: bug fixes (#13644)
montu1996 Aug 4, 2025
6426fed
Bump videojs-playlist from 5.1.2 to 5.2.0 (#13726)
dependabot[bot] Aug 4, 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
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,11 @@ updates:
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
versioning-strategy: increase
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
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
109 changes: 109 additions & 0 deletions .github/workflows/run-unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
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 }}

- name: Verify cache
uses: actions/cache/restore@v4
with:
path: .
key: build-${{ inputs.build-cmd }}-${{ github.run_id }}
lookup-only: true
fail-on-cache-miss: true

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 }}
1 change: 1 addition & 0 deletions .github/workflows/scripts/codepath-notification
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ appnexus : [email protected]
pubmatic : [email protected]
openx : [email protected]
(modules|libraries)/medianet : [email protected]
teads : [email protected]
79 changes: 79 additions & 0 deletions .github/workflows/test-chunk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
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 }}

- name: Verify cache
uses: actions/cache/restore@v4
with:
path: .
key: test-${{ inputs.cmd }}-${{ inputs.chunk-no }}-${{ github.run_id }}
lookup-only: true
fail-on-cache-miss: true


Loading
Loading