Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.9 release #1546

Merged
merged 30 commits into from
Feb 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
556c8dd
ci: remove manylinux2014 rocm build since it doesn't work
boxbeam Feb 23, 2024
debd70e
feat(webserver): add license check (#1495)
wsxiaoys Feb 23, 2024
d51689b
feat(webserver): add license check in user authentication (#1528)
wsxiaoys Feb 23, 2024
3e1beb9
fix(webserver): allow jwt based access regardless of license status (…
wsxiaoys Feb 23, 2024
92ca33a
feat(webserver): update subscription limits. (#1533)
wsxiaoys Feb 24, 2024
e45dbb3
ci: add prod-db flag to apple darwin release (#1530)
wsxiaoys Feb 24, 2024
0350a7f
fix(webserver): properly generate oauth error string for frontend (#1…
wsxiaoys Feb 24, 2024
b3019ac
docs: faq.mdx load model from local directory (#1536)
GlaserTools Feb 25, 2024
a84f987
docs: mention mailtutan dependency for tests (#1539)
G07cha Feb 25, 2024
96522f8
feat: support use experimental-http device for `--chat-model` (#1537)
wsxiaoys Feb 25, 2024
4c5366e
fix(golden): fix chat golden test (#1544)
wsxiaoys Feb 26, 2024
b47038c
ci: fix misc ci configures (#1545)
wsxiaoys Feb 26, 2024
9887700
feat(webserver): check seat limit in `create_invitation` and toggle u…
wsxiaoys Feb 26, 2024
8f68df1
feat(webserver): add admin user count limit (#1548)
wsxiaoys Feb 26, 2024
41a948a
feat(ui): add license guard (#1520)
liangfung Feb 26, 2024
a4a3640
fix(clients): Remove the notification when disconnected, keep only st…
icycodes Feb 26, 2024
a84e441
feat(ui): add license guard at proper locations (#1549)
wsxiaoys Feb 26, 2024
2cadf8d
fix(ui): display the correct external url (#1552)
liangfung Feb 26, 2024
def0a94
feat(webserver): Add endpoint to delete license (#1554)
boxbeam Feb 26, 2024
c6ca214
ci: add rocm dockerfile (#1543)
wsxiaoys Feb 26, 2024
d9fe52d
fix(webserver): fix the logic toggle admin user's active status (#1556)
wsxiaoys Feb 26, 2024
2636b59
fix(webserver): rename delete_license to reset_license (#1560)
wsxiaoys Feb 27, 2024
f4d15b9
feat(ui): implement reset license frontend (#1559)
liangfung Feb 27, 2024
0e6eec4
fix(webserver): use ID in user field (#1531)
wsxiaoys Feb 27, 2024
d0836db
feat(webserver): Add authenticated endpoint to update password (#1553)
boxbeam Feb 27, 2024
0f928bc
fix(webserver): fill the correct code name (cameCase) for PasswordCha…
wsxiaoys Feb 27, 2024
5980acc
fix(ui): get email from me query (#1562)
liangfung Feb 27, 2024
9bdc3ef
feat(ui): add change password frontend (#1563)
liangfung Feb 27, 2024
eb1a848
docs: Adjust description of golden tests in CONTRIBUTING.md
boxbeam Feb 27, 2024
11ad5a0
feat(ui): improve text for profile page / subscription page (#1565)
wsxiaoys Feb 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ on:
- '!*-dev'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}

# If this is enabled it will cancel current running and start latest
cancel-in-progress: true

Expand All @@ -28,6 +28,15 @@ jobs:
# with sigstore/fulcio when running outside of PRs.
id-token: write

strategy:
matrix:
device-type: [cuda, rocm]
include:
- device-type: cuda
image-suffix: ''
- device-type: rocm
image-suffix: '-rocm'

steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
Expand Down Expand Up @@ -69,8 +78,10 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Generate image name
env:
IMAGE_SUFFIX: ${{ matrix.image-suffix }}
run: |
echo "IMAGE_NAME=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV}
echo "IMAGE_NAME=${GITHUB_REPOSITORY,,}${IMAGE_SUFFIX}" >>${GITHUB_ENV}

- uses: int128/docker-build-cache-config-action@v1
id: cache
Expand Down Expand Up @@ -98,7 +109,7 @@ jobs:
id: build-and-push
uses: docker/[email protected]
with:
file: Dockerfile
file: docker/Dockerfile.${{ matrix.device-type }}
push: true
context: .
tags: ${{ steps.meta.outputs.tags }}
Expand All @@ -113,4 +124,3 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: tabbyml/tabby

8 changes: 2 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,12 @@ jobs:
container: ${{ matrix.container }}
strategy:
matrix:
binary: [aarch64-apple-darwin, x86_64-manylinux2014, x86_64-windows-msvc, x86_64-manylinux2014-cuda117, x86_64-manylinux2014-cuda122, x86_64-windows-msvc-cuda117, x86_64-windows-msvc-cuda122, x86_64-manylinux2014-rocm57]
binary: [aarch64-apple-darwin, x86_64-manylinux2014, x86_64-windows-msvc, x86_64-manylinux2014-cuda117, x86_64-manylinux2014-cuda122, x86_64-windows-msvc-cuda117, x86_64-windows-msvc-cuda122]
include:
- os: macos-latest
target: aarch64-apple-darwin
binary: aarch64-apple-darwin
build_args: --features prod-db
- os: dimerun-k3-ubuntu2204
target: x86_64-unknown-linux-gnu
binary: x86_64-manylinux2014
Expand Down Expand Up @@ -63,11 +64,6 @@ jobs:
ext: .exe
build_args: --features cuda,prod-db
windows_cuda: '12.2.0'
- os: dimerun-k3-ubuntu2204
target: x86_64-unknown-linux-gnu
binary: x86_64-manylinux2014-rocm57
container: ghcr.io/cromefire/hipblas-manylinux/2014/5.7:latest
build_args: --features static-ssl,rocm,prod-db

env:
SCCACHE_GHA_ENABLED: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ concurrency:
cancel-in-progress: true

env:
RUST_TOOLCHAIN: 1.73.0
RUST_TOOLCHAIN: 1.76.0

jobs:
tests:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ node_modules
.idea/
.DS_Store
.vscode/
local/
__pycache__
11 changes: 9 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,22 @@ apt-get install protobuf-compiler libopenblas-dev
choco install protoc
```

Some of the tests require mailtutan SMTP server which you can install with:

```bash
cargo install mailtutan
```

Before proceeding, ensure that all tests are passing locally:

```
cargo test -- --skip golden
```

Golden tests should be skipped on all platforms except Apple silicon (M1/M2), because they have not been created for other platforms yet.

This will help ensure everything is working correctly and avoid surprises with local breakages.

Golden tests, which run models and check their outputs against previous "golden snapshots", should be skipped for most development purposes, as they take a very long time to run (especially the tests running the models on CPU). You may still want to run them if your changes relate to the functioning of or integration with the generative models, but skipping them is recommended otherwise.

## Building and Running

Tabby can be run through `cargo` in much the same manner as docker:
Expand Down Expand Up @@ -78,6 +84,7 @@ By default, Tabby will start on `localhost:8080` and serve requests.
Tabby is broken up into several crates, each responsible for a different part of the functionality. These crates fall into two categories: Fully open source features, and enterprise features. All open-source feature crates are located in the `/crates` folder in the repository root, and all enterprise feature crates are located in `/ee`.

### Crates

- `crates/tabby` - The core tabby application, this is the main binary crate defining CLI behavior and driving the API
- `crates/tabby-common` - Interfaces and type definitions shared across most other tabby crates, especially types used for serialization
- `crates/tabby-download` - Very small crate, responsible for downloading models at runtime
Expand Down
167 changes: 162 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
fix:
cargo machete --fix || true
cargo +nightly fmt
cargo +nightly clippy --fix --allow-dirty --allow-staged
cargo clippy --fix --allow-dirty --allow-staged

fix-ui:
cd ee/tabby-ui && yarn format:write && yarn lint:fix
Expand Down
Loading
Loading