Skip to content

Commit 9ae3bdc

Browse files
authored
Merge branch 'prebid:master' into master
2 parents 48c2b69 + 753309b commit 9ae3bdc

2,513 files changed

Lines changed: 164630 additions & 99447 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.circleci/config.yml

Lines changed: 0 additions & 75 deletions
This file was deleted.

.devcontainer/devcontainer.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
"build": {
77
"dockerfile": "Dockerfile",
8-
"args": { "VARIANT": "12" }
8+
"args": {
9+
"VARIANT": "18"
10+
}
911
},
1012

1113
"postCreateCommand": "bash .devcontainer/postCreate.sh",

.devcontainer/postCreate.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
echo "Post Create Starting"
22

3+
export NVM_DIR="/usr/local/share/nvm"
4+
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
5+
36
nvm install
47
nvm use
58
npm install gulp-cli -g
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Install deb
2+
description: Download and install a .deb package
3+
inputs:
4+
url:
5+
description: URL to the .deb file
6+
required: true
7+
name:
8+
description: A local name for the package. Required if using this action multiple times in the same context.
9+
default: package.deb
10+
required: false
11+
12+
runs:
13+
using: 'composite'
14+
steps:
15+
- name: Restore deb
16+
id: deb-restore
17+
uses: actions/cache/restore@v4
18+
with:
19+
path: "${{ runner.temp }}/${{ inputs.name }}"
20+
key: ${{ inputs.url }}
21+
- name: Download deb
22+
if: ${{ steps.deb-restore.outputs.cache-hit != 'true' }}
23+
shell: bash
24+
run: |
25+
wget --no-verbose "${{ inputs.url }}" -O "${{ runner.temp }}/${{ inputs.name }}"
26+
- name: Cache deb
27+
if: ${{ steps.deb-restore.outputs.cache-hit != 'true' }}
28+
uses: actions/cache/save@v4
29+
with:
30+
path: "${{ runner.temp }}/${{ inputs.name }}"
31+
key: ${{ inputs.url }}
32+
- name: Install deb
33+
shell: bash
34+
run: |
35+
sudo apt-get install -y --allow-downgrades "${{ runner.temp }}/${{ inputs.name }}"

