name: "FUSE DLM Integration Tests" on: pull_request: paths: - 'weed/command/mount*.go' - 'weed/mount/**' - 'weed/cluster/**' - 'test/fuse_dlm/**' - '.github/workflows/fuse-dlm-integration.yml' push: branches: [master] paths: - 'weed/command/mount*.go' - 'weed/mount/**' - 'weed/cluster/**' - 'test/fuse_dlm/**' concurrency: group: ${{ github.head_ref || github.ref }}/fuse-dlm-integration cancel-in-progress: true permissions: contents: read jobs: fuse-dlm-integration: name: FUSE DLM Integration Tests runs-on: ubuntu-22.04 timeout-minutes: 30 steps: - name: Check out code uses: actions/checkout@v7 - name: Set up Go uses: actions/setup-go@v7 with: go-version-file: 'go.mod' - name: Install FUSE dependencies run: | sudo apt-get update sudo apt-get install -y libfuse3-dev echo 'user_allow_other' | sudo tee -a /etc/fuse.conf sudo chmod 644 /etc/fuse.conf - name: Build SeaweedFS run: go build -o weed/weed -buildvcs=false ./weed - name: Run DLM integration tests timeout-minutes: 25 env: WEED_BINARY: ${{ github.workspace }}/weed/weed run: go test -v -count=1 -timeout=20m ./test/fuse_dlm/... - name: Upload logs on failure if: failure() uses: actions/upload-artifact@v7 with: name: fuse-dlm-test-logs path: /tmp/seaweedfs-fuse-dlm-logs/ retention-days: 3