Fix for wrong mime type mismatch detection #18
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: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| tags-ignore: | |
| - "v*" | |
| workflow_call: | |
| jobs: | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: "1.24" | |
| - name: Mod tidy | |
| run: | | |
| go mod tidy | |
| git diff --exit-code | |
| - name: Verify dependencies | |
| run: go mod verify | |
| - name: Build | |
| run: make build | |
| unit-tests: | |
| name: Unit Tests | |
| runs-on: | |
| labels: ubuntu-latest-m | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: "1.24" | |
| - name: Download dependencies | |
| run: go mod download | |
| - name: Install tparse | |
| run: go install github.com/mfridman/tparse@latest | |
| - name: Run unit tests | |
| run: go test --cover $(go list ./... | grep -v /integration | grep -v /database | grep -v /cmd | grep -v /viewer) -json 2>&1 | tee unit.out && tparse -all --file=unit.out | |
| - name: Upload test output on failure | |
| uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: unit-test-output | |
| path: unit.out | |
| integration-tests: | |
| name: Integration Tests | |
| runs-on: | |
| labels: ubuntu-latest-m | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: "1.24" | |
| - name: Download dependencies | |
| run: go mod download | |
| - name: Install tparse | |
| run: go install github.com/mfridman/tparse@latest | |
| - name: Run integration tests | |
| shell: 'script -q -e -c "bash {0}"' | |
| run: go test ./integration/... -json -timeout 1800s 2>&1 | tee integration.out && tparse -all --file=integration.out | |
| - name: Upload test output on failure | |
| uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: integration-test-output | |
| path: integration.out | |
| database-tests: | |
| name: Database Tests | |
| runs-on: | |
| labels: ubuntu-latest-m | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: "1.24" | |
| - name: Download dependencies | |
| run: go mod download | |
| - name: Install tparse | |
| run: go install github.com/mfridman/tparse@latest | |
| - name: Run database tests | |
| shell: 'script -q -e -c "bash {0}"' | |
| run: go test ./database/... -json -timeout 1800s 2>&1 | tee database.out && tparse -all --file=database.out | |
| - name: Upload test output on failure | |
| uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: database-test-output | |
| path: database.out | |
| cmd-tests: | |
| name: Cmd Tests | |
| runs-on: | |
| labels: ubuntu-latest-m | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: "1.24" | |
| - name: Download dependencies | |
| run: go mod download | |
| - name: Install tparse | |
| run: go install github.com/mfridman/tparse@latest | |
| - name: Run cmd tests | |
| shell: 'script -q -e -c "bash {0}"' | |
| run: go test ./cmd/... -json -timeout 1800s 2>&1 | tee cmd.out && tparse -all --file=cmd.out | |
| - name: Upload test output on failure | |
| uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: cmd-test-output | |
| path: cmd.out | |
| viewer-tests: | |
| name: Viewer Tests | |
| runs-on: | |
| labels: ubuntu-latest-m | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: "1.24" | |
| - name: Download dependencies | |
| run: go mod download | |
| - name: Install tparse | |
| run: go install github.com/mfridman/tparse@latest | |
| - name: Run viewer tests | |
| shell: 'script -q -e -c "bash {0}"' | |
| run: go test ./viewer/... -json -timeout 1800s 2>&1 | tee viewer.out && tparse -all --file=viewer.out | |
| - name: Upload test output on failure | |
| uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: viewer-test-output | |
| path: viewer.out |