Remove mention of returning data URLs from sync API #594
Workflow file for this run
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: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
suite: [node] | |
# See supported Node.js release schedule at https://nodejs.org/en/about/previous-releases | |
node-version: [18.x, 20.x, 22.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "npm" | |
- run: npm ci | |
- run: npm run test | |
- run: npm run check | |
- run: npm run lint | |
# Build a production tarball and use it to run the integration | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# See supported Node.js release schedule at https://nodejs.org/en/about/previous-releases | |
node-version: [20.x] | |
outputs: | |
tarball-name: ${{ steps.pack.outputs.tarball-name }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "npm" | |
- name: Build tarball | |
id: pack | |
run: | | |
echo "tarball-name=$(npm --loglevel error pack)" >> $GITHUB_OUTPUT | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: package-tarball | |
path: ${{ steps.pack.outputs.tarball-name }} | |
integration-node: | |
needs: [test, build] | |
runs-on: ubuntu-latest | |
env: | |
REPLICATE_API_TOKEN: ${{ secrets.REPLICATE_API_TOKEN }} | |
strategy: | |
matrix: | |
suite: [commonjs, esm, typescript] | |
# See supported Node.js release schedule at https://nodejs.org/en/about/previous-releases | |
node-version: [18.x, 20.x] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/[email protected] | |
with: | |
name: package-tarball | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "npm" | |
- run: | | |
npm --prefix integration/${{ matrix.suite }} install | |
npm --prefix integration/${{ matrix.suite }} install "./${{ needs.build.outputs.tarball-name }}" | |
npm --prefix integration/${{ matrix.suite }} test | |
integration-browser: | |
needs: [test, build] | |
runs-on: ubuntu-latest | |
env: | |
REPLICATE_API_TOKEN: ${{ secrets.REPLICATE_API_TOKEN }} | |
strategy: | |
matrix: | |
suite: ["browser"] | |
browser: ["chromium", "firefox", "webkit"] | |
node-version: [20.x] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/[email protected] | |
with: | |
name: package-tarball | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "npm" | |
- run: | | |
cd integration/${{ matrix.suite }} | |
npm install | |
npm install "../../${{ needs.build.outputs.tarball-name }}" | |
npm exec -- playwright install ${{ matrix.browser }} | |
npm exec -- playwright install-deps ${{ matrix.browser }} | |
npm exec -- playwright test --browser ${{ matrix.browser }} | |
integration-edge: | |
needs: [test, build] | |
runs-on: ubuntu-latest | |
env: | |
REPLICATE_API_TOKEN: ${{ secrets.REPLICATE_API_TOKEN }} | |
strategy: | |
matrix: | |
suite: [cloudflare-worker] | |
node-version: [20.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/[email protected] | |
with: | |
name: package-tarball | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "npm" | |
- run: | | |
test "${{ matrix.suite }}" = "cloudflare-worker" && echo "REPLICATE_API_TOKEN=${{ secrets.REPLICATE_API_TOKEN }}" > integration/${{ matrix.suite }}/.dev.vars | |
npm --prefix integration/${{ matrix.suite }} install | |
npm --prefix integration/${{ matrix.suite }} install "./${{ needs.build.outputs.tarball-name }}" | |
npm --prefix integration/${{ matrix.suite }} test | |
integration-bun: | |
needs: [test, build] | |
runs-on: ubuntu-latest | |
env: | |
REPLICATE_API_TOKEN: ${{ secrets.REPLICATE_API_TOKEN }} | |
strategy: | |
matrix: | |
suite: [bun] | |
bun-version: [1.0.11] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/[email protected] | |
with: | |
name: package-tarball | |
- name: Use Bun ${{ matrix.bun-version }} | |
uses: oven-sh/setup-bun@v1 | |
with: | |
bun-version: ${{ matrix.bun-version }} | |
- run: | | |
cd integration/${{ matrix.suite }} | |
bun uninstall replicate | |
bun install "file:../../${{ needs.build.outputs.tarball-name }}" | |
retries=3 | |
for ((i=0; i<retries; i++)); do | |
bun test && break || echo "Test failed, retrying..." | |
done | |
integration-deno: | |
needs: [test, build] | |
runs-on: ubuntu-latest | |
env: | |
REPLICATE_API_TOKEN: ${{ secrets.REPLICATE_API_TOKEN }} | |
strategy: | |
matrix: | |
suite: [deno] | |
deno-version: [v1.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/[email protected] | |
with: | |
name: package-tarball | |
- name: Use Deno ${{ matrix.deno-version }} | |
uses: denoland/setup-deno@v1 | |
with: | |
deno-version: ${{ matrix.deno-version }} | |
- run: | | |
cd integration/deno | |
deno cache --node-modules-dir index.ts | |
tar -xzf ../../${{ needs.build.outputs.tarball-name }} --strip-components=1 -C node_modules/replicate | |
deno test --allow-env --allow-net --node-modules-dir index.test.ts | |
integration-nextjs: | |
needs: [test, build] | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
suite: [nextjs] | |
node-version: [20.x] | |
env: | |
REPLICATE_API_TOKEN: ${{ secrets.REPLICATE_API_TOKEN }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/[email protected] | |
with: | |
name: package-tarball | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "npm" | |
- run: | | |
npm --prefix integration/next install | |
npm --prefix integration/next install "./${{ needs.build.outputs.tarball-name }}" | |
npm --prefix integration/next run build |