forked from google/mesop
-
Notifications
You must be signed in to change notification settings - Fork 0
116 lines (111 loc) · 4.29 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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
# run: yarn playwright test
# - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
# if: always()
# with:
# name: playwright-report
# path: playwright-report/
# retention-days: 30
# - name: Run playwright test (concurrency)
# run: 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
# path: playwright-report/
# retention-days: 30
# - name: Run playwright test with memory state session
# run: MESOP_STATE_SESSION_BACKEND=memory 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
# # 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
- 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