74 Commits

Author SHA1 Message Date
Lovell Fuller
9e4e184132 Add experimental support for prebuilt linux-riscv64 binaries 2025-10-19 11:56:45 +01:00
Lovell Fuller
1bbee519aa Separate build script from install script #4458
The --build-from-source flag is now deprecated and will soon
be removed along with the need to define an install script.

This will remove a whole category of package manager
warnings about install scripts and "built" dependencies.

Most people don't need to build sharp from source, but for
those that do, a suitable method is now something like:

$ npm install package-that-depends-on-sharp
$ npm explore sharp -- npm run build
2025-10-07 16:11:54 +01:00
Lovell Fuller
2324d75f7f CI: Upgrade to macOS 15 (Sequoia) 2025-10-05 11:28:58 +01:00
Lovell Fuller
adb6275ae9 Remove licensing checker/linter
This tool appears to no longer be maintained, but more
importantly there are far fewer production dependencies now
than when first introduced, and all are known/trusted.
2025-09-21 12:11:02 +01:00
Lovell Fuller
f2978651f0 Migrate from mocha to Node.js native test runner
Includes coverage reports when using Node.js 22 onwards
2025-09-21 12:03:27 +01:00
Lovell Fuller
b36237ddcb Switch linter from semistandard to biome
Uses the recommended rules apart from complexity/useArrowFunction,
which would affect about 1700 lines of code with little benefit
right now. This is something that can be addressed over time.
2025-09-18 21:18:31 +01:00
Lovell Fuller
a0af662d78 CI: Separate platform-independent linter tasks
Run these before platform-specific build/testing tasks
2025-09-18 13:21:03 +01:00
Lovell Fuller
b507831a11 CI: Remove dry-run flag
This was temporary whilst setting up auto-publish
2025-09-15 11:18:00 +01:00
Lovell Fuller
93b814f849 Upgrade to libvips v8.17.2 2025-09-14 12:23:16 +01:00
Lovell Fuller
c1e33de33c CI: Automate npm publish-with-provenance
Temporarily flagged with dry-run for now
2025-09-01 12:37:16 +01:00
Lovell Fuller
dda00f63e6 CI: Remove frontmatter from release notes 2025-07-28 11:34:31 +01:00
Lovell Fuller
fefda85d2d CI: Upgrade to Debian 12 for ppc64 and s390x
Debian 11 has reached EOL on these platforms
2025-07-24 17:29:38 +01:00
Lovell Fuller
e045235545 Upgrade to sharp-libvips v1.2.1 2025-07-24 16:51:28 +01:00
Lovell Fuller
67462bee79 CI: Simplify volume mappings for linuxmusl-arm64 runners 2025-07-19 14:45:07 +01:00
Lovell Fuller
ecfc77c185 Docs: split changelog into per-release files
Use these as the body for (future) GitHub releases
2025-07-15 17:21:09 +01:00
Lovell Fuller
cab02463ec Remove prebuild dependency
Every CI build task tagged with 'package' now populates and
publishes the relevant npm/platform directory as an artefact.
These are aggregated by a fan-in release task at the end to
create a complete npm workspace zipfile. If the commit is
tagged, a release is created and the npm workspace attached.
2025-06-14 17:49:17 +01:00
Lovell Fuller
5374b036f3 CI: Switch ARM64 from CircleCI to GitHub Actions 2025-06-13 14:08:19 +01:00
Lovell Fuller
01f6cbbaee Upgrade to sharp-libvips v1.2.0-rc.2 2025-06-12 14:59:13 +01:00
Lovell Fuller
99be893dd4 Upgrade to libvips v8.17.0
CI: Use more recent, non-deprecated Windows runners

