mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-26 06:50:45 +01:00
GitHub is retiring ubuntu-22.04; move all 94 runs-on pins across 40 workflows to ubuntu-24.04. rust_binaries_release: the arm64 cross step was jammy-era — noble keeps apt sources in deb822 ubuntu.sources (the sources.list edit was a silent no-op that left amd64 repos open to arm64 and 404'd) and ports suites must say noble. Pin deb822 stanzas to amd64 and add noble ports entries.
95 lines
3.1 KiB
YAML
95 lines
3.1 KiB
YAML
name: "Metadata Subscribe Integration Tests"
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths:
|
|
- 'weed/filer/**'
|
|
- 'weed/pb/filer_pb/**'
|
|
- 'weed/util/log_buffer/**'
|
|
- 'weed/server/filer_grpc_server_sub_meta.go'
|
|
- 'weed/server/master_grpc_server.go'
|
|
- 'weed/command/filer_backup.go'
|
|
- 'test/metadata_subscribe/**'
|
|
- '.github/workflows/metadata-subscribe-tests.yml'
|
|
pull_request:
|
|
branches: [ master ]
|
|
paths:
|
|
- 'weed/filer/**'
|
|
- 'weed/pb/filer_pb/**'
|
|
- 'weed/util/log_buffer/**'
|
|
- 'weed/server/filer_grpc_server_sub_meta.go'
|
|
- 'weed/server/master_grpc_server.go'
|
|
- 'weed/command/filer_backup.go'
|
|
- 'test/metadata_subscribe/**'
|
|
- '.github/workflows/metadata-subscribe-tests.yml'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || (github.event_name == 'push' && github.ref) || github.run_id }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/')) }}
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
TEST_TIMEOUT: '10m'
|
|
|
|
jobs:
|
|
metadata-subscribe-integration:
|
|
name: Metadata Subscribe Integration Tests
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 20
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v7
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v7
|
|
with:
|
|
go-version-file: 'go.mod'
|
|
cache: ${{ runner.environment == 'github-hosted' }}
|
|
|
|
- name: Build SeaweedFS
|
|
run: |
|
|
cd weed
|
|
go build -o weed .
|
|
chmod +x weed
|
|
./weed version
|
|
|
|
- name: Run Metadata Subscribe Integration Tests
|
|
run: |
|
|
cd test/metadata_subscribe
|
|
|
|
echo "Running Metadata Subscribe integration tests..."
|
|
echo "============================================"
|
|
|
|
# Run tests with verbose output
|
|
go test -v -timeout=${{ env.TEST_TIMEOUT }} ./...
|
|
|
|
echo "============================================"
|
|
echo "Metadata Subscribe integration tests completed"
|
|
|
|
- name: Archive logs on failure
|
|
if: failure()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: metadata-subscribe-test-logs
|
|
path: |
|
|
/tmp/seaweedfs_*
|
|
retention-days: 7
|
|
|
|
- name: Test Summary
|
|
if: always()
|
|
run: |
|
|
echo "## Metadata Subscribe Integration Test Summary" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "### Test Coverage" >> $GITHUB_STEP_SUMMARY
|
|
echo "- **Basic Subscription**: Subscribe to metadata changes and receive events" >> $GITHUB_STEP_SUMMARY
|
|
echo "- **Single-Filer No Stall**: Regression test for issue #4977" >> $GITHUB_STEP_SUMMARY
|
|
echo "- **Resume from Disk**: Verify subscription can resume from persisted logs" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "### Related Issues" >> $GITHUB_STEP_SUMMARY
|
|
echo "- [#4977](https://github.com/seaweedfs/seaweedfs/issues/4977): filer.backup synchronisation stall" >> $GITHUB_STEP_SUMMARY
|
|
|