screeps 4.2.21 → 4.3.0-beta.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.
- package/.github/workflows/build-binaries.yml +127 -0
- package/.github/workflows/build-packages.yml +38 -0
- package/.github/workflows/npm.yml +2 -2
- package/README.md +2 -3
- package/package.json +13 -10
- package/postinstall.js +12 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
name: Build binaries
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
tags:
|
|
5
|
+
- 'build-binaries'
|
|
6
|
+
jobs:
|
|
7
|
+
build:
|
|
8
|
+
strategy:
|
|
9
|
+
matrix:
|
|
10
|
+
include:
|
|
11
|
+
- os: ubuntu-latest
|
|
12
|
+
platform: linux
|
|
13
|
+
container: node:24-bullseye
|
|
14
|
+
- os: windows-latest
|
|
15
|
+
platform: windows
|
|
16
|
+
runs-on: ${{ matrix.os }}
|
|
17
|
+
container: ${{ matrix.container || '' }}
|
|
18
|
+
permissions:
|
|
19
|
+
contents: read
|
|
20
|
+
steps:
|
|
21
|
+
- name: ⤵️ Checkout
|
|
22
|
+
uses: actions/checkout@v4
|
|
23
|
+
- name: 🔨 Setup node
|
|
24
|
+
if: ${{ !matrix.container }}
|
|
25
|
+
uses: actions/setup-node@v4
|
|
26
|
+
with:
|
|
27
|
+
node-version: '24.14.0'
|
|
28
|
+
- name: 👷 Install
|
|
29
|
+
run: npm ci
|
|
30
|
+
- name: 📦 Packing binaries
|
|
31
|
+
shell: bash
|
|
32
|
+
run: |
|
|
33
|
+
mkdir -p dist
|
|
34
|
+
cp node_modules/isolated-vm/build/Release/isolated_vm.node dist/
|
|
35
|
+
cp node_modules/@screeps/driver/native/build/Release/native.node dist/
|
|
36
|
+
- name: 📦️ Upload binaries
|
|
37
|
+
uses: actions/upload-artifact@v4
|
|
38
|
+
with:
|
|
39
|
+
name: binaries-${{ matrix.platform }}
|
|
40
|
+
path: dist/
|
|
41
|
+
|
|
42
|
+
build-macos-x64:
|
|
43
|
+
runs-on: macos-latest
|
|
44
|
+
permissions:
|
|
45
|
+
contents: read
|
|
46
|
+
steps:
|
|
47
|
+
- name: ⤵️ Checkout
|
|
48
|
+
uses: actions/checkout@v4
|
|
49
|
+
- name: 🔨 Setup node
|
|
50
|
+
uses: actions/setup-node@v4
|
|
51
|
+
with:
|
|
52
|
+
node-version: '24.14.0'
|
|
53
|
+
- name: 👷 Install (no scripts)
|
|
54
|
+
run: npm ci --ignore-scripts
|
|
55
|
+
- name: 🔨 Build native modules (x64)
|
|
56
|
+
run: npm rebuild isolated-vm @screeps/driver
|
|
57
|
+
env:
|
|
58
|
+
npm_config_arch: x64
|
|
59
|
+
- name: 📦 Pack
|
|
60
|
+
run: |
|
|
61
|
+
mkdir -p dist
|
|
62
|
+
cp node_modules/isolated-vm/build/Release/isolated_vm.node dist/
|
|
63
|
+
cp node_modules/@screeps/driver/native/build/Release/native.node dist/
|
|
64
|
+
- name: 📦️ Upload
|
|
65
|
+
uses: actions/upload-artifact@v4
|
|
66
|
+
with:
|
|
67
|
+
name: binaries-macos-x64
|
|
68
|
+
path: dist/
|
|
69
|
+
|
|
70
|
+
build-macos-arm64:
|
|
71
|
+
runs-on: macos-latest
|
|
72
|
+
permissions:
|
|
73
|
+
contents: read
|
|
74
|
+
steps:
|
|
75
|
+
- name: ⤵️ Checkout
|
|
76
|
+
uses: actions/checkout@v4
|
|
77
|
+
- name: 🔨 Setup node
|
|
78
|
+
uses: actions/setup-node@v4
|
|
79
|
+
with:
|
|
80
|
+
node-version: '24.14.0'
|
|
81
|
+
- name: 👷 Install (no scripts)
|
|
82
|
+
run: npm ci --ignore-scripts
|
|
83
|
+
- name: 🔨 Build native modules (arm64)
|
|
84
|
+
run: npm rebuild isolated-vm @screeps/driver
|
|
85
|
+
env:
|
|
86
|
+
npm_config_arch: arm64
|
|
87
|
+
- name: 📦 Pack
|
|
88
|
+
run: |
|
|
89
|
+
mkdir -p dist
|
|
90
|
+
cp node_modules/isolated-vm/build/Release/isolated_vm.node dist/
|
|
91
|
+
cp node_modules/@screeps/driver/native/build/Release/native.node dist/
|
|
92
|
+
- name: 📦️ Upload
|
|
93
|
+
uses: actions/upload-artifact@v4
|
|
94
|
+
with:
|
|
95
|
+
name: binaries-macos-arm64
|
|
96
|
+
path: dist/
|
|
97
|
+
|
|
98
|
+
lipo-macos:
|
|
99
|
+
needs: [build-macos-x64, build-macos-arm64]
|
|
100
|
+
runs-on: macos-latest
|
|
101
|
+
permissions:
|
|
102
|
+
contents: read
|
|
103
|
+
steps:
|
|
104
|
+
- name: ⬇️ Download x64
|
|
105
|
+
uses: actions/download-artifact@v4
|
|
106
|
+
with:
|
|
107
|
+
name: binaries-macos-x64
|
|
108
|
+
path: x64
|
|
109
|
+
- name: ⬇️ Download arm64
|
|
110
|
+
uses: actions/download-artifact@v4
|
|
111
|
+
with:
|
|
112
|
+
name: binaries-macos-arm64
|
|
113
|
+
path: arm64
|
|
114
|
+
- name: 🍎 Create universal binaries
|
|
115
|
+
run: |
|
|
116
|
+
mkdir -p dist
|
|
117
|
+
lipo -create -output dist/isolated_vm.node x64/isolated_vm.node arm64/isolated_vm.node
|
|
118
|
+
lipo -create -output dist/native.node x64/native.node arm64/native.node
|
|
119
|
+
- name: 🧐 Verify
|
|
120
|
+
run: |
|
|
121
|
+
lipo -info dist/isolated_vm.node
|
|
122
|
+
lipo -info dist/native.node
|
|
123
|
+
- name: 📦️ Upload binaries
|
|
124
|
+
uses: actions/upload-artifact@v4
|
|
125
|
+
with:
|
|
126
|
+
name: binaries-macos
|
|
127
|
+
path: dist/
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: Build platform packages
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
tags:
|
|
5
|
+
- 'build-package'
|
|
6
|
+
jobs:
|
|
7
|
+
build:
|
|
8
|
+
strategy:
|
|
9
|
+
matrix:
|
|
10
|
+
include:
|
|
11
|
+
- os: ubuntu-latest
|
|
12
|
+
platform: linux
|
|
13
|
+
container: node:24-bullseye
|
|
14
|
+
- os: macos-latest
|
|
15
|
+
platform: macos
|
|
16
|
+
- os: windows-latest
|
|
17
|
+
platform: windows
|
|
18
|
+
runs-on: ${{ matrix.os }}
|
|
19
|
+
container: ${{ matrix.container || '' }}
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
steps:
|
|
23
|
+
- name: ⤵️ Checkout
|
|
24
|
+
uses: actions/checkout@v6
|
|
25
|
+
- name: 🔨 Setup node
|
|
26
|
+
if: ${{ !matrix.container }}
|
|
27
|
+
uses: actions/setup-node@v6
|
|
28
|
+
with:
|
|
29
|
+
node-version: '24.x'
|
|
30
|
+
- name: 👷 Install
|
|
31
|
+
run: npm ci
|
|
32
|
+
- name: 🔨 Install additional dependencies
|
|
33
|
+
run: npm install @electron/remote@2.1.3 --save
|
|
34
|
+
- name: 📦️ Upload package
|
|
35
|
+
uses: actions/upload-artifact@v7
|
|
36
|
+
with:
|
|
37
|
+
name: package-${{ matrix.platform }}
|
|
38
|
+
path: node_modules/
|
|
@@ -5,7 +5,7 @@ on:
|
|
|
5
5
|
- '**'
|
|
6
6
|
jobs:
|
|
7
7
|
build:
|
|
8
|
-
|
|
8
|
+
if: contains(github.event.head_commit.message, '🔖')
|
|
9
9
|
runs-on: ubuntu-latest
|
|
10
10
|
permissions:
|
|
11
11
|
contents: read
|
|
@@ -16,7 +16,7 @@ jobs:
|
|
|
16
16
|
- name: 🔨 Setup node (github registry)
|
|
17
17
|
uses: actions/setup-node@v4
|
|
18
18
|
with:
|
|
19
|
-
node-version: '
|
|
19
|
+
node-version: '24.x'
|
|
20
20
|
registry-url: 'https://registry.npmjs.org'
|
|
21
21
|
- name: 🔨 Setup Python
|
|
22
22
|
uses: actions/setup-python@v5
|
package/README.md
CHANGED
|
@@ -22,9 +22,8 @@ npx screeps start
|
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
Prerequisites:
|
|
25
|
-
* Node.js
|
|
26
|
-
* Python
|
|
27
|
-
* Build tools (`apt install build-essential` for Ubuntu, [Visual Studio](https://www.visualstudio.com/vs/) for Windows, etc)
|
|
25
|
+
* Node.js 22 LTS or higher
|
|
26
|
+
* Python 3, build tools (see [node-gyp requirements](https://github.com/nodejs/node-gyp))
|
|
28
27
|
|
|
29
28
|
You will be prompted for your Steam Web API key, you can obtain it on [this page](https://steamcommunity.com/dev/apikey).
|
|
30
29
|
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "screeps",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0-beta.10",
|
|
4
4
|
"description": "A standalone server for programming game Screeps",
|
|
5
5
|
"main": "package.json",
|
|
6
6
|
"bin": {
|
|
7
7
|
"screeps": "bin/screeps.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"postinstall": "
|
|
10
|
+
"postinstall": "node postinstall.js"
|
|
11
11
|
},
|
|
12
12
|
"author": "Artem Chivchalov <contact@screeps.com>",
|
|
13
13
|
"license": "ISC",
|
|
@@ -16,17 +16,20 @@
|
|
|
16
16
|
"url": "https://github.com/screeps/screeps.git"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@screeps/backend": "3.
|
|
20
|
-
"@screeps/common": "2.
|
|
21
|
-
"@screeps/driver": "5.
|
|
22
|
-
"@screeps/engine": "4.
|
|
23
|
-
"@screeps/launcher": "4.
|
|
19
|
+
"@screeps/backend": "3.3.0-beta",
|
|
20
|
+
"@screeps/common": "2.16.0-beta",
|
|
21
|
+
"@screeps/driver": "5.3.0-beta.3",
|
|
22
|
+
"@screeps/engine": "4.3.0-beta",
|
|
23
|
+
"@screeps/launcher": "4.2.0-beta.7",
|
|
24
24
|
"@screeps/pathfinding": "0.4.17",
|
|
25
|
-
"@screeps/storage": "5.1.
|
|
25
|
+
"@screeps/storage": "5.1.3-beta",
|
|
26
26
|
"node_modules-path": "2.0.7"
|
|
27
27
|
},
|
|
28
28
|
"engines": {
|
|
29
|
-
"node": ">=
|
|
30
|
-
"npm": ">=
|
|
29
|
+
"node": ">=22.9.0",
|
|
30
|
+
"npm": ">=10.8.2"
|
|
31
|
+
},
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"tag": "beta"
|
|
31
34
|
}
|
|
32
35
|
}
|
package/postinstall.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const { execSync } = require('child_process');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const nmPath = require('node_modules-path')();
|
|
6
|
+
const driverPath = path.join(nmPath, '@screeps', 'driver');
|
|
7
|
+
|
|
8
|
+
execSync('npx webpack', {
|
|
9
|
+
cwd: driverPath,
|
|
10
|
+
env: Object.assign({}, process.env, { NODE_PATH: nmPath }),
|
|
11
|
+
stdio: 'inherit',
|
|
12
|
+
});
|