Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

branch-build

branch-build #36439

Workflow file for this run

name: branch-build
on:
pull_request:
branches: [dev]
push:
branches: [dev]
merge_group:
types: [checks_requested]
jobs:
secrets-gate:
runs-on: ubuntu-latest
outputs:
ok: ${{ steps.check-secrets.outputs.ok }}
steps:
- name: check for secrets needed to run workflows
id: check-secrets
run: |
if [ ${{ secrets.BRANCH_BUILD_ENABLED }} == 'true' ]; then
echo "ok=enabled" >> $GITHUB_OUTPUT
fi
install-modules:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x
- name: restore lerna
uses: actions/cache@v3
with:
path: |
node_modules
*/*/node_modules
package-lock.json
key: ${{ runner.os }}-branch-build-${{ hashFiles('**/package.json') }}
- run: cp .env.local.default .env.local
- run: sed -i 's/localhost/127.0.0.1/g' .env.local
- name: Config npm registry token
run: npm config set '//npm.pkg.github.com/:_authToken' "${NPM_TOKEN}"
env:
NPM_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: npm install --production=false --loglevel notice --legacy-peer-deps
- name: cache for next steps
uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
check-lint:
needs: install-modules
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
- run: npm run lint
- run: npm run check-eslint
timeout-minutes: 20
check-errors:
needs: install-modules
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
- run: npm run dev-docker
- run: npm run dev-reinit
- run: npm run check-errors
timeout-minutes: 20
build-client:
needs: install-modules
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
- run: npm run dev-docker
- run: npm run dev-reinit
- run: npm run build-client
test:
needs: install-modules
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
package:
- client
- client-core
- common
- ecs
- editor
- engine
- hyperflux
- matchmaking
- network
- server
- spatial
- taskserver
- visual-script
- xrui
defaults:
run:
shell: bash
steps:
- uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
- run: cd packages/${{ matrix.package }} && npm run test
test_docker:
needs: install-modules
runs-on: ubuntu-latest
strategy:
matrix:
package:
- server-core
- instanceserver
defaults:
run:
shell: bash
steps:
- uses: actions/cache@v3
with:
path: .
key: dir-${{github.sha}}
- run: rm -rf packages/client
- run: rm -rf packages/client-core
- run: rm -rf packages/editor
- run: rm -rf packages/ui
- run: npm run dev-docker
- run: npm run dev-reinit
- run: git config --global user.email "[email protected]" && git config --global user.name "Your Name"
- run: cd packages/${{ matrix.package }} && npm run test