Merge pull request #813 from humanlayer/toast-timeout-10s #2047
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Main | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| jobs: | |
| # todo needs check-ts and test-ts too! | |
| checks: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v4 | |
| - uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/pre-commit | |
| key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }} | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Install bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - uses: actions/setup-go@v5 | |
| id: setup-go | |
| with: | |
| go-version: '1.24' | |
| cache: false | |
| - name: Cache Go modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/go/pkg/mod | |
| key: go-mod-v2-${{ runner.os }}-go${{ steps.setup-go.outputs.go-version }}-${{ hashFiles('**/go.sum') }} | |
| restore-keys: | | |
| go-mod-v2-${{ runner.os }}-go${{ steps.setup-go.outputs.go-version }}- | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@1.83.0 | |
| with: | |
| components: rustfmt,clippy | |
| - name: Setup Rust cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: humanlayer-wui/src-tauri | |
| - name: Cache and install Tauri system dependencies | |
| if: runner.os == 'Linux' | |
| uses: awalsh128/cache-apt-pkgs-action@latest | |
| with: | |
| packages: libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev | |
| version: 1.0 | |
| - name: Cache Go tools | |
| uses: actions/cache@v4 | |
| id: go-tools-cache | |
| with: | |
| path: ~/go/bin | |
| key: go-tools-v4-${{ runner.os }}-go1.24-golangci-2.1.6-mockgen-0.5.2 | |
| - name: Install Go tools | |
| if: steps.go-tools-cache.outputs.cache-hit != 'true' | |
| run: | | |
| go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.1.6 | |
| go install go.uber.org/mock/mockgen@v0.5.2 | |
| - name: Cache Rust tools | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/bin/ | |
| ~/.cargo/registry/index/ | |
| ~/.cargo/registry/cache/ | |
| ~/.cargo/git/db/ | |
| target/ | |
| key: rust-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Run repository setup | |
| run: make setup-ci | |
| env: | |
| CI: true | |
| - name: Run checks | |
| run: make check | |
| tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Install bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - uses: actions/setup-go@v5 | |
| id: setup-go | |
| with: | |
| go-version: '1.24' | |
| cache: false | |
| - name: Cache Go modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/go/pkg/mod | |
| key: go-mod-v2-${{ runner.os }}-go${{ steps.setup-go.outputs.go-version }}-${{ hashFiles('**/go.sum') }} | |
| restore-keys: | | |
| go-mod-v2-${{ runner.os }}-go${{ steps.setup-go.outputs.go-version }}- | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Setup Rust cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: humanlayer-wui/src-tauri | |
| - name: Cache and install Tauri system dependencies | |
| if: runner.os == 'Linux' | |
| uses: awalsh128/cache-apt-pkgs-action@latest | |
| with: | |
| packages: libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev | |
| version: 1.0 | |
| - name: Cache Go tools | |
| uses: actions/cache@v4 | |
| id: go-tools-cache-tests | |
| with: | |
| path: ~/go/bin | |
| key: go-tools-v4-${{ runner.os }}-go1.24-mockgen-0.5.2 | |
| - name: Install mockgen | |
| if: steps.go-tools-cache-tests.outputs.cache-hit != 'true' | |
| run: go install go.uber.org/mock/mockgen@v0.5.2 | |
| - name: Cache Rust tools | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/bin/ | |
| ~/.cargo/registry/index/ | |
| ~/.cargo/registry/cache/ | |
| ~/.cargo/git/db/ | |
| target/ | |
| key: rust-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Run repository setup | |
| run: make setup-ci | |
| env: | |
| CI: true | |
| - name: Test | |
| run: make test | |
| - name: Upload Test Results | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results | |
| path: | | |
| junit.xml | |
| coverage.xml | |
| # for now leaving these commented out as they weren't passing (tsup or something was a related bug, want this merged more than I want in CI (Do we even want it | |
| # in CI anyway? | |
| # e2e-test: | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - name: Check out | |
| # uses: actions/checkout@v4 | |
| # | |
| # - name: Set up Go | |
| # uses: actions/setup-go@v5 | |
| # with: | |
| # go-version: '1.21' | |
| # | |
| # - name: Install Bun | |
| # uses: oven-sh/setup-bun@v2 | |
| # with: | |
| # bun-version: latest | |
| # | |
| # - name: Install Node.js | |
| # uses: actions/setup-node@v4 | |
| # with: | |
| # node-version: 22 | |
| # | |
| # - name: Build binaries | |
| # run: | | |
| # make -C hld build | |
| # make -C hlyr build | |
| # | |
| # - name: Build TypeScript SDK | |
| # run: | | |
| # cd hld/sdk/typescript | |
| # bun install | |
| # bun run build | |
| # | |
| # - name: Run E2E tests | |
| # env: | |
| # CI: true | |
| # HUMANLAYER_TEST_TIMEOUT_MULTIPLIER: 2 | |
| # run: make -C hld e2e-test | |
| # | |
| # - name: Upload test artifacts on failure | |
| # if: failure() | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: e2e-test-artifacts-${{ github.run_id }} | |
| # path: /tmp/hld-e2e-*/ |