6540f15c5b
* Wrap websockets with HyperExpress * Add endpoints on pusher to resolve wokas * getting textures urls from pusher * Adding OpenAPI documentation for the pusher. The pusher now exposes a "/openapi" endpoint and a "/swagger-ui/" endpoint. * revert FRONT_URL * playerTextures metadata is being loaded via Phaser.Loader * fetch textures every time character or customize scene is open * Heavy changes: refactoring the pusher to always send the textures (and the front to accept them) * Sending character layer details to admin * Cleaning commented code * Fixing regex * Fix woka endpoints on pusher * Change error wording on pusher * Working on integration of the woka-list with the new admin endpoint. * Switching from "name" to "id" in texture object + using zod for woka/list validation * Add position on default woka data * Remove async on pusher option method * Fix woka list url * add options for /register * Fxiing loading the Woka list * Actually returning something in logout-callback * Copying messages to back too * remove customize button if no body parts are available (#1952) * remove customize button if no body parts are available * remove unused position field from PlayerTexturesCollection interface * removed unused label field * fix LocalUser test * little PlayerTextures class refactor * Fixing linting * Fixing missing Openapi packages in prod * Fixing back build Co-authored-by: Hanusiak Piotr <piotr@ltmp.co> Co-authored-by: David Négrier <d.negrier@thecodingmachine.com> * Add returns on pusher endpoints Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re> Co-authored-by: Hanusiak Piotr <piotr@ltmp.co> Co-authored-by: Piotr Hanusiak <wacneg@gmail.com>
252 lines
5.9 KiB
YAML
252 lines
5.9 KiB
YAML
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
|
|
|
|
name: "Continuous Integration"
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- develop
|
|
pull_request:
|
|
|
|
jobs:
|
|
continuous-integration-front:
|
|
name: "Continuous Integration Front"
|
|
|
|
runs-on: "ubuntu-latest"
|
|
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: "actions/checkout@v2.0.0"
|
|
|
|
- name: "Setup NodeJS"
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: '14.x'
|
|
|
|
- name: Install Protoc
|
|
uses: arduino/setup-protoc@v1
|
|
with:
|
|
version: '3.x'
|
|
|
|
- name: "Install dependencies"
|
|
run: yarn install
|
|
working-directory: "front"
|
|
|
|
- name: "Install messages dependencies"
|
|
run: yarn install
|
|
working-directory: "messages"
|
|
|
|
- name: "Build proto messages"
|
|
run: yarn run ts-proto && yarn run copy-to-front-ts-proto && yarn run json-copy-to-front
|
|
working-directory: "messages"
|
|
|
|
- name: "Create index.html"
|
|
run: ./templater.sh
|
|
working-directory: "front"
|
|
|
|
- name: "Generate i18n files"
|
|
run: yarn run typesafe-i18n
|
|
working-directory: "front"
|
|
|
|
- name: "Build"
|
|
run: yarn run build
|
|
env:
|
|
PUSHER_URL: "//localhost:8080"
|
|
ADMIN_URL: "//localhost:80"
|
|
working-directory: "front"
|
|
|
|
- name: "Build iframe-api"
|
|
run: yarn run build-iframe-api
|
|
working-directory: "front"
|
|
|
|
- name: "Typecheck"
|
|
run: yarn run typecheck
|
|
working-directory: "front"
|
|
|
|
- name: "Svelte check"
|
|
run: yarn run svelte-check
|
|
working-directory: "front"
|
|
|
|
- name: "Lint"
|
|
run: yarn run lint
|
|
working-directory: "front"
|
|
|
|
- name: "Pretty"
|
|
run: yarn run pretty-check
|
|
working-directory: "front"
|
|
|
|
- name: "Jasmine"
|
|
run: yarn test
|
|
working-directory: "front"
|
|
|
|
continuous-integration-pusher:
|
|
name: "Continuous Integration Pusher"
|
|
|
|
runs-on: "ubuntu-latest"
|
|
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: "actions/checkout@v2.0.0"
|
|
|
|
- name: "Setup NodeJS"
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: '14.x'
|
|
|
|
- name: Install Protoc
|
|
uses: arduino/setup-protoc@v1
|
|
with:
|
|
version: '3.x'
|
|
|
|
- name: "Install dependencies"
|
|
run: yarn install
|
|
working-directory: "pusher"
|
|
|
|
- name: "Install messages dependencies"
|
|
run: yarn install
|
|
working-directory: "messages"
|
|
|
|
- name: "Build proto messages"
|
|
run: yarn run proto && yarn run copy-to-pusher && yarn run json-copy-to-pusher
|
|
working-directory: "messages"
|
|
|
|
- name: "Build"
|
|
run: yarn run tsc
|
|
working-directory: "pusher"
|
|
|
|
- name: "Lint"
|
|
run: yarn run lint
|
|
working-directory: "pusher"
|
|
|
|
- name: "Jasmine"
|
|
run: yarn test
|
|
working-directory: "pusher"
|
|
|
|
- name: "Prettier"
|
|
run: yarn run pretty-check
|
|
working-directory: "pusher"
|
|
|
|
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@v1
|
|
with:
|
|
node-version: '12.x'
|
|
|
|
- name: Install Protoc
|
|
uses: arduino/setup-protoc@v1
|
|
with:
|
|
version: '3.x'
|
|
|
|
- name: "Install dependencies"
|
|
run: yarn install
|
|
working-directory: "back"
|
|
|
|
- name: "Install messages dependencies"
|
|
run: yarn install
|
|
working-directory: "messages"
|
|
|
|
- name: "Build proto messages"
|
|
run: yarn run proto && yarn run copy-to-back && yarn run json-copy-to-back
|
|
working-directory: "messages"
|
|
|
|
- name: "Build"
|
|
run: yarn run tsc
|
|
working-directory: "back"
|
|
|
|
- name: "Lint"
|
|
run: yarn run lint
|
|
working-directory: "back"
|
|
|
|
- name: "Jasmine"
|
|
run: yarn test
|
|
working-directory: "back"
|
|
|
|
- name: "Prettier"
|
|
run: yarn run pretty-check
|
|
working-directory: "back"
|
|
|
|
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@v1
|
|
with:
|
|
node-version: '14.x'
|
|
|
|
- name: "Install dependencies"
|
|
run: yarn install --froze-lockfile
|
|
working-directory: "desktop/electron"
|
|
|
|
- name: "Build"
|
|
run: yarn build
|
|
working-directory: "desktop/electron"
|
|
|
|
- name: "Typecheck"
|
|
run: yarn typecheck
|
|
working-directory: "desktop/electron"
|
|
|
|
- name: "Lint"
|
|
run: yarn lint
|
|
working-directory: "desktop/electron"
|
|
|
|
- name: "Jasmine"
|
|
run: yarn test
|
|
working-directory: "desktop/electron"
|
|
|
|
- name: "Prettier"
|
|
run: yarn 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@v1
|
|
with:
|
|
node-version: '14.x'
|
|
|
|
- name: "Install dependencies"
|
|
run: yarn install --froze-lockfile
|
|
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"
|