diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..b50d3300 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,32 @@ +name: Test +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + test-typescript: + name: Test TypeScript Packages + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: arduino/setup-task@v1 + with: + version: 3.x + repo-token: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/setup-node@v3 + with: + node-version: 18.x + - uses: dtolnay/rust-toolchain@stable + - uses: baptiste0928/cargo-install@v2 + with: + crate: regen-lang + - uses: baptiste0928/cargo-install@v2 + with: + crate: wasm-pack + - run: task themes:ci client:ci --output group + - run: task themes:build build:wasm build:types --output group + - run: task client:test diff --git a/Dockerfile b/Dockerfile index ec0f3dcf..6a49265d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,9 @@ EXPOSE 80 ENV APP_DIR=/opt/app RUN mkdir -p $APP_DIR # Copy outputs -COPY ./dist $APP_DIR +COPY ./target/x86_64-unknown-linux-musl/release/celerserver $APP_DIR/celerserver +COPY ./docs/src/.vitepress/dist $APP_DIR/docs +COPY ./web-client/dist $APP_DIR/app WORKDIR $APP_DIR diff --git a/Taskfile.yml b/Taskfile.yml index 6b465d19..353f7807 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -59,6 +59,10 @@ tasks: docker: deps: [build] desc: Build docker container + cmds: + - task: docker:build + + docker:build: cmds: - docker build -t pistonite/celer . --no-cache @@ -75,29 +79,16 @@ tasks: build: desc: Build production assets deps: - - build:docs + - docs:build - build:server - build:client - build:docs: - internal: true - deps: - - docs:build - cmds: - - rm -rf dist/docs - - mkdir -p dist/docs - - cp -r docs/src/.vitepress/dist/* dist/docs - build:server: - internal: true deps: - core:grammar cmds: - - rm -f dist/celerserver - - mkdir -p dist - rustup default stable - cross build --bin celerserver --release --target x86_64-unknown-linux-musl - - cp target/x86_64-unknown-linux-musl/release/celerserver dist/celerserver build:client: deps: @@ -105,10 +96,7 @@ tasks: - build:wasm - build:types cmds: - - rm -rf dist/app - - mkdir -p dist/app - task: client:build - - cp -r web-client/dist/* dist/app build:wasm: dir: ./compiler-wasm diff --git a/web-client/Taskfile.yml b/web-client/Taskfile.yml index 7ed78d1f..e7b0b58f 100644 --- a/web-client/Taskfile.yml +++ b/web-client/Taskfile.yml @@ -51,3 +51,19 @@ tasks: eslint: cmds: - npx eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0 --cache {{.ESLINT_ARGS}} + + test: + desc: Run tests in web client + cmds: + - task: jest + + watch: + desc: Run tests in web client in watch mode + cmds: + - task: jest + vars: + ARGS: --watch + + jest: + cmds: + - npx jest --config tools/test/jest.config.cjs {{.ARGS}}