Bump devDeps
2025-06-12 11:27:26 +01:00
Hans
e922ef7450 Add support for prebuilt Windows ARM64 binaries #4375 2025-05-10 14:29:25 +01:00
Lovell Fuller
dbb7606129 Prerelease v0.34.0-rc.1 2025-04-03 15:29:32 +01:00
Lovell Fuller
fda06a62b0 CI: Upgrade emscripten SDK version to match upstream 2025-03-13 08:21:37 +00:00
Kleis Auke Wolthuizen
9b88547f12
CI: Upgrade uraimo/run-on-arch-action to v3 (#4340)
Upgrade `uraimo/run-on-arch-action` to v3, which includes QEMU 9.2.2
from `tonistiigi/binfmt:latest` that fixes the current CI failure on
ppc64le - see:
https://github.com/uraimo/run-on-arch-action/issues/160
https://github.com/tonistiigi/binfmt/issues/215#issuecomment-2689340770
and https://gitlab.com/qemu-project/qemu/-/issues/1913.
2025-02-28 17:16:39 +00:00
Lovell Fuller
8e3ec0fc61 CI: Ensure emulated archs use latest qemu-user-static package 2025-02-23 10:06:42 +00:00
Lovell Fuller
6480a94181 Upgrade to libvips v8.16.0-rc2
CI: Add Node.js 22
Bump devDeps
Pin node-addon-api to prevent C++17 for now
2024-10-28 10:29:22 +00:00
Lovell Fuller
a53d7cb6bf Upgrade to libvips v8.15.5-rc1 2024-10-09 14:43:14 +01:00
sumitd2
c26b77683a
Improve support for ppc64le architecture (#4203)
Includes CI and arch-specific npm package
2024-09-06 12:45:47 +01:00
Lovell Fuller
de42667767 Upgrade to libvips v8.15.3 2024-08-12 13:19:10 +01:00
Lovell Fuller
c2a024101b CI: Upgrade Python to at least 3.8
- Latest node-gyp requires 3.8
- Python 3.7 is EOL
- Minimum glibc requirement for linux-arm will now be 2.31
  (Pi OS 'Legacy' provides Debian 11 with glibc 2.31)
2024-07-17 09:12:50 +01:00
Lovell Fuller
cc96c21e42 CI: Upgrade to macOS 12 (as 11 will be removed soon) 2024-05-21 11:40:11 +01:00
Lovell Fuller
36e60bf040 CI: Upgrade linux-s390x to Debian 11
Debian LTS does not include s390x and Debian 10 is EOL so this
platform will now require a minimum version of glibc 2.31.
2024-04-19 13:13:48 +01:00
Lovell Fuller
dc07fd4e9c Upgrade to libvips v8.15.2 2024-03-18 15:55:01 +00:00
Lovell Fuller
60f4048d6c CI: Upgrade to Python 3.12 2024-02-11 20:45:16 +00:00
Lovell Fuller
af6aa8a690 CI: Add macOS 14 (ARM64)
Replaces runner previously and very kindly donated by MacStadium
2024-02-01 13:21:43 +00:00
Lovell Fuller
3bc31a8b20 CI: Verify emscripten versions match 2024-01-11 16:23:12 +00:00
Kleis Auke Wolthuizen
c28523e70e
CI: Update Emscripten Docker image to 3.1.51 (#3907) 2024-01-11 16:21:53 +00:00
Lovell Fuller
0b18aeff62 CI: Remove use of nodesource repos 2024-01-03 11:40:42 +00:00
Lovell Fuller
420e0822b4 CI: Pin Node.js 18 to avoid npm 10 on 32-bit Windows
npm 10 seems to be opening thousands of network connections,
leading to resource starvation in Node.js 18. This does not
appear to impact Node.js 20.
2023-12-17 16:53:12 +00:00
Lovell Fuller
68ef72cb61 CI: allow failure when attempting to rm native binary 2023-11-22 12:00:10 +00:00
Lovell Fuller
9680f00ddd CI: Ensure Wasm packaging test uses Wasm package 2023-11-15 19:28:18 +00:00
Lovell Fuller
a8f68ba7f0
Add infrastructure to build and publish as wasm32 (#3840)
Co-authored-by: Ingvar Stepanyan <me@rreverser.com>
2023-11-09 14:46:07 +00:00
Lovell Fuller
0f24f0f214 Add infrastructure (CI, npm) for sharp-linux-s390x package 2023-11-02 14:41:59 +00:00
Lovell Fuller
f8b6cb6d5b Update package names to use 'img' npm organisation 2023-10-12 17:03:37 +01:00
Lovell Fuller
4dc2467f49 CI: simplify prebuild file copying 2023-10-08 23:07:02 +01:00
Lovell Fuller
f54ceb0973 CI: create prebuilds in src directory 2023-10-08 21:49:58 +01:00
Lovell Fuller
f31011d759 CI: increase linux-arm timeout 2023-10-04 15:47:35 +01:00
Lovell Fuller
aabbe1fa08 Distribute prebuilt binaries via the npm registry #3750
- Remove all custom download logic for prebuilt binaries
- Add scripts to populate package contents
- Specify minimum versions of common package managers
- Remove sharp.vendor runtime API as no-longer relevant
- Update installation docs and issue templates
2023-09-26 20:26:39 +01:00
Lovell Fuller
0f8bb9196e CI: merge all jobs that use GitHub runners 2023-09-24 16:08:56 +01:00
Lovell Fuller
efee9f1779 CI: Add linux-arm (v6, 32-bit) 2023-09-24 15:49:46 +01:00
Lovell Fuller
e618c17bd0 Upgrade to Node-API version 9 2023-09-23 10:53:53 +01:00