mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-26 15:00:48 +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.
81 lines
2.4 KiB
YAML
81 lines
2.4 KiB
YAML
name: "FUSE Volume Server Failover Tests"
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- 'weed/command/mount*.go'
|
|
- 'weed/mount/**'
|
|
- 'weed/filer/**'
|
|
- 'weed/wdclient/**'
|
|
- 'weed/operation/upload_content.go'
|
|
- 'test/fuse_failover/**'
|
|
- '.github/workflows/fuse-failover.yml'
|
|
- '.github/actions/fix-fusermount-setuid/**'
|
|
push:
|
|
branches: [master]
|
|
paths:
|
|
- 'weed/command/mount*.go'
|
|
- 'weed/mount/**'
|
|
- 'weed/filer/**'
|
|
- 'weed/wdclient/**'
|
|
- 'weed/operation/upload_content.go'
|
|
- 'test/fuse_failover/**'
|
|
- '.github/workflows/fuse-failover.yml'
|
|
- '.github/actions/fix-fusermount-setuid/**'
|
|
|
|
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
|
|
|
|
jobs:
|
|
fuse-failover:
|
|
name: FUSE Volume Server Failover
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 40
|
|
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v7
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Clean up stale FUSE mounts
|
|
uses: ./.github/actions/cleanup-stale-fuse-mounts
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v7
|
|
with:
|
|
go-version-file: 'go.mod'
|
|
cache: ${{ runner.environment == 'github-hosted' }}
|
|
|
|
- name: Configure FUSE
|
|
run: |
|
|
# Nothing to install: fuse3 ships fusermount3 and is pre-installed,
|
|
# and go-fuse is pure Go, so the libfuse headers were never linked
|
|
# against.
|
|
echo 'user_allow_other' | sudo tee -a /etc/fuse.conf
|
|
sudo chmod 644 /etc/fuse.conf
|
|
|
|
- name: Repair the fusermount3 setuid bit
|
|
uses: ./.github/actions/fix-fusermount-setuid
|
|
|
|
- name: Build SeaweedFS
|
|
run: go build -o weed/weed -buildvcs=false ./weed
|
|
|
|
- name: Run failover integration tests
|
|
timeout-minutes: 35
|
|
env:
|
|
WEED_BINARY: ${{ github.workspace }}/weed/weed
|
|
run: go test -v -count=1 -timeout=30m ./test/fuse_failover/...
|
|
|
|
- name: Upload logs on failure
|
|
if: failure()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: fuse-failover-test-logs
|
|
path: /tmp/seaweedfs-fuse-failover-logs/
|
|
retention-days: 3
|