Initial commit: HyperbyteDB dashboard with CI and release workflows. #1
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] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: Test & build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.23" | |
| cache-dependency-path: go.sum | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: npm | |
| cache-dependency-path: package-lock.json | |
| - name: Configure git safe directory | |
| run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| - name: Install templ | |
| run: go install github.com/a-h/templ/cmd/templ@v0.3.898 | |
| - name: Generate assets, test, and build | |
| run: | | |
| npm ci --ignore-scripts | |
| npm run build:css | |
| templ generate ./web/templates | |
| go test ./... | |
| go build -trimpath -ldflags="-s -w" -o bin/dashboard ./cmd/dashboard | |
| docker: | |
| name: Docker build | |
| runs-on: ubuntu-latest | |
| needs: [test] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: docker/setup-buildx-action@v3 | |
| - name: Build image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| push: false | |
| load: true | |
| tags: hyperbytedb-dashboard:ci | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| chart: | |
| name: Helm lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: azure/setup-helm@v4 | |
| - name: Lint chart | |
| run: helm lint deploy/chart | |
| - name: Render chart | |
| run: helm template hyperbytedb-dashboard deploy/chart > /tmp/rendered.yaml |