Skip to content

Commit 6c856c2

Browse files
committed
build: migrate to napi-rs v3
- bumps all outdated dependencies (pip, npm, cargo). - upgrade to yarn v4.9.2 - switch from eslint to oxlint - add spellcheck as pre-commit hook - removes the bindings/node/npm folder as this is now generated in CI - adds a check to ensure the PR title uses conventional commit standard (enforced and configured via committed tool) - fixes deprecated API about probing system SSL certificates (when openSSL is vendored) - adds commit filters specific to conventional commit messages when generating the CHANGELOG
1 parent e69ce36 commit 6c856c2

35 files changed

+5290
-2721
lines changed

.config/cliff.toml

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -110,25 +110,37 @@ commit_parsers = [
110110
{ field = "github.pr_labels", pattern = "no-changelog", skip = true },
111111
{ field = "github.pr_labels", pattern = "invalid", skip = true },
112112
# The order of parsers matters. Put rules for PR labels first to prioritize PR labels.
113+
# Next we categorize by conventional commit group (`group: msg`).
114+
{ field = "group", pattern = "add", group = "<!-- 1 --> 🚀 Added" },
115+
{ field = "group", pattern = "feat", group = "<!-- 1 --> 🚀 Added" },
116+
{ field = "group", pattern = "fix", group = "<!-- 4 --> 🛠️ Fixed" },
117+
{ field = "group", pattern = "perf", group = "<!-- 4 --> 🛠️ Fixed" },
118+
{ field = "group", pattern = "build", group = "<!-- 6 --> 📦 Dependency updates" },
119+
{ field = "group", pattern = "test", group = "<!-- 7 -->🚦 Tests" },
120+
{ field = "group", pattern = "docs", group = "<!-- 8 --> 📝 Documentation" },
121+
{ field = "group", pattern = "chore", group = "<!-- 9 --> 🗨️ Changed" },
122+
{ field = "group", pattern = "style", group = "<!-- 9 --> 🗨️ Changed" },
123+
{ field = "breaking", pattern = true, group = "<!-- 10 --> 💥 Breaking Changes" },
124+
{ field = "group", pattern = "remove", group = "<!-- 3 --> 🗑️ Removed" },
125+
{ field = "group", pattern = "deprecate", group = "<!-- 2 --> 🚫 Deprecated" },
126+
{ field = "group", pattern = "delete", group = "<!-- 3 --> 🗑️ Removed" },
127+
{ field = "group", pattern = "security", group = "<!-- 5 --> 🔐 Security" },
128+
{ field = "group", pattern = "refactor", group = "<!-- 9 --> 🗨️ Changed" },
129+
# Next we have filters for unconventional commit messages
113130
{ message = "^[a|A]dd", group = "<!-- 1 --> 🚀 Added" },
114-
{ message = "^[s|S]upport", group = "<!-- 1 --> 🚀 Added" },
115-
{ message = "^.*: support", group = "<!-- 1 --> 🚀 Added" },
116-
{ message = "^.*: add", group = "<!-- 1 --> 🚀 Added" },
117-
{ message = "^.*: deprecated", group = "<!-- 2 --> 🚫 Deprecated" },
118-
{ message = "[d|D]eprecate", group = "<!-- 2 --> 🚫 Deprecated" },
119-
{ message = "[t|T]ests", group = "<!-- 7 -->🚦 Tests"},
120-
{ message = "[r|R]emove", group = "<!-- 3 --> 🗑️ Removed" },
121-
{ message = "^.*: remove", group = "<!-- 3 --> 🗑️ Removed" },
122-
{ message = "^.*: delete", group = "<!-- 3 --> 🗑️ Removed" },
131+
{ message = "^.*: [s|S]upport", group = "<!-- 1 --> 🚀 Added" },
132+
{ message = "^.*: [a|A]dd", group = "<!-- 1 --> 🚀 Added" },
133+
{ message = "^.*: [d|D]eprecated", group = "<!-- 2 --> 🚫 Deprecated" },
134+
{ message = "^.*: [r|R]emove", group = "<!-- 3 --> 🗑️ Removed" },
135+
{ message = "^.*: [d|D]elete", group = "<!-- 3 --> 🗑️ Removed" },
123136
{ message = "^[f|F]ix", group = "<!-- 4 --> 🛠️ Fixed" },
124-
{ message = "^.*: fix", group = "<!-- 4 --> 🛠️ Fixed" },
125-
{ message = "^.*: secure", group = "<!-- 5 --> 🔐 Security" },
126-
{ message = "[s|S]ecure", group = "<!-- 5 --> 🔐 Security" },
127-
{ message = "[s|S]ecurity", group = "<!-- 5 --> 🔐 Security" },
128-
{ message = "^.*: security", group = "<!-- 5 --> 🔐 Security" },
129-
{ message = "doc", group = "<!-- 8 --> 📝 Documentation" },
130-
{ message = "docs", group = "<!-- 8 --> 📝 Documentation" },
131-
{ message = "documentation", group = "<!-- 8 --> 📝 Documentation" },
137+
{ message = "^.*: [f|F]ix", group = "<!-- 4 --> 🛠️ Fixed" },
138+
{ message = "^.*: [s|S]ecure", group = "<!-- 5 --> 🔐 Security" },
139+
{ message = "^.*: [s|S]ecurity", group = "<!-- 5 --> 🔐 Security" },
140+
{ message = "[d|D]oc", group = "<!-- 8 --> 📝 Documentation" },
141+
{ message = "[d|D]ocs", group = "<!-- 8 --> 📝 Documentation" },
142+
{ message = "[d|D]ocumentation", group = "<!-- 8 --> 📝 Documentation" },
143+
# anything left after not being caught by filters above gets put in the "Changed" section
132144
{ message = "[r|R]efactor", group = "<!-- 9 --> 🗨️ Changed" },
133145
{ field = "github.pr_labels", pattern = ".*", group = "<!-- 9 --> 🗨️ Changed" },
134146
{ message = "^.*", group = "<!-- 9 --> 🗨️ Changed" },

.config/committed.toml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
style = "conventional"
2+
subject_capitalized = false
3+
allowed_types = [
4+
"fix",
5+
"feat",
6+
"build",
7+
"chore",
8+
"docs",
9+
"style",
10+
"refactor",
11+
"remove",
12+
"deprecate",
13+
"security",
14+
"add",
15+
"perf",
16+
"test",
17+
]
18+
subject_length = 0 # unlimited

.gitattributes

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,3 @@
2727
*.code-workspace text eol=lf
2828
*.clang-tidy text eol=lf
2929
*.clang-format text eol=lf
30-
justfile text eol=lf

.github/workflows/binary-builds.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,63 +39,63 @@ jobs:
3939
include:
4040
- target: aarch64-unknown-linux-gnu
4141
os: ubuntu-latest
42-
vendered: true
42+
vendored: true
4343
cross: true
4444
- target: aarch64-unknown-linux-musl
4545
os: ubuntu-latest
46-
vendered: true
46+
vendored: true
4747
cross: true
4848
- target: x86_64-unknown-linux-gnu
4949
os: ubuntu-latest
50-
vendered: false
50+
vendored: false
5151
cross: false
5252
- target: x86_64-unknown-linux-musl
5353
os: ubuntu-latest
54-
vendered: true
54+
vendored: true
5555
cross: true
5656
- target: arm-unknown-linux-gnueabi
5757
os: ubuntu-latest
58-
vendered: true
58+
vendored: true
5959
cross: true
6060
- target: arm-unknown-linux-gnueabihf
6161
os: ubuntu-latest
62-
vendered: true
62+
vendored: true
6363
cross: true
6464
- target: armv7-unknown-linux-gnueabihf
6565
os: ubuntu-latest
66-
vendered: true
66+
vendored: true
6767
cross: true
6868
- target: powerpc-unknown-linux-gnu
6969
os: ubuntu-latest
70-
vendered: true
70+
vendored: true
7171
cross: true
7272
- target: powerpc64-unknown-linux-gnu
7373
os: ubuntu-latest
74-
vendered: true
74+
vendored: true
7575
cross: true
7676
- target: powerpc64le-unknown-linux-gnu
7777
os: ubuntu-latest
78-
vendered: true
78+
vendored: true
7979
cross: true
8080
- target: s390x-unknown-linux-gnu
8181
os: ubuntu-latest
82-
vendered: true
82+
vendored: true
8383
cross: true
8484
- target: aarch64-apple-darwin
8585
os: macos-latest
86-
vendered: true
86+
vendored: true
8787
cross: false
8888
- target: x86_64-apple-darwin
8989
os: macos-latest
90-
vendered: true
90+
vendored: true
9191
cross: false
9292
- target: x86_64-pc-windows-msvc
9393
os: windows-latest
94-
vendered: false
94+
vendored: false
9595
cross: false
9696
- target: aarch64-pc-windows-msvc
9797
os: windows-latest
98-
vendered: false
98+
vendored: false
9999
cross: false
100100
runs-on: ${{ matrix.os }}
101101
permissions:
@@ -123,7 +123,7 @@ jobs:
123123
--bin cpp-linter
124124
--release
125125
--target ${{ matrix.target }}
126-
${{ matrix.vendered && '--features openssl-vendored' || '' }}
126+
${{ matrix.vendored && '--features openssl-vendored' || '' }}
127127
128128
- name: Prepare artifacts
129129
run: mv target/${{ matrix.target }}/release/cpp-linter${{ runner.os == 'Windows' && '.exe' || '' }} ./cpp-linter-${{ matrix.target }}${{ runner.os == 'Windows' && '.exe' || '' }}

0 commit comments

Comments
 (0)