feat: regex search for log viewer with sheet toolbar redesign #92
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| backend: | |
| name: Backend (Go) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: ./server | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: "server/go.mod" | |
| - name: Create placeholder static files | |
| run: | | |
| mkdir -p internal/static/dist | |
| touch internal/static/dist/index.html | |
| - name: Lint | |
| uses: golangci/golangci-lint-action@v6 | |
| with: | |
| version: latest | |
| working-directory: server | |
| - name: Test | |
| run: go test -v ./... | |
| - name: Build | |
| run: go build -v ./... | |
| integration: | |
| name: Integration Test | |
| runs-on: ubuntu-latest | |
| needs: [backend] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Create .env file | |
| run: | | |
| cp env.example .env | |
| # Clear auth variables to disable authentication | |
| sed -i 's/^JWT_SECRET=.*//' .env | |
| sed -i 's/^ADMIN_USERNAME=.*//' .env | |
| sed -i 's/^ADMIN_PASSWORD=.*//' .env | |
| - name: Start Test Container | |
| run: docker run -d --name test-logdeck-container alpine sleep 300 | |
| - name: Build and Start LogDeck | |
| run: docker compose up -d --build | |
| - name: Wait for Server | |
| run: | | |
| for i in {1..60}; do | |
| if curl -s http://localhost:8123/api/v1/containers > /dev/null; then | |
| echo "Server is up!" | |
| exit 0 | |
| fi | |
| echo "Waiting for server..." | |
| sleep 1 | |
| done | |
| echo "Server failed to start" | |
| docker compose logs | |
| exit 1 | |
| - name: Test API | |
| run: | | |
| RESPONSE=$(curl -s http://localhost:8123/api/v1/containers) | |
| echo "Response: $RESPONSE" | |
| if echo "$RESPONSE" | grep -q "test-logdeck-container"; then | |
| echo "Found test container in response!" | |
| else | |
| echo "Test container not found in response" | |
| docker compose logs | |
| exit 1 | |
| fi | |
| - name: Cleanup | |
| if: always() | |
| run: | | |
| docker compose down | |
| docker rm -f test-logdeck-container || true | |
| frontend: | |
| name: Frontend (React) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: ./frontend | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: oven-sh/setup-bun@v1 | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Lint (Biome) | |
| run: bun x biome lint . | |
| - name: Type Check | |
| run: bun x tsc --noEmit | |
| - name: Build | |
| run: bun run build | |
| docs: | |
| name: Docs (Next.js) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: ./docs | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: oven-sh/setup-bun@v1 | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Lint (Biome) | |
| run: bun run lint | |
| - name: Build | |
| run: bun run build |