@swimlane/nodegit 1.1.4 → 1.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,12 @@
1
+ extends:
2
+ - "@commitlint/config-conventional"
3
+ rules:
4
+ header-max-length:
5
+ - 2
6
+ - "always"
7
+ - 200
8
+ body-max-line-length:
9
+ - 1
10
+ - "always"
11
+ - "Infinity"
12
+
@@ -0,0 +1,19 @@
1
+ name: "Lint PR"
2
+
3
+ on:
4
+ pull_request:
5
+ types:
6
+ - opened
7
+ - edited
8
+ - synchronize
9
+
10
+ permissions:
11
+ contents: write
12
+ pull-requests: write
13
+
14
+ jobs:
15
+ main:
16
+ uses: "swimlane/shared-workflows/.github/workflows/lint-pr.yml@v3"
17
+ secrets:
18
+ GH_APP_ID: ${{ secrets.GH_APP_ID }}
19
+ GH_APP_PRIVATE_KEY: ${{ secrets.GH_APP_PRIVATE_KEY }}
@@ -1,9 +1,14 @@
1
+ name: Publish
1
2
  on:
2
3
  push:
3
4
  tags:
4
5
  - v*
5
6
  workflow_dispatch:
6
7
 
8
+ concurrency:
9
+ group: publish-${{ github.ref }}
10
+ cancel-in-progress: true
11
+
7
12
  jobs:
8
13
  build:
9
14
  # TODO: should we run the tests, or can we assume that a v* tag ought to
@@ -11,19 +16,15 @@ jobs:
11
16
  name: build
12
17
  strategy:
13
18
  matrix:
14
- node: [18.17.0]
19
+ node: [22.x]
15
20
  os:
16
21
  # macos-14 is arm64 (m1)
17
22
  - name: darwin
18
23
  host: macos-14
19
24
 
20
- # macos-13 is x86
21
- - name: mac-x64
22
- host: macos-13
23
-
24
25
  # ubuntu-20.04 is x86. Still no arm linux runners yet
25
26
  # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
26
- - name: linux
27
+ - name: linux-amd
27
28
  host: ubuntu-20.04
28
29
  env:
29
30
  CC: clang
@@ -37,7 +38,7 @@ jobs:
37
38
  submodules: true
38
39
  - uses: actions/setup-node@v4
39
40
  with:
40
- node-version: 18.17.0
41
+ node-version: ${{ matrix.node }}
41
42
  check-latest: true
42
43
  - name: Prebuildify
43
44
  run: |
@@ -53,40 +54,57 @@ jobs:
53
54
  path: ./prebuilds
54
55
  retention-days: 14
55
56
 
56
- cross-compile:
57
- name: "cross compile linux/arm"
58
- runs-on: ubuntu-20.04
57
+ build-linux-glibc-arm:
58
+ name: "Build Linux glibc ARM"
59
+ runs-on: large-arm-on-demand
59
60
  steps:
60
61
  - uses: actions/checkout@v4
61
- - uses: docker/setup-qemu-action@v3
62
+ with:
63
+ submodules: true
62
64
  - name: build linux glibc arm
63
65
  run: |
64
66
  docker build --platform=linux/arm64 --tag nodegit-linux-glibc-arm64 -f scripts/Dockerfile.debian .
65
67
  docker create --platform=linux/arm64 --name nodegit-linux-glibc-arm64 nodegit-linux-glibc-arm64
66
68
  docker cp "nodegit-linux-glibc-arm64:/app/prebuilds" .
69
+ - name: "list the generated files"
70
+ run: find prebuilds
71
+ - uses: actions/upload-artifact@v4
72
+ with:
73
+ name: prebuild-linux-arm64
74
+ path: ./prebuilds
75
+ retention-days: 14
76
+
77
+ build-linux-musl-x64:
78
+ name: "Build Linux musl x64"
79
+ runs-on: large-amd-on-demand
80
+ steps:
81
+ - uses: actions/checkout@v4
82
+ with:
83
+ submodules: true
67
84
  - name: build linux musl x64
68
85
  run: |
69
86
  docker build --platform=linux/amd64 --tag nodegit-linux-musl-amd64 -f scripts/Dockerfile.alpine .
70
87
  docker create --platform=linux/amd64 --name nodegit-linux-musl-amd64 nodegit-linux-musl-amd64
71
88
  docker cp "nodegit-linux-musl-amd64:/app/prebuilds" .
72
- # - name: build linux musl arm
73
- # run: |
74
- # docker build --platform=linux/arm64 --tag nodegit-linux-musl-arm64 -f scripts/Dockerfile.alpine .
75
- # docker create --platform=linux/arm64 --name nodegit-linux-musl-arm64 nodegit-linux-musl-arm64
76
- # docker cp "nodegit-linux-musl-arm64:/app/prebuilds" .
77
89
  - name: "list the generated files"
