diff --git a/.github/renovate.json b/.github/renovate.json index 9684a56..547a236 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,17 +1,19 @@ { - "extends": ["config:base"], + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["config:base", ":disableDependencyDashboard"], + "dependencyDashboardAutoclose": true, + "lockFileMaintenance": { "enabled": false }, "packageRules": [ { - "matchSourceUrlPrefixes": ["https://github.com/livekit/"], - "rangeStrategy": "replace", - "groupName": "LiveKit dependencies (non-major)", - "automerge": true - }, - { - "schedule": "before 6am on the first day of the month", - "matchDepTypes": ["devDependencies"], - "matchUpdateTypes": ["patch", "minor"], - "groupName": "devDependencies (non-major)" + "matchPackagePatterns": ["*"], + "matchUpdateTypes": ["minor", "patch"], + "groupName": "all non-major depedencies", + "groupSlug": "all minor patches" } - ] + ], + "prConcurrentLimit": 1, + "prCreation": "not-pending", + "prHourlyLimit": 1, + "schedule": ["after 5pm on monday"], + "stabilityDays": 2 } diff --git a/.github/workflows/audit-rs.yml b/.github/workflows/audit-rs.yml new file mode 100644 index 0000000..94c9cc7 --- /dev/null +++ b/.github/workflows/audit-rs.yml @@ -0,0 +1,40 @@ +name: Rust Crates Security Audit + +on: + push: + paths: + - "**/Cargo.toml" + - "**/Cargo.lock" + +# Cancel old builds on new commit for same workflow + branch/PR +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + audit-rs: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - stable + - nightly + + env: + CARGO_TERM_COLOR: always + + steps: + - name: Checkout Sources + uses: actions/checkout@v3 + + - name: Install rust + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + + - name: Audit + uses: actions-rs/audit-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/ci-rs.yml b/.github/workflows/ci-rs.yml new file mode 100644 index 0000000..dd5ee56 --- /dev/null +++ b/.github/workflows/ci-rs.yml @@ -0,0 +1,61 @@ +name: CI-RS + +on: + push: + paths: + - "**/server/**" + - "**/crates/**" + - "**/Cargo.lock" + - "**/Cargo.toml" + - "**/rust-toolchain" + - "**/.taplo.toml" + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + +# Cancel old builds on new commit for same workflow + branch/PR +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + ci-rs: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust-toolchain: + - nightly-2023-09-20 + + steps: + - name: Get source code + uses: actions/checkout@v3 + + - name: Setup ${{ matrix.rust-toolchain }} rust toolchain with caching + uses: brndnmtthws/rust-action@v1 + with: + toolchain: ${{ matrix.rust-toolchain }} + components: rustfmt, clippy, cargo-bloat + enable-sccache: "true" + cargo-packages: "cargo-bloat" + + - name: Install binaries + run: sudo apt-get update && sudo apt-get install -y clang pkg-config libavfilter-dev libavdevice-dev libavcodec-dev libavformat-dev libavutil-dev + + - name: Build + run: cargo build --release # --verbose + + - name: Test + run: cargo test --release # --verbose + + - name: Lint + run: cargo fmt --all -- --check + # && cargo clippy --verbose -- -D warnings + + - name: Bloat Check + uses: cs50victor/cargo-bloat-action@master + with: + token: ${{ secrets.GITHUB_TOKEN }} + kv_token: ${{ secrets.KV_TOKEN }} + included_packages: "repo_guided_graph demo_server" diff --git a/.github/workflows/ci-ts.yml b/.github/workflows/ci-ts.yml new file mode 100644 index 0000000..23cc125 --- /dev/null +++ b/.github/workflows/ci-ts.yml @@ -0,0 +1,64 @@ +name: CI-TS + +on: + push: + paths: + - "**/web/**" + - "**/web_shared/**" + - "**/.eslintrc.json" + - "**/.node-version" + - "**/package.json" + - "**/pnpm-lock.yaml" + workflow_dispatch: + +env: + CI: true + # https://turbo.build/repo/docs/ci/github-actions#remote-caching + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM }} + +# Cancel old builds on new commit for same workflow + branch/PR +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + ci-ts: + runs-on: ubuntu-latest + + steps: + - name: Checkout Sources + uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + - name: Install PNPM + uses: pnpm/action-setup@v2 + with: + version: 8 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: Setup pnpm cache + uses: actions/cache@v3 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install Dependencies + run: pnpm install + + - name: Build + run: pnpm build + + - name: Lint + run: pnpm lint diff --git a/README.md b/README.md index 63c5706..566838c 100644 --- a/README.md +++ b/README.md @@ -8,17 +8,16 @@ 2. `pnpm dev` 3. `ngrok http http:://localhost:4000` ( in a different terminal ) +- stt ( deepgram ) +- tts ( eleven labs ) + ## TODO - [ ] Fix bugs - [ ] Clean up code - [ ] Simplify -- [ ] Add stt ( whisper ) -- [ ] Add tts ( new OPENAI model / Eleven Labs ) - [ ] Update Docs - - ### Credits ``` The donut used in this demo based on "Oreo Donut"