Skip to content
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

Resync with Prebid.js Master #12

Merged
merged 181 commits into from
Feb 14, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
181 commits
Select commit Hold shift + click to select a range
8ea3f3b
GumGum: sets mediaType of bidRequest depending on product id (#6066)
susyt Dec 4, 2020
93536f0
pubgenius: remove video cache key to be future-proof (#6081)
edmonl Dec 4, 2020
b9a4cc6
fix pubgenius unit test (#6090)
jsnellbaker Dec 7, 2020
5f6dab3
6012: Fix for passing US Privacy string in buildVideoUrl and buildAdp…
pm-harshad-mane Dec 7, 2020
dbd0d84
fix prebid server playerwidth and height (#6073)
ReinoutStevens Dec 7, 2020
93f393a
Fix iframe __tcfapi arguments (#6058)
polo2ro Dec 7, 2020
12d55b9
Feature/vmuid connectid rebrand (#6045)
slimkrazy Dec 8, 2020
4c047f9
Beachfront adapter: Add banner tagid param (#6086)
jsalis Dec 9, 2020
cbd1169
changed events endpoint (#6088)
jxdeveloper1 Dec 9, 2020
478e045
[Triplelift] Fix FPD key-value pairs logic (#6065)
Dec 9, 2020
dd51f24
Add new adapter - adWMGBidAdapter (#6070)
nyakove Dec 9, 2020
9143962
Add PubWise Bid Adapter (#6044)
GLStephen Dec 9, 2020
a95f1db
Vdoai adapter update - Added video mediaType support (#5970)
cpuBird Dec 9, 2020
c0af432
Price Floors update to include modelTimestamp displaying when the flo…
mmoschovas Dec 9, 2020
a17c234
Adagio Bid Adapter: hotfix - detect support for intersectionObserver …
osazos Dec 9, 2020
83bafc0
Adt new alias (#6004)
GeneGenie Dec 9, 2020
09601b6
Prebid 4.9.0 Release
Dec 9, 2020
3496b3f
Increment pre version
Dec 9, 2020
f7a91ca
Add Release Drafter Instructions to PR_REVIEW.md (#6085)
GLStephen Dec 9, 2020
03b8213
fix typo in PREVENT_WRITING_ON_MAIN_DOCUMENT (#6102)
olafbuitelaar Dec 10, 2020
754ce67
appnexusBidAdapter - update segment param logic (#6103)
jsnellbaker Dec 10, 2020
c8353d3
Change craftBidAdapter request URL (#6096)
crumbjp Dec 10, 2020
0a5f9db
Add Kubient bid adapter, Remove alias from Fidelity bid adapter. (#6084)
onaydenov Dec 11, 2020
9f38423
[Sharethrough] Add Support for badv/bcat and Identity Link User ID (#…
maphe Dec 11, 2020
2527051
Sovrn: Pass the imp.ext.deals field (#6098)
egsgordeev Dec 14, 2020
42be508
oneVideo Adapter - Dynamic TTL support (SAPR-15473) (#6108)
adam-browning Dec 14, 2020
a2454a5
Add Gulp Review-Start Task (#6067)
GLStephen Dec 14, 2020
94c9dcc
appnexusBidAdapter - add support for test flag (#6119)
jsnellbaker Dec 14, 2020
2102f4a
feat(sublimeBidAdapter): updating sublimeBidAdapter module (#6113)
fgcloutier Dec 14, 2020
0fec20d
oneTag Bid Adapter: bidRequest object adjustments (#6105)
onetag-dev Dec 14, 2020
30711be
a/b testing framework baked in to the ID5 user id module (#6076)
smenzer Dec 14, 2020
f6f27dd
Add Zemanta adapter (#6039)
rokostik Dec 14, 2020
6b4494c
vdoai Bid Adapter: added multisize array in bid requests (#6101)
cpuBird Dec 15, 2020
53e6291
Sovrn Bid Adapter: Change TTL field (#6083)
VadimGush Dec 16, 2020
a9f1795
Change bidder url for Qwarry adapter (#6128)
pro-nsk Dec 16, 2020
1410a73
Add Automatic Release Drafter Functionality to Prebid Repository (#5954)
GLStephen Dec 16, 2020
54df547
Price Floors update to include modelWeight in the bid request to give…
mmoschovas Dec 16, 2020
eebdee2
Prebid 4.20.0 Release
smenzer Dec 16, 2020
282866a
Increment pre version
smenzer Dec 16, 2020
47e96ad
GumGum: makes slot and invideo products avail with pubId (#6107)
susyt Dec 16, 2020
453e080
Add support for tagId parameter (#6133)
readpeaktuomo Dec 18, 2020
78917f5
Inmar bidder adapter: Make adNetId an optional paramater (#6136)
zandree-owneriq Dec 18, 2020
2c1e535
Added VOX Bidder Adapter (#6030)
hybrid-ai Dec 19, 2020
5dd60a1
added Engageya bid adapter (#6109)
reemeng Dec 21, 2020
d68f2e0
Fix userIds format for TheMediaGrid Bid Adapter (#6142)
TheMediaGrid Dec 21, 2020
3e73c11
ID Library feat: turn off fullscan by default (#6140)
iamnewton Dec 21, 2020
2f05506
update release process for notes on release drafter checks (#6137)
smenzer Dec 21, 2020
5d2ccb2
Sspbc Bid Adapter: multiple updates (#6118)
wojciech-bialy-wpm Dec 21, 2020
4bfd475
oneVideo Adapter - Content Object support (SAPR-15477) (#6110)
adam-browning Dec 22, 2020
be14e4c
GumGum: adds support for new field - irisid (#6129)
lbenmore Dec 22, 2020
64c560b
AdmixerBidAdapter - add alias , add adapter config (#6120)
Galphimbl Dec 22, 2020
30af7a0
Zeta updates - Pass additional data through adapter (#6134)
mwehr-zeta Dec 22, 2020
080b6b7
Yieldlab - Update Adsize Handling (#6123)
BertiBauer Dec 28, 2020
e7ca0c9
FreeWheel add support for campaignId, bannerId, and dealId (#6144)
sfloam Jan 4, 2021
24538ca
IronSourceBidAdapter: Change logic of detect pageURL (#6147)
liranbaruch Jan 5, 2021
0fc9e23
LiveConnect, lighter-weight module (#6016)
jankoulaga Jan 5, 2021
56d9930
Remove hard string req, just convert instead (#6160)
robertrmartinez Jan 5, 2021
c2a50ba
Add video skippability params (#6161)
jbartek25 Jan 6, 2021
c832131
pubx bid adapter: add getUserSyncs (#6164)
Pub-X Jan 6, 2021
1804e64
Eplanning: new prioritization metric for adunit sizes (#6139)
Jan 6, 2021
53183da
Prebid 4.21.0 Release
Jan 6, 2021
d47b961
Increment pre version
Jan 6, 2021
caaad49
changed vdo.ai bidder code to vdoai (#6135)
cpuBird Jan 7, 2021
da2f5d1
appnexusBidAdapter - add support for netId userID (#6114)
jsnellbaker Jan 8, 2021
c056832
Update ucfunnelBidAdapter (#6157)
Jan 8, 2021
3cc18ad
DfpAdServerVideo: Pass GDPR Consent Data (#6143)
msm0504 Jan 8, 2021
2db99bc
TE Medya Prebid Adapter (#6168)
vidyome Jan 8, 2021
bfc6009
store privacy object from id5 response in local storage for interoper…
smenzer Jan 8, 2021
1574065
CAP-2116 updated the placementId property to tagId (#6171)
rajcspsg Jan 11, 2021
c2f84cf
Rise adapter (#6165)
noamtzuberi Jan 11, 2021
888cd97
new optional params (#6148)
drilon-kastrati Jan 12, 2021
5ed4400
Add the root domain check method as a util method added for use mod… …
markaconrad Jan 13, 2021
4a56c67
fix includes and find references in various files (#6183)
jsnellbaker Jan 13, 2021
19a0d72
Fix typo in mediaforce bid adapter (#6181)
Niksok Jan 13, 2021
4938e4f
Prebid JS Native Phase 2 update: (#5411)
mmoschovas Jan 13, 2021
681c8e7
Improve __uspapi behavior in iframe (#6072)
ReinoutStevens Jan 13, 2021
bbd64ab
Prebid 4.22.0 Release
smenzer Jan 13, 2021
c8665c5
Increment pre version
smenzer Jan 13, 2021
4b6ee78
Sovrn: Add Support for Floor Module (#6155)
jrosendahl Jan 14, 2021
22a6c9a
Lotame panorama id glv (#6185)
markaconrad Jan 14, 2021
321690a
Admixer bid adapter: add fpd (#6190)
Galphimbl Jan 14, 2021
83dcf46
Add Adomain Targeting Key and Default Targeting Keys (#6116)
vkimcm Jan 14, 2021
fb1858e
Adkernel: torchad alias (#6191)
ckbo3hrk Jan 15, 2021
5aad74a
New feature: PBS anti alias (#6150)
GeneGenie Jan 15, 2021
c40f4ea
Waardex Bid Adapter: Add video support, refactor code (#6149)
yegorWaardex Jan 15, 2021
8ddef8f
ID5 User Id Module: move id5's user id extension to the uids array (#…
smenzer Jan 18, 2021
2f82760
Add tapad id submodule (#6167)
moeroach94 Jan 18, 2021
66fcb8c
GothamAds prebid adapter (#6180)
supportGothamad Jan 18, 2021
1729dd3
add AdTrue bid adapter (#6166)
haibau Jan 18, 2021
90b2b61
Waardex Bid Adapter: use find function from core-js (#6200)
FilipStamenkovic Jan 19, 2021
4faaf47
Price Floors: use standard cpmAdjustment (#6194)
robertrmartinez Jan 20, 2021
e33c62d
move wrapper details into wrapper object (#6184)
robertrmartinez Jan 20, 2021
884b814
Fallback to utilize ad unit code if dmx id is not provide and increas…
MenelikTucker-districtm Jan 20, 2021
962d306
Rubicon analytics Adapter: Add logic to send batched message when slo…
robertrmartinez Jan 20, 2021
0eedc84
Prebid 4.0.23 Release
Jan 20, 2021
2a62f6c
Increment pre version
Jan 20, 2021
7877972
Lotame: added change to fall back to the TCF cookies when no data is …
Tonsil Jan 21, 2021
e8b8be5
Lotame panorama id system updates (#6187)
markaconrad Jan 21, 2021
6fc1017
support outbrain alias in zemanta adapter (#6203)
Jan 21, 2021
a72109e
Yieldlab Adapter: Change URI of outstream renderer (#6211)
BertiBauer Jan 21, 2021
a79d7d8
Livewrapped: GVL id (#6208)
bjorn-lw Jan 21, 2021
892fd93
IX Bid Adapter: Multiformat support, video adunit param, IXdiags (#6177)
umakajan Jan 21, 2021
f5587db
Colossus Adapter: bidfloor support (#6199)
Jan 22, 2021
6805418
EMX revised issue with schain forwarding (#6080)
EMXDigital Jan 22, 2021
817f06e
Criteo: Re-enable ad building when mediation is off and remove enable…
bmwcmw Jan 25, 2021
534db98
typo and var name improvement (#6217)
karimMourra Jan 25, 2021
86bdc03
Updating send json userids to endpoint in idLibrary (#6219)
SKOCHERI Jan 26, 2021
ce829e8
appnexus bid adapter - fix outstream render issue with smart ad serve…
Fawke Jan 26, 2021
869d79d
add md file for tapadIdSystem (#6223)
moeroach94 Jan 26, 2021
dfed405
Implement glomex bid adapter (#6209)
nerdbeere Jan 26, 2021
40d335a
JW Player RTD Module - Limit scope to adUnits supporting instream vid…
karimMourra Jan 26, 2021
7970f51
Criteo: Increment adapter version (#6218)
bmwcmw Jan 26, 2021
eefd2af
Triplelift Bid Adapter: Support for video floors (#6229)
nllerandi3lift Jan 27, 2021
819176c
ATS Analytics: Send additional analytics data (#6145)
mamatic Jan 27, 2021
fdd646b
Feature: Multiple Prebid Servers (#5992)
Jan 27, 2021
62907bd
Between multirequests (#6214)
ignat-one Jan 27, 2021
ea9b0b0
Prebid 4.24.0 Release
robertrmartinez Jan 27, 2021
6896e53
Increment pre version
robertrmartinez Jan 27, 2021
438b0b0
Fix astraoneBidAdapter (#6230)
lizakobrazova Jan 27, 2021
b7ec359
update banner ttl (#6228)
stevealliance Jan 28, 2021
4f2af66
browsi: updating test parameters (#6048)
bretg Jan 28, 2021
5f56b18
SpotX Bid Adapter: default to 4/3 aspect ratio when response doesn't …
agdillon Jan 28, 2021
a926dee
Extended ID permissions supported by bidder (#6112)
YerkovichM Jan 28, 2021
524efda
Relevant Yield analytics adapter (#6195)
samuel-palmer-relevant-digital Jan 28, 2021
136ad4c
Pubmatic: fix issue where using an adUnit outstream renderer throws …
pm-shashank-jain Jan 28, 2021
f613117
Malltv Bid Adapter : added data object as a param (#6232)
Jan 29, 2021
25dd35c
support setting coopSync in s2sConfig (#6213)
msm0504 Feb 1, 2021
e60d10b
Revert "support setting coopSync in s2sConfig (#6213)" (#6249)
bretg Feb 1, 2021
802cfd0
pbsBidAdapter: change order of client syncs (#6248)
bretg Feb 2, 2021
99c1256
pass a flag back to ID5 servers if abTesting was enabled by the publi…
smenzer Feb 2, 2021
62e2169
appneuxs Bid Adapter - add support for identitylink userId (#6245)
jsnellbaker Feb 3, 2021
6a8f953
Update britepoolIdSystem.md (#6254)
patmmccann Feb 3, 2021
c954276
UNICORN Adapter - accept multiple formats (#6255)
ctylim Feb 3, 2021
8c0c7ab
ATS-analytics - add comment clarifying ownership of atsAnalytics (#6257)
mamatic Feb 3, 2021
951f1e4
[ParrableIdSystem] Ensure base64 payload is url-safe (#6258)
icflournoy Feb 3, 2021
17ce376
Keywords + Screen resolution + CPU Core (#6259)
richaudience Feb 3, 2021
3e99b0d
Rubicon Analytics: Fire event once gptSlots render (#6241)
robertrmartinez Feb 3, 2021
d1900a9
New dimension for tracking name of the matching adUnit pattern (#6252)
robertrmartinez Feb 3, 2021
f704369
Adhese Bid Adapter: Per adunit targets (#6256)
mefjush Feb 3, 2021
97e5351
Gjirafa Bid Adapter: added data object as a param (#6231)
Feb 3, 2021
f8d42ba
Fix a TypeError when message event source is not available (#6224)
cciocov Feb 3, 2021
5504f12
fix broken tests due to "encoded" base64 logic (#6268)
harpere Feb 3, 2021
eed6db7
Adkernel Bid Adapter: stringads alias added (#6262)
ckbo3hrk Feb 3, 2021
4d1e906
Revert "Extended ID permissions supported by bidder (#6112)" (#6269)
jsnellbaker Feb 3, 2021
a4c6efa
Prebid 4.25.0 Release
Feb 3, 2021
6cbb15e
Increment pre version
Feb 3, 2021
28cbd29
smartxBidAdapter: new Feature - Made Out-Stream Player configurable (…
Skylinar Feb 4, 2021
11a925d
Idl1 (#6242)
SKOCHERI Feb 4, 2021
4e1be70
Add the trade desk gvlid (#6263)
muuki88 Feb 4, 2021
cca2029
pick up wrapper family detail (#6272)
robertrmartinez Feb 4, 2021
da13bda
Add user sync (#6244)
Adprime Feb 4, 2021
1cd714f
Zeotap id plus gvlid (#6260)
shikharsharma-zeotap Feb 4, 2021
da1a6e9
adWMG adapter: add new parameter, fix minor bugs (#6265)
nyakove Feb 4, 2021
0a33349
[ParrableIdSystem] Supply iframe state to backend (#6278)
icflournoy Feb 4, 2021
8f77660
Bid Viewability Module (#6206)
pm-harshad-mane Feb 5, 2021
8d464b6
disable webdriver tests in trionBidAdapter spec (#6280)
jsnellbaker Feb 5, 2021
ccd570b
[ParrableIdSystem] Supply Prebid library version to backend (#6279)
icflournoy Feb 5, 2021
86516ab
[ParrableIdSystem] Accept list of partners as an array or string (#6277)
icflournoy Feb 5, 2021
b7dcdf9
Rubicon Bid Adapter FPD Update (#6122)
mmoschovas Feb 7, 2021
2640d08
ID5 User Id Module: update a/b testing to be user based not request b…
smenzer Feb 8, 2021
727bf20
Shared ID gdpr support (#6275)
bjorn-lw Feb 8, 2021
ab9a8d2
Lemma:set mediaType key value (#6006)
lm-abhijit Feb 8, 2021
19b4885
added support for addtlConsent (#6005)
ix-certification Feb 8, 2021
1654d53
Add bid adapter for Missena (#6247)
dev-missena Feb 8, 2021
c27ff14
Gulp test file example added in readme (#6287)
pm-harshad-mane Feb 9, 2021
dde585b
Sharethrough: Add support for ID5, Shared ID, and Live Intent ID (#6261)
poojawins Feb 9, 2021
73cfeb5
SmartAdServer Bid Adapter: image sync and noAd (#6236)
lowendavid Feb 9, 2021
fae47aa
Add client Alias Adkernel (#6291)
iskmerof Feb 10, 2021
4a7b465
[ParrableIdSystem] Add GVLID and handle TC Consent data (#6283)
icflournoy Feb 10, 2021
8e2501e
4.26.0 release
mkendall07 Feb 10, 2021
ff0b015
4.27.0-pre
mkendall07 Feb 10, 2021
a037c54
Updated data mapping of winning bid and auction logs in pubxai analyt…
Feb 10, 2021
c9e8869
Grid Bid Adapter: Added video protocols to the ad request (#6299)
TheMediaGrid Feb 11, 2021
f672209
Rubicon Bid Adapter: updated transactionId to auctionId for OpenRTB (…
bretg Feb 11, 2021
2702e96
Fix for Issue 6117: Added Module Name in Build to Comments (#6297)
pm-harshad-mane Feb 12, 2021
a6c3986
map tripleliftBidAdapter.js tl_source to bid.meta.mediaType (#6303)
patmmccann Feb 12, 2021
62ca969
Tappx Bid Adapter: new bidder adapter added (#6233)
prebidtappx Feb 12, 2021
6cc1ec3
Add Native ad capability to AdYouLike adapter (#6198)
guiann Feb 12, 2021
2ea3f6f
Update targeting.js to fix TTL buffer arithmetic (#6300)
patmmccann Feb 12, 2021
6e51dcf
Permutive RTD submodule (#6290)
dreischer Feb 12, 2021
a55b1ad
Adtelligent Bid Adapter: Add Navelix as alias (#6306)
GeneGenie Feb 12, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

name-template: 'Prebid $RESOLVED_VERSION Release'
tag-template: '$RESOLVED_VERSION'
categories:
- title: '🚀 New Features'
label: 'feature'
- title: '🛠 Maintenance'
label: 'maintenance'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
change-template: '- $TITLE (#$NUMBER)'
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: patch
template: |
## In This Release
$CHANGES
18 changes: 18 additions & 0 deletions .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Release Drafter

on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master

jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
16 changes: 15 additions & 1 deletion PR_REVIEW.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,17 @@ If the PR is for a standard bid adapter or a standard analytics adapter, just th

For modules and core platform updates, the initial reviewer should request an additional team member to review as a sanity check. Merge should only happen when the PR has 2 `LGTM` from the core team and a documentation PR if required.

### Running Tests and Verifying Integrations

General gulp commands include separate commands for serving the codebase on a built in webserver, creating code coverage reports and allowing serving integration examples. The `review-start` gulp command combinese those into one command.

- Run `gulp review-start`, adding the host parameter `gulp review-start --host=0.0.0.0` will bind to all IPs on the machine
- A page will open which provides a hub for common reviewer tools.
- If you need to manually acceess the tools:
- Navigate to build/coverage/lcov-report/index.html to view coverage
- Navigate to integrationExamples/gpt/hellow_world.html for basic integration testing
- The hello_world.html and other exampls can be edited and used as needed to verify functionality

### General PR review Process
- All required global and bidder-adapter rules defined in the [Module Rules](https://docs.prebid.org/dev-docs/module-rules.html) must be followed. Please review these rules often - we depend on reviewers to enforce them.
- Checkout the branch (these instructions are available on the github PR page as well).
Expand All @@ -18,7 +29,10 @@ For modules and core platform updates, the initial reviewer should request an ad
- If the change results in needing updates to docs (such as public API change, module interface etc), add a label for "needs docs" and inform the submitter they must submit a docs PR to update the appropriate area of Prebid.org **before the PR can merge**. Help them with finding where the docs are located on prebid.org if needed.
- If all above is good, add a `LGTM` comment and, if the change is in PBS-core or is an important module like the prebidServerBidAdapter, request 1 additional core member to review.
- Once there are 2 `LGTM` on the PR, merge to master
- Add a line into the [draft release](https://github.com/prebid/Prebid.js/releases) notes for this submission. If no draft release is available, create one using [this template]( https://gist.github.com/mkendall07/c3af6f4691bed8a46738b3675cb5a479)
- The [draft release](https://github.com/prebid/Prebid.js/releases) notes are managed by [release drafter](https://github.com/release-drafter/release-drafter). To get the PR added to the release notes do the steps below. A github action will use that information to build the release notes.
- Adjust the PR Title to be appropriate for release notes
- Add a label for `feature`, `maintenance`, `fix`, `bugfix` or `bug` to categorize the PR
- Add a semver label of `major`, `minor` or `patch` to indicate the scope of change

### Reviewing a New or Updated Bid Adapter
Documentation they're supposed to be following is https://docs.prebid.org/dev-docs/bidder-adaptor.html
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,11 @@ To run the unit tests:
gulp test
```

To run the unit tests for a perticular file (example for pubmaticBidAdapter_spec.js):
```bash
gulp test --file "test/spec/modules/pubmaticBidAdapter_spec.js"
```

To generate and view the code coverage reports:

```bash
Expand Down
83 changes: 41 additions & 42 deletions RELEASE_SCHEDULE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
**Table of Contents**
- [Release Schedule](#release-schedule)
- [Release Process](#release-process)
- [1. Make sure that all PRs have been named and labeled properly per the PR Process](#1-make-sure-that-all-prs-have-been-named-and-labeled-properly-per-the-pr-process)
- [2. Make sure all browserstack tests are passing](#2-make-sure-all-browserstack-tests-are-passing)
- [3. Prepare Prebid Code](#3-prepare-prebid-code)
- [4. Verify the Release](#4-verify-the-release)
- [5. Create a GitHub release](#5-create-a-github-release)
- [6. Update coveralls _(skip for legacy)_](#6-update-coveralls-skip-for-legacy)
- [7. Distribute the code](#7-distribute-the-code)
- [8. Increment Version for Next Release](#8-increment-version-for-next-release)
- [Beta Releases](#beta-releases)
- [FAQs](#faqs)

Expand All @@ -9,7 +17,7 @@
We aim to push a new release of Prebid.js every week on Tuesday.

While the releases will be available immediately for those using direct Git access,
it will be about a week before the Prebid Org [Download Page](http://prebid.org/download.html) will be updated.
it will be about a week before the Prebid Org [Download Page](http://prebid.org/download.html) will be updated.

You can determine what is in a given build using the [releases page](https://github.com/prebid/Prebid.js/releases)

Expand All @@ -19,14 +27,20 @@ Announcements regarding releases will be made to the #headerbidding-dev channel

_Note: If `github.com/prebid/Prebid.js` is not configured as the git origin for your repo, all of the following git commands will have to be modified to reference the proper remote (e.g. `upstream`)_

1. Make Sure all browserstack tests are passing. On PR merge to master CircleCI will run unit tests on browserstack. Checking the last CircleCI build [here](https://circleci.com/gh/prebid/Prebid.js) for master branch will show you detailed results.

In case of failure do following,
### 1. Make sure that all PRs have been named and labeled properly per the [PR Process](https://github.com/prebid/Prebid.js/blob/master/PR_REVIEW.md#general-pr-review-process)
* Do this by checking the latest draft release from the [releases page](https://github.com/prebid/Prebid.js/releases) and make sure nothing appears in the first section called "In This Release". If they do, please open the PRs and add the appropriate labels.
* Do a quick check that all the titles/descriptions look ok, and if not, adjust the PR title.

### 2. Make sure all browserstack tests are passing

On PR merge to master, CircleCI will run unit tests on browserstack. Checking the last CircleCI build [here](https://circleci.com/gh/prebid/Prebid.js) for master branch will show you detailed results.**

In case of failure do following,
- Try to fix the failing tests.
- If you are not able to fix tests in time. Skip the test, create issue and tag contributor.

#### How to run tests in browserstack
**How to run tests in browserstack**

_Note: the following browserstack information is only relevant for debugging purposes, if you will not be debugging then it can be skipped._

Set the environment variables. You may want to add these to your `~/.bashrc` for convenience.
Expand All @@ -35,40 +49,40 @@ _Note: If `github.com/prebid/Prebid.js` is not configured as the git origin for
export BROWSERSTACK_USERNAME="my browserstack username"
export BROWSERSTACK_ACCESS_KEY="my browserstack access key"
```

```
gulp test --browserstack >> prebid_test.log

vim prebid_test.log // Will show the test results
```


2. Prepare Prebid Code
### 3. Prepare Prebid Code

Update the package.json version to become the current release. Then commit your changes.

```
git commit -m "Prebid 1.x.x Release"
git commit -m "Prebid 4.x.x Release"
git push
```

3. Verify Release
### 4. Verify the Release

Make sure your there are no more merges to master branch. Prebid code is clean and up to date.

4. Create a GitHub release
### 5. Create a GitHub release

Edit the most recent [release notes](https://github.com/prebid/Prebid.js/releases) draft and make sure the correct version is set and the master branch is selected in the dropdown. Click `Publish release`. GitHub will create release tag.

Edit the most recent [release notes](https://github.com/prebid/Prebid.js/releases) draft and make sure the correct tag is in the dropdown. Click `Publish`. GitHub will create release tag.

Pull these changes locally by running command
Pull these changes locally by running command
```
git pull
git fetch --tags
```
```

and verify the tag.

5. Update coveralls _(skip for legacy)_
### 6. Update coveralls _(skip for legacy)_

We use https://coveralls.io/ to show parts of code covered by unit tests.

Expand All @@ -80,35 +94,23 @@ _Note: If `github.com/prebid/Prebid.js` is not configured as the git origin for

Run `gulp coveralls` to update code coverage history.

6. Distribute the code
### 7. Distribute the code

_Note: do not go to step 7 until step 6 has been verified completed._
_Note: do not go to step 8 until step 7 has been verified completed._

Reach out to any of the Appnexus folks to trigger the jenkins job.

// TODO
// TODO:
Jenkins job is moving files to appnexus cdn, pushing prebid.js to npm, purging cache and sending notification to slack.
Move all the files from Appnexus CDN to jsDelivr and create bash script to do above tasks.

7. Post Release Version

Update the version
Manually edit Prebid's package.json to become "1.x.x-pre" (using the values for the next release). Then commit your changes.
### 8. Increment Version for Next Release

Update the version by manually editing Prebid's `package.json` to become "4.x.x-pre" (using the values for the next release). Then commit your changes.
```
git commit -m "Increment pre version"
git push
```

8. Create new release draft

Go to [github releases](https://github.com/prebid/Prebid.js/releases) and add a new draft for the next version of Prebid.js with the following template:
```
## 🚀New Features

## 🛠Maintenance

## 🐛Bug Fixes
```

## Beta Releases

Expand All @@ -129,11 +131,8 @@ Characteristics of a `GA` release:
## FAQs

**1. Is there flexibility in the schedule?**

If a major bug is found in the current release, a maintenance patch will be done as soon as possible.

It is unlikely that we will put out a maintenance patch at the request of a given bid adapter or module owner.
* If a major bug is found in the current release, a maintenance patch will be done as soon as possible.
* It is unlikely that we will put out a maintenance patch at the request of a given bid adapter or module owner.

**2. What Pull Requests make it into a release?**

Every PR that's merged into master will be part of a release. Here are the [PR review guidelines](https://github.com/prebid/Prebid.js/blob/master/PR_REVIEW.md).
* Every PR that's merged into master will be part of a release. Here are the [PR review guidelines](https://github.com/prebid/Prebid.js/blob/master/PR_REVIEW.md).
25 changes: 22 additions & 3 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const execa = require('execa');

var prebid = require('./package.json');
var dateString = 'Updated : ' + (new Date()).toISOString().substring(0, 10);
var banner = '/* <%= prebid.name %> v<%= prebid.version %>\n' + dateString + ' */\n';
var banner = '/* <%= prebid.name %> v<%= prebid.version %>\n' + dateString + '\nModules: <%= modules %> */\n';
var port = 9999;
const FAKE_SERVER_HOST = argv.host ? argv.host : 'localhost';
const FAKE_SERVER_PORT = 4444;
Expand Down Expand Up @@ -86,14 +86,28 @@ function viewCoverage(done) {
connect.server({
port: coveragePort,
root: 'build/coverage/lcov-report',
livereload: false
livereload: false,
debug: true
});
opens('http://' + mylocalhost + ':' + coveragePort);
done();
};

viewCoverage.displayName = 'view-coverage';

// View the reviewer tools page
function viewReview(done) {
var mylocalhost = (argv.host) ? argv.host : 'localhost';
var reviewUrl = 'http://' + mylocalhost + ':' + port + '/integrationExamples/reviewerTools/index.html'; // reuse the main port from 9999

// console.log(`stdout: opening` + reviewUrl);

opens(reviewUrl);
done();
};

viewReview.displayName = 'view-review';

// Watch Task with Live Reload
function watch(done) {
var mainWatcher = gulp.watch([
Expand Down Expand Up @@ -143,12 +157,13 @@ function makeWebpackPkg() {

const analyticsSources = helpers.getAnalyticsSources();
const moduleSources = helpers.getModulePaths(externalModules);
const modulesString = (externalModules.length > 0) ? externalModules.join(', ') : 'All available modules in current version.';

return gulp.src([].concat(moduleSources, analyticsSources, 'src/prebid.js'))
.pipe(helpers.nameModules(externalModules))
.pipe(webpackStream(cloned, webpack))
.pipe(uglify())
.pipe(gulpif(file => file.basename === 'prebid-core.js', header(banner, { prebid: prebid })))
.pipe(gulpif(file => file.basename === 'prebid-core.js', header(banner, { prebid: prebid, modules: modulesString })))
.pipe(gulp.dest('build/dist'));
}

Expand Down Expand Up @@ -383,4 +398,8 @@ gulp.task('e2e-test', gulp.series(clean, setupE2e, gulp.parallel('build-bundle-p
gulp.task(bundleToStdout);
gulp.task('bundle', gulpBundle.bind(null, false)); // used for just concatenating pre-built files with no build step

// build task for reviewers, runs test-coverage, serves, without watching
gulp.task(viewReview);
gulp.task('review-start', gulp.series(clean, lint, gulp.parallel('build-bundle-dev', watch, testCoverage), viewReview));

module.exports = nodeBundle;
Loading