78
90
  run: find prebuilds
79
91
  - uses: actions/upload-artifact@v4
80
92
  with:
81
- name: prebuild-linux-arm64
93
+ name: prebuild-linux-amd64
82
94
  path: ./prebuilds
83
95
  retention-days: 14
84
96
 
97
+
85
98
  # https://docs.npmjs.com/generating-provenance-statements#publishing-packages-with-provenance-via-github-actions
86
- publish:
99
+ publish-npm:
100
+ if: github.event_name != 'workflow_dispatch'
87
101
  runs-on: ubuntu-latest
88
- needs: [build, cross-compile]
102
+ needs:
103
+ - build
104
+ - build-linux-glibc-arm
105
+ - build-linux-musl-x64
89
106
  permissions:
107
+ contents: read
90
108
  id-token: write
91
109
  steps:
92
110
  - uses: actions/checkout@v4
@@ -94,7 +112,7 @@ jobs:
94
112
  submodules: true
95
113
  - uses: actions/setup-node@v4
96
114
  with:
97
- node-version: 20
115
+ node-version: 22.x
98
116
  check-latest: true
99
117
  registry-url: "https://registry.npmjs.org"
100
118
  scope: "swimlane"
@@ -113,9 +131,8 @@ jobs:
113
131
  find ${{ steps.download.outputs.download-path }}
