screeps 4.3.0-beta → 4.3.0-beta.11

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,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,42 @@
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
+ uses: actions/setup-node@v6
27
+ with:
28
+ node-version: '24.14.0'
29
+ - name: 👷 Install
30
+ run: npm ci
31
+ - name: 🔨 Install additional dependencies
32
+ shell: bash
33
+ run: npm install $(node -p "Object.entries(require('./node_modules/@screeps/launcher/package.json').devDependencies).map(([k,v])=>k+'@'+v).join(' ')")
34
+ - name: 🧹 Cleanup electron
35
+ shell: bash
36
+ run: rm -rf node_modules/electron
37
+ - name: 📦️ Upload package
38
+ uses: actions/upload-artifact@v7
39
+ with:
40
+ name: package-${{ matrix.platform }}
41
+ path: node_modules/
42
+ include-hidden-files: true
@@ -5,7 +5,7 @@ on:
5
5
  - '**'
6
6
  jobs:
7
7
  build:
8
- # if: contains(github.event.head_commit.message, '🔖')
8
+ if: contains(github.event.head_commit.message, '🔖')
9
9
  runs-on: ubuntu-latest
10
10
  permissions:
11
11
  contents: read
package/README.md CHANGED
@@ -22,9 +22,8 @@ npx screeps start
22
22
  ```
23
23
 
24
24
  Prerequisites:
25
- * Node.js 10 LTS or higher
26
- * Python 2 (for node-gyp, [Python 3 is not supported](https://github.com/nodejs/node-gyp/issues/193))
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.0-beta",
3
+ "version": "4.3.0-beta.11",
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": "cd `node_modules` && npm explore @screeps/driver -- npx webpack"
10
+ "postinstall": "node postinstall.js"
11
11
  },
12
12
  "author": "Artem Chivchalov <contact@screeps.com>",
13
13
  "license": "ISC",
@@ -18,9 +18,9 @@
18
18
  "dependencies": {
19
19
  "@screeps/backend": "3.3.0-beta",
20
20
  "@screeps/common": "2.16.0-beta",
21
- "@screeps/driver": "5.3.0-beta",
21
+ "@screeps/driver": "5.3.0-beta.3",
22
22
  "@screeps/engine": "4.3.0-beta",
23
- "@screeps/launcher": "4.2.0-beta",
23
+ "@screeps/launcher": "4.2.0-beta.8",
24
24
  "@screeps/pathfinding": "0.4.17",
25
25
  "@screeps/storage": "5.1.3-beta",
26
26
  "node_modules-path": "2.0.7"
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
+ });