Fix: Ensure lil-rag documents are deleted when notes are removed #69
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] | |
| env: | |
| GO_VERSION: "1.22" | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest] | |
| go: ["1.22", "1.23"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ matrix.go }} | |
| - name: Cache Go modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/go/pkg/mod | |
| key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
| restore-keys: | | |
| ${{ runner.os }}-go- | |
| - name: Download dependencies | |
| run: go mod download | |
| - name: Run tests | |
| run: go test -v -race -coverprofile=coverage.out ./... | |
| - name: Upload coverage | |
| uses: codecov/codecov-action@v4 | |
| if: matrix.os == 'ubuntu-latest' && matrix.go == '1.22' | |
| with: | |
| file: ./coverage.out | |
| flags: unittests | |
| name: codecov-umbrella | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Run golangci-lint | |
| uses: golangci/golangci-lint-action@v6 | |
| with: | |
| version: latest | |
| args: --timeout=5m | |
| build: | |
| name: Build | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| goos: linux | |
| goarch: amd64 | |
| name: linux-amd64 | |
| ext: "" | |
| - os: macos-latest | |
| goos: darwin | |
| goarch: amd64 | |
| name: darwin-amd64 | |
| ext: "" | |
| - os: macos-latest | |
| goos: darwin | |
| goarch: arm64 | |
| name: darwin-arm64 | |
| ext: "" | |
| - os: windows-latest | |
| goos: windows | |
| goarch: amd64 | |
| name: windows-amd64 | |
| ext: ".exe" | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Setup Windows build environment | |
| if: matrix.goos == 'windows' | |
| shell: bash | |
| run: | | |
| # Install MSYS2 for complete build environment | |
| choco install msys2 -y | |
| # Initialize MSYS2 and install required packages | |
| C:/tools/msys64/usr/bin/bash -lc 'pacman --noconfirm -S mingw-w64-x86_64-gcc mingw-w64-x86_64-pkg-config mingw-w64-x86_64-sqlite3' | |
| # Add MSYS2 MinGW64 to PATH | |
| echo "C:\\tools\\msys64\\mingw64\\bin" >> $GITHUB_PATH | |
| # Verify installation | |
| C:/tools/msys64/mingw64/bin/gcc --version || echo "GCC not found" | |
| - name: Build binary | |
| shell: bash | |
| run: | | |
| if [ "${{ matrix.goos }}" = "windows" ]; then | |
| # Set up CGO environment for Windows with MSYS2 | |
| export CGO_ENABLED=1 | |
| export CC=C:/tools/msys64/mingw64/bin/gcc.exe | |
| export CXX=C:/tools/msys64/mingw64/bin/g++.exe | |
| export PKG_CONFIG_PATH="C:/tools/msys64/mingw64/lib/pkgconfig" | |
| export PATH="C:/tools/msys64/mingw64/bin:$PATH" | |
| fi | |
| CGO_ENABLED=1 GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} go build -v -o ml-notes-${{ matrix.name }}${{ matrix.ext }} | |
| - name: Test binary | |
| if: matrix.goarch == 'amd64' # Only test on native architecture | |
| shell: bash | |
| run: | | |
| ./ml-notes-${{ matrix.name }}${{ matrix.ext }} --help |