114
132
  mv ${{ steps.download.outputs.download-path}}/prebuild-Linux-X64/linux-x64/* ./prebuilds/linux-x64/
115
133
  mv ${{ steps.download.outputs.download-path}}/prebuild-linux-arm64/linux-arm64/* ./prebuilds/linux-arm64/
116
- mv ${{ steps.download.outputs.download-path}}/prebuild-linux-arm64/linux-x64/* ./prebuilds/linux-x64/
134
+ mv ${{ steps.download.outputs.download-path}}/prebuild-linux-amd64/linux-x64/* ./prebuilds/linux-x64/
117
135
  mv ${{ steps.download.outputs.download-path}}/prebuild-macOS-ARM64/darwin-arm64/* ./prebuilds/darwin-arm64/
118
- mv ${{ steps.download.outputs.download-path}}/prebuild-macOS-X64/darwin-x64/* ./prebuilds/darwin-x64/
119
136
  find ./prebuilds
120
137
  - name: npm install
121
138
  run: npm ci --ignore-scripts
@@ -123,6 +140,56 @@ jobs:
123
140
  run: npm run preinstall
124
141
  - name: publish
125
142
  run: |
126
- (cat "$NPM_CONFIG_USERCONFIG" || true) && npm publish --provenance --access public
143
+ (cat "$NPM_CONFIG_USERCONFIG" || true) && npm publish --access public
127
144
  env:
128
145
  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
146
+
147
+ publish-github:
148
+ if: github.event_name == 'workflow_dispatch'
149
+ runs-on:
150
+ - large-amd-on-demand
151
+ needs:
152
+ - build
153
+ - build-linux-glibc-arm
154
+ - build-linux-musl-x64
155
+ permissions:
156
+ contents: read
157
+ id-token: write
158
+ packages: write
159
+ steps:
160
+ - uses: actions/checkout@v4
161
+ with:
162
+ submodules: true
163
+ - uses: actions/setup-node@v4
164
+ with:
165
+ node-version: 22.x
166
+ check-latest: true
167
+ registry-url: "https://npm.pkg.github.com"
168
+ scope: "@swimlane"
169
+ - name: download built libraries
170
+ id: download
171
+ uses: actions/download-artifact@v4
172
+ with:
173
+ path: prebuilds
174
+ - name: copy libs
175
+ run: |
176
+ set -x
177
+ mkdir -p prebuilds/linux-arm64
178
+ mkdir -p prebuilds/linux-x64
179
+ mkdir -p prebuilds/darwin-arm64
180
+ mkdir -p prebuilds/darwin-x64
181
+ find ${{ steps.download.outputs.download-path }}
182
+ mv ${{ steps.download.outputs.download-path}}/prebuild-Linux-X64/linux-x64/* ./prebuilds/linux-x64/
183
+ mv ${{ steps.download.outputs.download-path}}/prebuild-linux-arm64/linux-arm64/* ./prebuilds/linux-arm64/
184
+ mv ${{ steps.download.outputs.download-path}}/prebuild-linux-amd64/linux-x64/* ./prebuilds/linux-x64/
185
+ mv ${{ steps.download.outputs.download-path}}/prebuild-macOS-ARM64/darwin-arm64/* ./prebuilds/darwin-arm64/
186
+ find ./prebuilds
187
+ - name: npm install
188
+ run: npm ci --ignore-scripts
189
+ - name: generate source code
190
+ run: npm run preinstall
191
+ - name: publish
192
+ run: |
193
+ (cat "$NPM_CONFIG_USERCONFIG" || true) && npm publish --access restricted
194
+ env:
195
+ NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,45 @@
1
+ name: Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ branches:
7
+ - master
8
+
9
+ permissions:
10
+ contents: write # for checkout and tag
11
+ actions: write # updating envs
12
+ pull-requests: write # for comments
13
+ packages: write # for publish
14
+ id-token: write
15
+
16
+ jobs:
17
+ release-prep:
18
+ name: Release | Prep
19
+ runs-on:
20
+ - large-amd
21
+ outputs:
22
+ release-outputs: ${{ toJSON(steps.release.outputs) }}
23
+ steps:
24
+
25
+ - uses: actions/checkout@v4
26
+ with:
27
+ fetch-depth: 0
28
+
29
+ - name: Commit Linter
30
+ uses: wagoid/commitlint-github-action@v6
31
+ with:
32
+ commitDepth: 1
33
+
34
+ - uses: actions/create-github-app-token@v1
35
+ id: app-token
36
+ with:
37
+ app-id: ${{ secrets.GH_APP_ID }}
38
+ private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
39
+
40
+ - uses: googleapis/release-please-action@v4
41
+ name: release-please
42
+ id: release
43
+ with:
44
+ token: ${{ steps.app-token.outputs.token }}
45
+ release-type: 'node'
@@ -1,3 +1,5 @@
1
+ name: Test
2
+
1
3
  on:
2
4
  push:
3
5
  branches:
@@ -7,6 +9,9 @@ on:
7
9
  - v*.*.*
8
10
  pull_request:
9
11
 
12
+ concurrency:
13
+ group: ${{ github.workflow }}-${{ github.ref }}
14
+
10
15
  jobs:
11
16
  linux-test:
12
17
  name: "test on linux"
@@ -28,7 +33,7 @@ jobs:
28
33
  submodules: true
29
34
  - uses: actions/setup-node@v4
30
35
  with:
31
- node-version: 20
36
+ node-version: 22.0.0
32
37
  check-latest: true
33
38
  - name: Test
34
39
  run: |
@@ -63,7 +68,7 @@ jobs:
63
68
  submodules: true
64
69
  - uses: actions/setup-node@v4
65
70
  with:
66
- node-version: 20
71
+ node-version: 22.0.0
67
72
  check-latest: true
68
73
  - name: Test
69
74
  run: |
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@swimlane/nodegit",
3
3
  "description": "Node.js libgit2 asynchronous native bindings",
4
- "version": "1.1.4",
4
+ "version": "1.1.10",
5
5
  "homepage": "http://nodegit.org",
6
6
  "keywords": [
7
7
  "libgit2",
package/renovate.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "schedule": ["every weekend"],
4
+ "extends": ["config:recommended"],
5
+ "rangeStrategy": "pin",
6
+ "reviewersFromCodeOwners": true,
7
+ "labels": ["dependencies"],
8
+ "vulnerabilityAlerts": {
9
+ "labels": ["security"]
10
+ },
11
+
12
+ "packageRules": [
13
+ {
14
+ "matchPackagePatterns": ["*"],
15
+ "matchUpdateTypes": ["patch", "minor"],
16
+ "semanticCommitType": "fix"
17
+ },
18
+ {
19
+ "matchPackagePatterns": ["*"],
20
+ "matchUpdateTypes": ["major"],
21
+ "semanticCommitType": "feat!"
22
+ },
23
+ {
24
+ "matchDepTypes": ["devDependencies"],
25
+ "matchUpdateTypes": ["patch", "minor"],
26
+ "groupName": "devDependencies (non-major)",
27
+ "automerge": true
28
+ },
29
+ {
30
+ "matchDatasources": ["docker"],
31
+ "matchUpdateTypes": ["patch", "minor"],
32
+ "semanticCommitType": "fix"
33
+ },
34
+ {
35
+ "matchDatasources": ["docker"],
36
+ "matchUpdateTypes": ["major"],
37
+ "semanticCommitType": "feat!"
38
+ }
39
+ ],
40
+ "semanticCommitScope": "",
41
+ "forkProcessing": "enabled"
42
+ }
@@ -1,4 +1,4 @@
1
- FROM node:18.17.0-alpine3.17
1
+ FROM node:22.13.1-alpine3.21
2
2
 
3
3
  RUN apk add build-base git krb5-dev libgit2-dev libssh-dev pkgconfig python3 tzdata
4
4
 
@@ -1,4 +1,4 @@
1
- FROM node:18.17.0-bullseye
1
+ FROM node:22.13.1-bullseye
2
2
 
3
3
  ENV DEBIAN_FRONTEND noninteractive
4
4
  ENV LC_ALL en_US.UTF-8