diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..eca0c66d --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,77 @@ +version: 2.1 + +workflows: + build: + jobs: + - linux-arm64-glibc-node-12: + filters: + tags: + only: /^v.*/ + - linux-arm64-musl-node-12: + filters: + tags: + only: /^v.*/ + - linux-arm64-glibc-node-16: + filters: + tags: + only: /^v.*/ + - linux-arm64-musl-node-16: + filters: + tags: + only: /^v.*/ + +jobs: + linux-arm64-glibc-node-12: + resource_class: arm.medium + machine: + image: ubuntu-2004:202101-01 + steps: + - checkout + - run: | + sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp arm64v8/debian:bullseye + sudo docker exec sharp sh -c "apt-get update && apt-get install -y build-essential git python3 curl" + sudo docker exec sharp sh -c "curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -" + sudo docker exec sharp sh -c "echo 'deb https://deb.nodesource.com/node_12.x sid main' >/etc/apt/sources.list.d/nodesource.list" + sudo docker exec sharp sh -c "apt-get update && apt-get install -y nodejs" + - run: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm" + - run: sudo docker exec sharp sh -c "npm test" + - run: "[[ -n $CIRCLE_TAG ]] && sudo docker exec --env prebuild_upload sharp sh -c \"npx prebuild --runtime napi --target 5\" || true" + linux-arm64-glibc-node-16: + resource_class: arm.medium + machine: + image: ubuntu-2004:202101-01 + steps: + - checkout + - run: | + sudo chown 0.0 ${PWD} + sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp arm64v8/debian:bullseye + sudo docker exec sharp sh -c "apt-get update && apt-get install -y build-essential git python3 curl" + sudo docker exec sharp sh -c "curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -" + sudo docker exec sharp sh -c "echo 'deb https://deb.nodesource.com/node_16.x sid main' >/etc/apt/sources.list.d/nodesource.list" + sudo docker exec sharp sh -c "apt-get update && apt-get install -y nodejs" + - run: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm" + - run: sudo docker exec sharp sh -c "npm test" + linux-arm64-musl-node-12: + resource_class: arm.medium + machine: + image: ubuntu-2004:202101-01 + steps: + - checkout + - run: | + sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp node:12-alpine3.11 + sudo docker exec sharp sh -c "apk add build-base git python3 --update-cache" + - run: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm" + - run: sudo docker exec sharp sh -c "npm test" + - run: "[[ -n $CIRCLE_TAG ]] && sudo docker exec --env prebuild_upload sharp sh -c \"npx prebuild --runtime napi --target 5\" || true" + linux-arm64-musl-node-16: + resource_class: arm.medium + machine: + image: ubuntu-2004:202101-01 + steps: + - checkout + - run: | + sudo chown 0.0 ${PWD} + sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp node:16-alpine3.11 + sudo docker exec sharp sh -c "apk add build-base git python3 --update-cache" + - run: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm" + - run: sudo docker exec sharp sh -c "npm test" diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 10976582..00000000 --- a/.travis.yml +++ /dev/null @@ -1,83 +0,0 @@ -jobs: - include: - - name: "Linux ARM64v8 (Debian 11, glibc 2.29) - Node.js 12" - arch: arm64 - os: linux - dist: bionic - language: shell - before_install: - - sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp arm64v8/debian:bullseye - - sudo docker exec sharp sh -c "apt-get update && apt-get install -y build-essential git python3 curl" - - sudo docker exec sharp sh -c "curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -" - - sudo docker exec sharp sh -c "echo 'deb https://deb.nodesource.com/node_12.x sid main' >/etc/apt/sources.list.d/nodesource.list" - - sudo docker exec sharp sh -c "apt-get update && apt-get install -y nodejs" - install: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm" - script: sudo docker exec sharp sh -c "npm test" - after_success: "[[ -n $TRAVIS_TAG ]] && sudo docker exec --env prebuild_upload sharp sh -c \"npx prebuild --runtime napi --target 5\"" - - - name: "Linux ARM64v8 (Debian 11, glibc 2.29) - Node.js 14" - arch: arm64 - os: linux - dist: bionic - language: shell - before_install: - - sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp arm64v8/debian:bullseye - - sudo docker exec sharp sh -c "apt-get update && apt-get install -y build-essential git python3 curl" - - sudo docker exec sharp sh -c "curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -" - - sudo docker exec sharp sh -c "echo 'deb https://deb.nodesource.com/node_14.x sid main' >/etc/apt/sources.list.d/nodesource.list" - - sudo docker exec sharp sh -c "apt-get update && apt-get install -y nodejs" - install: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm" - script: sudo docker exec sharp sh -c "npm test" - - - name: "Linux ARM64v8 (Debian 11, glibc 2.29) - Node.js 16" - arch: arm64 - os: linux - dist: bionic - language: shell - before_install: - - sudo chown 0.0 ${PWD} - - sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp arm64v8/debian:bullseye - - sudo docker exec sharp sh -c "apt-get update && apt-get install -y build-essential git python3 curl" - - sudo docker exec sharp sh -c "curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -" - - sudo docker exec sharp sh -c "echo 'deb https://deb.nodesource.com/node_16.x sid main' >/etc/apt/sources.list.d/nodesource.list" - - sudo docker exec sharp sh -c "apt-get update && apt-get install -y nodejs" - install: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm" - script: sudo docker exec sharp sh -c "npm test" - - - name: "Linux ARM64v8 (Alpine 3.11, musl 1.1.24) - Node.js 12" - arch: arm64 - os: linux - dist: focal - language: shell - before_install: - - sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp node:12-alpine3.11 - - sudo docker exec sharp sh -c "apk add build-base git python3 --update-cache" - install: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm" - script: sudo docker exec sharp sh -c "npm test" - after_success: "[[ -n $TRAVIS_TAG ]] && sudo docker exec --env prebuild_upload sharp sh -c \"npx prebuild --runtime napi --target 5\"" - - - name: "Linux ARM64v8 (Alpine 3.11, musl 1.1.24) - Node.js 14" - arch: arm64 - os: linux - dist: focal - language: shell - before_install: - - sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp node:14-alpine3.11 - - sudo docker exec sharp sh -c "apk add build-base git python3 --update-cache" - install: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm" - script: sudo docker exec sharp sh -c "npm test" - - - name: "Linux ARM64v8 (Alpine 3.11, musl 1.1.24) - Node.js 16" - arch: arm64 - os: linux - dist: focal - language: shell - before_install: - - sudo chown 0.0 ${PWD} - - sudo docker run -dit --name sharp --volume "${PWD}:/mnt/sharp" --workdir /mnt/sharp node:16-alpine3.11 - - sudo docker exec sharp sh -c "apk add build-base git python3 --update-cache" - install: sudo docker exec sharp sh -c "npm install --build-from-source --unsafe-perm" - script: sudo docker exec sharp sh -c "npm test" - -cache: - npm: false