.github/workflows/nodejs.yml
name: Node CI
on: [push]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest]
node: ["22"]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v4
with:
main-branch-name: master
error-on-no-successful-workflow: true
- run: |
echo "Nx base: ${{ env.NX_BASE }}"
echo "Git head: ${{ env.NX_HEAD }}"
- name: Using Node.js ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: yarn
- name: Disable TCP/UDP Offloading
shell: bash
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo ethtool -K eth0 tx off rx off
exit 0
elif [ "$RUNNER_OS" == "macOS" ]; then
sudo sysctl -w net.link.generic.system.hwcksum_tx=0
sudo sysctl -w net.link.generic.system.hwcksum_rx=0
exit 0
else
echo "$RUNNER_OS not supported"
exit 0
fi
- name: Installing dependencies
run: |
yarn install --network-timeout 1000000 --forzen-lockfile
- name: Checking for lint
run: |
yarn run nx affected --target=lint --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} --parallel=1
- name: Building packages
run: |
yarn run build
- name: Running unit tests
run: |
yarn run nx affected --target=test --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} --parallel=1
env:
CI: true
- name: Bundling Electron
run: |
yarn run electron