update headers to use SharedArrayBuffer in modern browsers #291
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 dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgbm-dev libasound2t64 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 libgbm1 | |
- name: Run tests | |
run: npm test |