Skip to content

Update build.yml

Update build.yml #96

Workflow file for this run

name: Build
on:
push:
branches: [ master ]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, macos-15, ubuntu-24.04, ubuntu-24.04-arm]
steps:
- name: Setup Windows
if: matrix.os == 'windows-latest'
uses: ilammy/msvc-dev-cmd@v1
- name: Setup NASM for Windows
if: matrix.os == 'windows-latest'
uses: ilammy/[email protected]
- name: Setup Node.js for Unix
if: matrix.os != 'windows-latest'
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Unix dependencies
if: matrix.os != 'windows-latest'
run: |
uname -a
sudo apt update || true
brew install go || true
sudo apt install -y g++-aarch64-linux-gnu || true
- name: Update binaries
run: |
git clone --recursive https://github.com/uNetworking/uWebSockets.js.git
cd uWebSockets.js
${{ matrix.os == 'windows-latest' && 'nmake' || 'make' }}
git fetch origin binaries:binaries
git checkout binaries
${{ matrix.os == 'windows-latest' && 'xcopy /Y dist\\*.node .' || 'cp dist/*.node .' }}
${{ matrix.os != 'windows-latest' && 'cp dist/*.js .' || '' }}
${{ matrix.os != 'windows-latest' && 'git rev-parse master > source_commit' || '' }}
${{ matrix.os != 'windows-latest' && 'git checkout master docs/index.d.ts && mv docs/index.d.ts .' || '' }}
git status
git config --global user.email "[email protected]"
git config --global user.name "Alex Hultman"
git commit -a -m "[GitHub Actions] Updated ${{ matrix.os }} binaries" || true
git push "https://unetworkingab:${{ secrets.SECRET }}@github.com/uNetworking/uWebSockets.js" binaries
git checkout master -- tests/smoke.js
npm install ws
node tests/smoke.js