Improve end to end test for meeting speaker and megaphone (#3959) #12812
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions | |
name: "Continuous Integration" | |
on: | |
push: | |
branches: | |
- master | |
- develop | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
continuous-integration-play: | |
name: "Continuous Integration Play" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "npm" | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v1 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: '3.x' | |
- name: "Install dependencies" | |
run: npm ci --workspace=workadventure-play | |
- name: "Install messages dependencies" | |
run: npm ci | |
working-directory: "messages" | |
- name: "Build proto messages" | |
run: npm run ts-proto | |
working-directory: "messages" | |
- name: "Generate i18n files" | |
run: npm run typesafe-i18n | |
working-directory: "play" | |
- name: "Build" | |
run: npm run build | |
env: | |
PUSHER_URL: "//localhost:3000" | |
ADMIN_URL: "//localhost:80" | |
# upgrade RAM available to 6GB | |
NODE_OPTIONS: --max-old-space-size=12288 | |
working-directory: "play" | |
- name: "Build iframe-api" | |
run: npm run build-iframe-api | |
working-directory: "play" | |
- name: "Typecheck" | |
run: npm run typecheck | |
working-directory: "play" | |
- name: "Svelte check" | |
run: npm run svelte-check | |
working-directory: "play" | |
- name: "Lint" | |
run: npm run lint | |
working-directory: "play" | |
- name: "Pretty" | |
run: npm run pretty-check | |
working-directory: "play" | |
- name: "Unit tests" | |
run: npm test | |
working-directory: "play" | |
continuous-integration-chat: | |
name: "Continuous Integration Chat" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v1 | |
with: | |
node-version: '16.x' | |
cache: "npm" | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v1 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: '3.x' | |
# - name: "Copy libs dependencies" | |
# run: mkdir -p ./../front/libs/tailwind && cp -R ./* ./../front/libs | |
# working-directory: "libs" | |
- name: "Install dependencies" | |
run: npm ci --workspace=workadventurechat | |
- name: "Install messages dependencies" | |
run: npm ci | |
working-directory: "messages" | |
- name: "Build proto messages" | |
run: npm run ts-proto | |
working-directory: "messages" | |
- name: "Pretty" | |
run: npm run pretty-check | |
#run: npm run pretty && git diff --exit-code | |
working-directory: "chat" | |
- name: "Generate i18n files" | |
run: npm run typesafe-i18n | |
working-directory: "chat" | |
- name: "Build" | |
run: npm run build | |
env: | |
PUSHER_URL: "//localhost:8080" | |
ADMIN_URL: "//localhost:80" | |
# upgrade RAM available to 6GB | |
NODE_OPTIONS: --max-old-space-size=6144 | |
working-directory: "chat" | |
- name: "Svelte check" | |
run: npm run svelte-check | |
working-directory: "chat" | |
- name: "Lint" | |
run: npm run lint | |
working-directory: "chat" | |
# TODO active | |
#- name: "Typecheck" | |
# run: npm run typecheck | |
# working-directory: "chat" | |
# TODO active | |
#- name: "Jasmine" | |
# run: npm test | |
# working-directory: "chat" | |
continuous-integration-back: | |
name: "Continuous Integration Back" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: "npm" | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v1 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: '3.x' | |
- name: "Install dependencies" | |
run: npm ci --workspace=workadventureback | |
- name: "Install messages dependencies" | |
run: npm ci | |
working-directory: "messages" | |
- name: "Build proto messages" | |
run: npm run ts-proto | |
working-directory: "messages" | |
- name: "Typecheck" | |
run: npm run typecheck | |
working-directory: "back" | |
- name: "Lint" | |
run: npm run lint | |
working-directory: "back" | |
- name: "Unit tests" | |
run: npm test | |
working-directory: "back" | |
- name: "Prettier" | |
run: npm run pretty-check | |
working-directory: "back" | |
continuous-integration-uploader: | |
name: "Continuous Integration Uploader" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: "npm" | |
- name: "Install dependencies" | |
run: npm ci --workspace=workadventureuploader | |
- name: "Lint" | |
run: npm run lint | |
working-directory: "uploader" | |
- name: "jest" | |
run: npm test | |
working-directory: "uploader" | |
continuous-integration-lib-map-editor: | |
name: "Continuous Integration Map Editor Library" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "npm" | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v1 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: '3.x' | |
- name: "Install dependencies" | |
run: npm ci --workspace=@workadventure/map-editor | |
- name: "Install messages dependencies" | |
run: npm ci | |
working-directory: "messages" | |
- name: "Build proto messages" | |
run: npm run ts-proto | |
working-directory: "messages" | |
- name: "Typecheck" | |
run: npm run typecheck | |
working-directory: "libs/map-editor" | |
- name: "Lint" | |
run: npm run lint | |
working-directory: "libs/map-editor" | |
- name: "Pretty" | |
run: npm run pretty-check | |
working-directory: "libs/map-editor" | |
- name: "jest" | |
run: npm test | |
working-directory: "libs/map-editor" | |
- name: "Check WAM Jsonschema is in sync of Zod" | |
run: | | |
npm run export-json-schema | |
echo "Check if there is a diff between the generated json schema and the one in the repo" | |
echo "If there is a diff, you need to run 'npm run export-json-schema' and commit the changes" | |
git diff --exit-code | |
working-directory: "libs/map-editor" | |
continuous-integration-shared-utils: | |
name: "Continuous Integration shared-utils Library" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "npm" | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v1 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: '3.x' | |
- name: "Install dependencies" | |
run: npm ci --workspace=@workadventure/shared-utils | |
- name: "Install messages dependencies" | |
run: npm ci | |
working-directory: "messages" | |
- name: "Build proto messages" | |
run: npm run ts-proto | |
working-directory: "messages" | |
- name: "Typecheck" | |
run: npm run typecheck | |
working-directory: "libs/shared-utils" | |
- name: "Lint" | |
run: npm run lint | |
working-directory: "libs/shared-utils" | |
- name: "Pretty" | |
run: npm run pretty-check | |
working-directory: "libs/shared-utils" | |
- name: "jest" | |
run: npm test | |
working-directory: "libs/shared-utils" | |
continuous-integration-map-storage: | |
name: "Continuous Integration Map Storage" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: "npm" | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v1 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: '3.x' | |
- name: "Install dependencies" | |
run: npm ci --workspace=map-storage | |
- name: "Install messages dependencies" | |
run: npm ci | |
working-directory: "messages" | |
- name: "Build proto messages" | |
run: npm run ts-proto | |
working-directory: "messages" | |
- name: "Typecheck" | |
run: npm run typecheck | |
working-directory: "map-storage" | |
- name: "Lint" | |
run: npm run lint | |
working-directory: "map-storage" | |
- name: "Tests" | |
run: npm run test | |
working-directory: "map-storage" | |
- name: "Prettier" | |
run: npm run format | |
working-directory: "map-storage" | |
continuous-integration-room-api-client: | |
name: "Continuous Integration Room API Client" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "npm" | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v1 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version: '3.x' | |
- name: "Install dependencies" | |
run: npm ci | |
working-directory: "libs/room-api-clients/room-api-client-js" | |
- name: "Build proto messages" | |
run: npm run ts-proto | |
working-directory: "libs/room-api-clients/room-api-client-js" | |
- name: "Build" | |
run: npm run build | |
working-directory: "libs/room-api-clients/room-api-client-js" | |
- name: "Lint" | |
run: npm run lint | |
working-directory: "libs/room-api-clients/room-api-client-js" | |
- name: "Pretty" | |
run: npm run format-check | |
working-directory: "libs/room-api-clients/room-api-client-js" | |
continuous-integration-desktop: | |
name: "Continuous Integration Desktop" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: "yarn" | |
cache-dependency-path: '**/yarn.lock' | |
- name: "Install dependencies" | |
run: yarn install | |
working-directory: "desktop/electron" | |
- name: "Build" | |
run: yarn run build | |
working-directory: "desktop/electron" | |
- name: "Typecheck" | |
run: yarn run typecheck | |
working-directory: "desktop/electron" | |
- name: "Lint" | |
run: yarn run lint | |
working-directory: "desktop/electron" | |
- name: "Jasmine" | |
run: yarn run test | |
working-directory: "desktop/electron" | |
- name: "Prettier" | |
run: yarn run pretty-check | |
working-directory: "desktop/electron" | |
continuous-integration-desktop-local-app: | |
name: "Continuous Integration Desktop Local App" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: "yarn" | |
cache-dependency-path: '**/yarn.lock' | |
- name: "Install dependencies" | |
run: yarn install | |
working-directory: "desktop/local-app" | |
- name: "Build" | |
run: yarn build | |
working-directory: "desktop/local-app" | |
- name: "Typecheck" | |
run: yarn check | |
working-directory: "desktop/local-app" | |
- name: "Lint" | |
run: yarn lint | |
working-directory: "desktop/local-app" | |
- name: "Jasmine" | |
run: yarn test | |
working-directory: "desktop/local-app" | |
- name: "Prettier" | |
run: yarn pretty-check | |
working-directory: "desktop/local-app" | |
continuous-integration-end-to-end-tests: | |
name: "Continuous Integration checking End To End tests" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v2.0.0" | |
- name: "Setup NodeJS" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "npm" | |
cache-dependency-path: 'tests/package-lock.json' | |
- name: "Install dependencies" | |
run: npm ci | |
working-directory: "tests" | |
- name: "Install play dependencies" | |
run: npm ci --workspace=workadventure-play | |
- name: "Install messages dependencies" | |
run: npm ci | |
working-directory: "messages" | |
- name: "Build proto messages" | |
run: npm run ts-proto | |
working-directory: "messages" | |
- name: "Install Room API client dependencies" | |
run: npm ci | |
working-directory: "libs/room-api-clients/room-api-client-js" | |
- name: "Build Room API proto files" | |
run: npm run ts-proto | |
working-directory: "libs/room-api-clients/room-api-client-js" | |
- name: "Build API typings" | |
run: npm run build-typings | |
working-directory: "play" | |
- name: "Lint" | |
run: npm run lint | |
working-directory: "tests" |