diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index e470157..127dd2b 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -3,91 +3,91 @@ name: CI on: push: branches: - - main + - main pull_request: - branches: - - main + 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@v2 - with: - name: ffmpeg-core - path: packages/core/dist/* + - 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@v2 - with: - name: ffmpeg-core-mt - path: packages/core-mt/dist/* + - 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@v2 - with: - name: ffmpeg-core - path: packages/core/dist - - name: Download ffmpeg-core-mt - uses: actions/download-artifact@v2 - 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: Run tests - run: npm test \ No newline at end of file + - 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: Run tests + run: npm test