Skip to content

Fix binary downloading #194

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 27 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 38 additions & 12 deletions .github/workflows/builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,28 @@ on:
pull_request:
branches: [master]

env:
CC: clang
CXX: clang++
MASON_LLVM_RELEASE: system
PYTHON_VERSION: 3.11
NODE_VERSION: 16

jobs:
test:
runs-on: ${{ matrix.os.host }}
strategy:
matrix:
node: [14, 16, 18]
node: [16, 18]
build_type: ["debug", "release"]
os:
- name: darwin
architecture: x86-64
host: macos-10.15
host: macos-13

- name: linux
architecture: x86-64
host: ubuntu-20.04
host: ubuntu-22.04

name: ${{ matrix.os.name }}-${{ matrix.os.architecture }}-node${{ matrix.node }}-${{ matrix.build_type }} test
steps:
Expand All @@ -29,16 +36,25 @@ jobs:
with:
node-version: ${{ matrix.node }}

- uses: actions/setup-python@v4
if: matrix.os.name == 'darwin'
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Gyp
if: matrix.os.name == 'darwin'
run: npm install node-gyp@latest

- name: Test
run: |
npm ci
npm install node-gyp@latest
./scripts/setup.sh --config local.env
source local.env
make ${{ matrix.build_type }}
npm test

asan-build-test:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
name: ASAN toolset test
env:
BUILDTYPE: debug
Expand All @@ -47,7 +63,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "14"
node-version: ${{ env.NODE_VERSION }}

- name: Test
run: |
Expand All @@ -63,7 +79,7 @@ jobs:
unset LD_PRELOAD

g-build-test:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
name: G++ build test
env:
BUILDTYPE: debug
Expand All @@ -74,7 +90,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "14"
node-version: ${{ env.NODE_VERSION }}

- name: Test
run: |
Expand All @@ -92,20 +108,29 @@ jobs:
os:
- name: darwin
architecture: x86-64
host: macos-10.15
host: macos-13

- name: linux
architecture: x86-64
host: ubuntu-20.04
host: ubuntu-22.04

steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "16"
node-version: ${{ env.NODE_VERSION }}

- uses: actions/setup-python@v4
if: matrix.os.name == 'darwin'
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Gyp
if: matrix.os.name == 'darwin'
run: npm install node-gyp@latest

- name: Build
run: |
npm ci
./scripts/setup.sh --config local.env
source local.env
make release
Expand All @@ -114,8 +139,9 @@ jobs:
run: npm run prebuildify -- --platform=${{ matrix.os.name }} --arch=x64

# Upload the end-user binary artifact
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: prebuilds
name: prebuilds-${{ matrix.os.name }}-${{ matrix.os.architecture }}
path: prebuilds
overwrite: true
retention-days: 14
42 changes: 24 additions & 18 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
# 0.7.2
# CHANGELOG

## 0.7.3

- Moves `prebuildify` to dev dependencies. [#193](https://github.com/mapbox/node-fontnik/pull/193)

## 0.7.2

- Removes `node-pre-gyp` in favor of `prebuildify` to package binaries. [#184](https://github.com/mapbox/node-fontnik/pull/184)

# 0.7.1
## 0.7.1

- Fixes issue with `point-in-polygon` algorithm being used in `sdf-glyph-foundary`

# 0.7.0
## 0.7.0

- Adds node v16 support
- Updates vulnerable dependencies

# 0.6.0
## 0.6.0

- Adds node v12 and v14 support
- Dropped node v4 and v6 support
Expand All @@ -20,17 +26,17 @@
- Requires c++14 compatible compiler
- Binaries are published using clang++ 10.0.0

# 0.5.2
## 0.5.2

- Adds .npmignore to keep downstream node_modules small.

# 0.5.1
## 0.5.1

- Stopped bundling node-pre-gyp
- Added support for node v8 and v10
- Various performance optimizations and safety checks

# 0.5.0
## 0.5.0

- Fixed crash on font with null family name
- Optimized the code to reduce memory allocations
Expand All @@ -43,50 +49,50 @@
- Upgraded from protobuf 2.6.1 -> 3.2.0
- Moved coverage reporting to codecov.io

# 0.4.8
## 0.4.8

- Bundles `mkdirp` to avoid an npm@2 bug when using `bundledDependencies` with `devDependencies`.

# 0.4.7
## 0.4.7

- Upgrades to a modern version of Mason.

# 0.4.6
## 0.4.6

- Adds prepublish `npm ls` script to prevent publishing without `bundledDependencies`.

# 0.4.5
## 0.4.5

- Fixes Osaka range segfault.

# 0.4.4
## 0.4.4

- Fix initialization of `queue-async` in `bin/build-glyphs`.

# 0.4.3
## 0.4.3

- Handle `ft_face->style_name` null value in `RangeAsync`.

# 0.4.2
## 0.4.2

- Handle `ft_face->style_name` null value in `LoadAsync`.

# 0.4.1
## 0.4.1

- Publish Node.js v5.x binaries.
- Autopublish binaries on git tags.

# 0.4.0
## 0.4.0

- Fixes bounds for short ranges.
- Fixes Travis binary publishing.
- Adds Node.js v4.x support.

# 0.2.6
## 0.2.6

- Truncate at Unicode point 65535 (0xFFFF) instead of 65533.

# 0.2.3
## 0.2.3

- Calling .codepoints() on an invalid font will throw a JavaScript
error rather than running into an abort trap.
Loading