patch chrome path #298
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build-core: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Source Code | |
uses: actions/checkout@v2 | |
- name: Update pkg-config database | |
run: sudo ldconfig | |
- name: Setup Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Cache build | |
id: cache-build | |
uses: actions/cache@v2 | |
with: | |
path: build-cache-st | |
key: build-cache-st-v1-${{ hashFiles('Dockerfile', 'Makefile', 'build/*') }} | |
restore-keys: | | |
build-cache-st-v1- | |
- name: Build ffmpeg-core | |
run: make prd EXTRA_ARGS="--cache-from=type=local,src=build-cache-st --cache-to=type=local,dest=build-cache-st,mode=max" | |
- name: Upload core | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ffmpeg-core | |
path: packages/core/dist/* | |
build-core-mt: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Source Code | |
uses: actions/checkout@v2 | |
- name: Setup Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Cache build | |
id: cache-build | |
uses: actions/cache@v2 | |
with: | |
path: build-cache-mt | |
key: build-cache-mt-v1-${{ hashFiles('Dockerfile', 'Makefile', 'build/*') }} | |
restore-keys: | | |
build-cache-v1- | |
- name: Build ffmpet-core-mt | |
run: make prd-mt EXTRA_ARGS="--cache-from=type=local,src=build-cache-mt --cache-to=type=local,dest=build-cache-mt,mode=max" | |
- name: Upload core-mt | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ffmpeg-core-mt | |
path: packages/core-mt/dist/* | |
tests: | |
runs-on: ubuntu-latest | |
needs: | |
- build-core | |
- build-core-mt | |
steps: | |
- name: Checkout Source Code | |
uses: actions/checkout@v2 | |
- name: Download ffmpeg-core | |
uses: actions/download-artifact@v4 | |
with: | |
name: ffmpeg-core | |
path: packages/core/dist | |
- name: Download ffmpeg-core-mt | |
uses: actions/download-artifact@v4 | |
with: | |
name: ffmpeg-core-mt | |
path: packages/core-mt/dist | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 18.x | |
- name: Cache dependencies | |
id: cache-dependencies | |
uses: actions/cache@v2 | |
with: | |
path: node_modules | |
key: node-modules-${{ hashFiles('package-lock.json') }} | |
restore-keys: | | |
node-modules- | |
- name: Install dependencies | |
run: npm install | |
- name: Install Chrome | |
uses: browser-actions/setup-chrome@latest | |
with: | |
chrome-version: stable | |
env: | |
CHROME_FLAGS: "--enable-features=SharedArrayBuffer,CrossOriginIsolation --enable-experimental-web-platform-features --cross-origin-isolated --allow-file-access-from-files --disable-web-security --allow-insecure-localhost --no-sandbox --disable-setuid-sandbox --enable-unsafe-webgpu --disable-gpu-sandbox" | |
- name: Run tests | |
env: | |
CHROME_HEADLESS: 1 | |
CHROME_PATH: chrome | |
HEADERS: '{"Cross-Origin-Opener-Policy": "same-origin", "Cross-Origin-Embedder-Policy": "require-corp", "Cross-Origin-Resource-Policy": "cross-origin", "Origin-Agent-Cluster": "?1"}' | |
run: | | |
# Start test server with proper headers for all tests | |
npm run serve & | |
# Wait for server to start | |
sleep 5 | |
# Run all tests with proper headers | |
npx mocha-headless-chrome \ | |
--args="$CHROME_FLAGS" \ | |
-a no-sandbox \ | |
-f http://localhost:3000/tests/ffmpeg-core-mt.test.html | |
npx mocha-headless-chrome \ | |
--args="$CHROME_FLAGS" \ | |
-a no-sandbox \ | |
-f http://localhost:3000/tests/ffmpeg-core-st.test.html | |
npx mocha-headless-chrome \ | |
--args="$CHROME_FLAGS" \ | |
-a no-sandbox \ | |
-f http://localhost:3000/tests/ffmpeg-mt.test.html | |
npx mocha-headless-chrome \ | |
--args="$CHROME_FLAGS" \ | |
-a no-sandbox \ | |
-f http://localhost:3000/tests/ffmpeg-st.test.html |