Skip to content

Bump to 0.12.8

Bump to 0.12.8 #1922

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
defaults:
run:
shell: bash
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@af6d1c371f387efd5703a24739412ea862c3218e
with:
cache-node-modules: true
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@af6d1c371f387efd5703a24739412ea862c3218e
- name: Install node modules
run: yarn install --frozen-lockfile
- name: Pre-commit hook (requires yarn install)
uses: pre-commit/action@646c83fcd040023954eafda54b4db0192ce70507 # v3.0.0
- name: Install Chromium browser for Playwright
run: yarn playwright install chromium --with-deps
- name: Pre-build
run: bazel build //mesop/...
- name: Python type-checking
run: ./scripts/run_py_typecheck.sh
- name: Bazel tests
# NOTE: bazel test //... doesn't work (due to node_modules)
run: bazel test //mesop/...
- name: Run playwright test (prod mode)
run: PLAYWRIGHT_HTML_OUTPUT_DIR=playwright-report-prod-mode yarn playwright test
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: always()
with:
name: playwright-report-prod-mode
path: playwright-report-prod-mode/
retention-days: 30
- name: Run playwright test (debug/editor mode)
run: MESOP_DEBUG_MODE=true PLAYWRIGHT_HTML_OUTPUT_DIR=playwright-report-debug-mode yarn playwright test
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: always()
with:
name: playwright-report-debug-mode
path: playwright-report-debug-mode/
retention-days: 30
- name: Run playwright test (concurrency)
run: PLAYWRIGHT_HTML_OUTPUT_DIR=playwright-report-concurrency yarn playwright test mesop/tests/e2e/concurrency/state_test.ts --repeat-each=48 --workers=16
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: always()
with:
name: playwright-report-concurrency
path: playwright-report-concurrency/
retention-days: 30
- name: Run playwright test with concurrent updates enabled
run: MESOP_CONCURRENT_UPDATES_ENABLED=true PLAYWRIGHT_HTML_OUTPUT_DIR=playwright-report-with-concurrent-updates-enabled yarn playwright test
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: always()
with:
name: playwright-report-with-concurrent-updates-enabled
path: playwright-report-with-concurrent-updates-enabled/
retention-days: 30
- name: Run playwright test with websockets enabled
run: MESOP_WEBSOCKETS_ENABLED=true PLAYWRIGHT_HTML_OUTPUT_DIR=playwright-report-with-websockets-enabled yarn playwright test
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: always()
with:
name: playwright-report-with-websockets-enabled
path: playwright-report-with-websockets-enabled/
retention-days: 30
- name: Run playwright test with memory state session
run: MESOP_STATE_SESSION_BACKEND=memory PLAYWRIGHT_HTML_OUTPUT_DIR=playwright-report-with-memory-state-session yarn playwright test
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: always()
with:
name: playwright-report-with-memory-state-session
path: playwright-report-with-memory-state-session/
retention-days: 30
- name: Run playwright test with static folder
run: MESOP_STATIC_FOLDER=mesop/static PLAYWRIGHT_HTML_OUTPUT_DIR=playwright-report-with-static-folder yarn playwright test mesop/tests/e2e/static_folder_test.ts
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: always()
with:
name: playwright-report-with-static-folder
path: playwright-report-with-static-folder/
retention-days: 30
- name: Run playwright test with app base
run: MESOP_APP_BASE_PATH=$PWD/mesop/examples/app_base MESOP_STATIC_FOLDER=static PLAYWRIGHT_HTML_OUTPUT_DIR=playwright-report-with-static-folder yarn playwright test mesop/tests/e2e/app_base_test.ts
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: always()
with:
name: playwright-report-with-static-folder
path: playwright-report-with-static-folder/
retention-days: 30
# Deploy docs
deploy-docs:
# Only deploy docs if we're pushing to main (see on.push.branches)
if: github.event_name == 'push'
# Need write permission to push to gh-pages branch
permissions:
contents: write
# Only deploy docs if test passes
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # v4.7.1
with:
python-version: 3.10.13
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: pip install -r build_defs/requirements_lock.txt
- run: mkdocs gh-deploy --force
# Deploy docs bot
deploy-docs-bot:
# Only deploy docs bot if we're pushing to main (see on.push.branches)
if: github.event_name == 'push'
# Only deploy docs bot if deploy docs passes
needs: [deploy-docs]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # v4.7.1
with:
python-version: 3.10.13
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
with:
key: docs-bot-${{ env.cache_id }}
path: .cache
restore-keys: |
docs-bot-
- run: pip install -r ai/docbot/requirements.txt
- run: |
git config user.name github-actions[bot]
git config user.email github-actions[bot]@users.noreply.github.com
- name: Deploy to HuggingFace
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
# Huggingface token
HF_TOKEN: ${{ secrets.HF_TOKEN }}
run: ./ai/docbot/deploy_to_hf.sh ../mesop_docbot
# Deploy showcase
deploy-showcase:
# Only deploy showcase if we're pushing to main (see on.push.branches)
if: github.event_name == 'push'
# Only deploy showcase if test passes
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # v4.7.1
with:
python-version: 3.10.13
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
with:
key: showcase-${{ env.cache_id }}
path: .cache
restore-keys: |
showcase-
- run: pip install -r ai/docbot/requirements.txt
- run: |
git config user.name github-actions[bot]
git config user.email github-actions[bot]@users.noreply.github.com
- name: Deploy to HuggingFace
env:
# Huggingface token
HF_TOKEN: ${{ secrets.HF_TOKEN }}
run: ./showcase/deploy_to_hf.sh ../mesop_showcase