.github/actions/load/action.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Load working directory
2+
description: Load working directory saved with "actions/save"
3+
inputs:
4+
name:
5+
description: The name used with actions/save
6+
7+
runs:
8+
using: 'composite'
9+
steps:
10+
- name: Set up Node.js
11+
uses: actions/setup-node@v6
12+
with:
13+
node-version: '20'
14+
- uses: actions/github-script@v8
15+
id: platform
16+
with:
17+
result-encoding: string
18+
script: |
19+
const os = require('os');
20+
return os.platform();
21+
- name: 'Clear working directory'
22+
shell: bash
23+
run: |
24+
rm -r "$(pwd)"/*
25+
26+
- name: Download artifact
27+
uses: actions/download-artifact@v5
28+
with:
29+
path: '${{ runner.temp }}'
30+
name: '${{ inputs.name }}'
31+
32+
- name: 'Untar working directory'
33+
shell: bash
34+
run: |
35+
wdir="$(pwd)"
36+
parent="$(dirname "$wdir")"
37+
target="$(basename "$wdir")"
38+
tar ${{ steps.platform.outputs.result == 'win32' && '--force-local' || '' }} -C "$parent" -xf '${{ runner.temp }}/${{ inputs.name }}.tar' "$target"

.github/actions/npm-ci/action.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: NPM install
2+
description: Run npm install and cache dependencies
3+
4+
runs:
5+
using: 'composite'
6+
steps:
7+
- name: Restore dependencies
8+
id: restore-modules
9+
uses: actions/cache/restore@v4
10+
with:
11+
path: "node_modules"
12+
key: node_modules-${{ hashFiles('package-lock.json') }}
13+
- name: Run npm ci
14+
if: ${{ steps.restore-modules.outputs.cache-hit != 'true' }}
15+
shell: bash
16+
run: |
17+
npm ci
18+
- name: Cache dependencies
19+
if: ${{ steps.restore-modules.outputs.cache-hit != 'true' }}
20+
uses: actions/cache/save@v4
21+
with:
22+
path: "node_modules"
23+
key: node_modules-${{ hashFiles('package-lock.json') }}

.github/actions/save/action.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Save working directory
2+
description: Save working directory, preserving permissions
3+
inputs:
4+
prefix:
5+
description: Prefix to use for autogenerated names
6+
required: false
7+
name:
8+
description: a name to reference with actions/load
9+
required: false
10+
outputs:
11+
name:
12+
description: a name to reference with actions/load
13+
value: ${{ fromJSON(steps.platform.outputs.result).name }}
14+
15+
runs:
16+
using: 'composite'
17+
steps:
18+
- uses: actions/github-script@v8
19+
id: platform
20+
with:
21+
script: |
22+
const os = require('os');
23+
const crypto = require("crypto");
24+
const id = crypto.randomBytes(16).toString("hex");
25+
return {
26+
name: ${{ inputs.name && format('"{0}"', inputs.name) || format('"{0}" + id', inputs.prefix || '') }},
27+
platform: os.platform(),
28+
}
29+
- name: Tar working directory
30+
shell: bash
31+
run: |
32+
wdir="$(pwd)"
33+
parent="$(dirname "$wdir")"
34+
target="$(basename "$wdir")"
35+
tar ${{ fromJSON(steps.platform.outputs.result).platform == 'win32' && '--force-local' || '' }} -C "$parent" -cf "${{ runner.temp }}/${{ fromJSON(steps.platform.outputs.result).name }}.tar" "$target"
36+
- name: Upload artifact
37+
uses: actions/upload-artifact@v4
38+
with:
39+
path: '${{ runner.temp }}/${{ fromJSON(steps.platform.outputs.result).name }}.tar'
40+
name: ${{ fromJSON(steps.platform.outputs.result).name }}
41+
overwrite: true
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Wait for browserstack sessions
2+
description: Wait until enough browserstack sessions have become available
3+
inputs:
4+
sessions:
5+
description: Number of sessions needed to continue
6+
default: "6"
7+
runs:
8+
using: 'composite'
9+
steps:
10+
- shell: bash
11+
run: |
12+
while
13+
status=$(curl -u "${BROWSERSTACK_USERNAME}:${BROWSERSTACK_ACCESS_KEY}" \
14+
-X GET "https://api-cloud.browserstack.com/automate/plan.json" 2> /dev/null);
15+
running=$(jq '.parallel_sessions_running' <<< $status)
16+
max_running=$(jq '.parallel_sessions_max_allowed' <<< $status)
17+
queued=$(jq '.queued_sessions' <<< $status)
18+
max_queued=$(jq '.queued_sessions_max_allowed' <<< $status)
19+
spare=$(( ${max_running} + ${max_queued} - ${running} - ${queued} ))
20+
required=${{ inputs.sessions }}
21+
echo "Browserstack status: ${running} sessions running, ${queued} queued, ${spare} free"
22+
(( ${required} > ${spare} ))
23+
do
24+
delay=$(( 60 + $(shuf -i 1-60 -n 1) ))
25+
echo "Waiting for ${required} sessions to free up, checking again in ${delay}s"
26+
sleep $delay
27+
done
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// this file is autogenerated, see fingerprintApis.mjs
2+
3+
class DOMMethod extends string {
4+
5+
float weight;
6+
string type;
7+
8+
DOMMethod() {
9+
10+
( this = "toDataURL" and weight = 23.69 and type = "HTMLCanvasElement" )
11+
or
12+
( this = "getChannelData" and weight = 731.69 and type = "AudioBuffer" )
13+
}
14+
15+
float getWeight() {
16+
result = weight
17+
}
18+
19+
string getType() {
20+
result = type
21+
}
22+
23+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// this file is autogenerated, see fingerprintApis.mjs
2+
3+
class EventProperty extends string {
4+
5+
float weight;
6+
string event;
7+
8+
EventProperty() {
9+
10+
( this = "candidate" and weight = 68.42 and event = "icecandidate" )
11+
or
12+
( this = "acceleration" and weight = 67.02 and event = "devicemotion" )
13+
or
14+
( this = "rotationRate" and weight = 66.54 and event = "devicemotion" )
15+
or
16+
( this = "accelerationIncludingGravity" and weight = 184.27 and event = "devicemotion" )
17+
or
18+
( this = "alpha" and weight = 355.23 and event = "deviceorientation" )
19+
or
20+
( this = "beta" and weight = 768.94 and event = "deviceorientation" )
21+
or
22+
( this = "gamma" and weight = 350.62 and event = "deviceorientation" )
23+
or
24+
( this = "absolute" and weight = 235.6 and event = "deviceorientation" )
25+
}
26+
27+
float getWeight() {
28+
result = weight
29+
}
30+
31+
string getEvent() {
32+
result = event
33+
}
34+
35+
}

0 commit comments

Comments
 (0)