Skip to content

Commit 27f8d7c

Browse files
committed
Compile Node.js Module with safe optimizations
1 parent b654bc0 commit 27f8d7c

File tree

2 files changed

+32
-36
lines changed

2 files changed

+32
-36
lines changed

.github/workflows/build.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ jobs:
1515
runs-on: windows-latest
1616
steps:
1717
- name: Setup Node.js
18-
uses: actions/setup-node@v4.0.4
18+
uses: actions/setup-node@v4
1919
with:
2020
node-version: 20
2121

2222
- name: Checkout Code
23-
uses: actions/checkout@v4.2.1
23+
uses: actions/checkout@v4
2424

2525
- name: Setup Visual Studio Environment
26-
uses: egor-tensin/vs-shell@v2.1
26+
uses: egor-tensin/vs-shell@v2
2727

2828
- name: Compile Library
2929
run: cl /O2 /std:c++17 /LD /Zi FileSystem.cc
@@ -35,7 +35,7 @@ jobs:
3535
run: powershell Compress-Archive -Path FileSystem.dll,FileSystem.lib,FileSystem.pdb,FileSystem.h,fsdef.h -DestinationPath FileSystem-windows.zip
3636

3737
- name: Upload Library
38-
uses: actions/upload-artifact@v4.4.1
38+
uses: actions/upload-artifact@v4
3939
with:
4040
name: FileSystem-windows.zip
4141
path: FileSystem-windows.zip
@@ -44,12 +44,12 @@ jobs:
4444
runs-on: ubuntu-latest
4545
steps:
4646
- name: Setup Node.js
47-
uses: actions/setup-node@v4.0.4
47+
uses: actions/setup-node@v4
4848
with:
4949
node-version: 20
5050

5151
- name: Checkout Code
52-
uses: actions/checkout@v4.2.1
52+
uses: actions/checkout@v4
5353

5454
- name: Compile Library
5555
run: g++ -O2 -g -fPIC -shared -o FileSystem.so FileSystem.cc
@@ -61,7 +61,7 @@ jobs:
6161
run: zip FileSystem-linux.zip FileSystem.so FileSystem.h fsdef.h
6262

6363
- name: Upload Library
64-
uses: actions/upload-artifact@v4.4.1
64+
uses: actions/upload-artifact@v4
6565
with:
6666
name: FileSystem-linux.zip
6767
path: FileSystem-linux.zip
@@ -72,12 +72,12 @@ jobs:
7272
runs-on: ubuntu-latest
7373
steps:
7474
- name: Setup Node.js
75-
uses: actions/setup-node@v4.0.4
75+
uses: actions/setup-node@v4
7676
with:
7777
node-version: 20
7878

7979
- name: Checkout Code
80-
uses: actions/checkout@v4.2.1
80+
uses: actions/checkout@v4
8181

8282
- name: Get Version
8383
run: |
@@ -86,12 +86,12 @@ jobs:
8686
echo "VERSION=$VERSION" >> $GITHUB_ENV
8787
8888
- name: Download Windows Library
89-
uses: actions/download-artifact@v4.1.8
89+
uses: actions/download-artifact@v4
9090
with:
9191
name: FileSystem-windows.zip
9292

9393
- name: Download Linux Library
94-
uses: actions/download-artifact@v4.1.8
94+
uses: actions/download-artifact@v4
9595
with:
9696
name: FileSystem-linux.zip
9797

@@ -123,7 +123,7 @@ jobs:
123123
- name: Create Release
124124
id: create_release
125125
if: env.release_exists == 'false'
126-
uses: actions/create-release@v1.1.4
126+
uses: actions/create-release@v1
127127
env:
128128
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
129129
with:
@@ -132,7 +132,7 @@ jobs:
132132
body: "Automated Release of Library Builds"
133133

134134
- name: Upload Windows Library
135-
uses: actions/upload-release-asset@v1.0.2
135+
uses: actions/upload-release-asset@v1
136136
env:
137137
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
138138
with:
@@ -142,7 +142,7 @@ jobs:
142142
asset_content_type: application/zip
143143

144144
- name: Upload Linux Library
145-
uses: actions/upload-release-asset@v1.0.2
145+
uses: actions/upload-release-asset@v1
146146
env:
147147
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
148148
with:
@@ -160,6 +160,6 @@ jobs:
160160
161161
- name: Publish to NPM
162162
if: env.release_exists == 'false'
163-
uses: JS-DevTools/npm-publish@v3.1.1
163+
uses: JS-DevTools/npm-publish@v3
164164
with:
165165
token: ${{ secrets.NPM_TOKEN }}

binding.gyp

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,28 @@
22
'targets': [
33
{
44
'target_name': 'module',
5-
'sources': [
6-
'module.cc'
7-
],
5+
'sources': ['module.cc'],
86
'conditions': [
97
['OS=="win"', {
108
'libraries': ['<(module_root_dir)/FileSystem.lib'],
11-
'copies': [
12-
{
13-
'destination': '<(module_root_dir)/build/Release/',
14-
'files': [
15-
'<(module_root_dir)/FileSystem.dll',
16-
'<(module_root_dir)/FileSystem.lib',
17-
'<(module_root_dir)/FileSystem.pdb'
18-
]
19-
}
20-
]
9+
'copies': [{
10+
'destination': '<(module_root_dir)/build/Release/',
11+
'files': [
12+
'<(module_root_dir)/FileSystem.dll',
13+
'<(module_root_dir)/FileSystem.lib',
14+
'<(module_root_dir)/FileSystem.pdb'
15+
]
16+
}]
2117
}, {
18+
'cflags!': ['-O3'],
19+
'cflags': ['-O2', '-g'],
2220
'libraries': ['<(module_root_dir)/FileSystem.so'],
23-
'copies': [
24-
{
25-
'destination': '<(module_root_dir)/build/Release/',
26-
'files': [
27-
'<(module_root_dir)/FileSystem.so'
28-
]
29-
}
30-
]
21+
'copies': [{
22+
'destination': '<(module_root_dir)/build/Release/',
23+
'files': [
24+
'<(module_root_dir)/FileSystem.so'
25+
]
26+
}]
3127
}]
3228
]
3329
}

0 commit comments

Comments
 (0)