mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-25 22:40:44 +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.7 KiB
YAML
81 lines
2.7 KiB
YAML
name: "Master Cold Start Tests"
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths:
|
|
- 'weed/server/master_*.go'
|
|
- 'weed/topology/**'
|
|
- 'weed/operation/**'
|
|
- 'test/master_cold_start/**'
|
|
- 'test/testutil/**'
|
|
- '.github/workflows/master-cold-start-tests.yml'
|
|
pull_request:
|
|
branches: [ master ]
|
|
paths:
|
|
- 'weed/server/master_*.go'
|
|
- 'weed/topology/**'
|
|
- 'weed/operation/**'
|
|
- 'test/master_cold_start/**'
|
|
- 'test/testutil/**'
|
|
- '.github/workflows/master-cold-start-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
|
|
|
|
jobs:
|
|
master-cold-start-tests:
|
|
name: Master Cold Start Tests
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 10
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v7
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v7
|
|
with:
|
|
go-version-file: 'go.mod'
|
|
cache: ${{ runner.environment == 'github-hosted' }}
|
|
|
|
- name: Build weed binary
|
|
run: |
|
|
cd weed && go install -buildvcs=false
|
|
|
|
- name: Run master cold start tests
|
|
# test/master_cold_start boots a fresh master plus empty volume
|
|
# servers and requires the very first assign (HTTP and gRPC, no
|
|
# client retries) to complete a write: the assign that triggers
|
|
# volume growth must wait for it instead of failing with
|
|
# "volume growth in progress".
|
|
run: |
|
|
export WEED_BINARY=$(go env GOPATH)/bin/weed
|
|
go test -v -timeout=8m ./test/master_cold_start/...
|
|
|
|
- name: Collect server logs on failure
|
|
if: failure()
|
|
run: |
|
|
# test/master_cold_start/cluster.go keeps failing-test dirs created
|
|
# via os.MkdirTemp("", "seaweedfs_master_cold_start_it_") with each
|
|
# process log under <baseDir>/logs/.
|
|
mkdir -p /tmp/master-cold-start-logs
|
|
find /tmp -maxdepth 1 -type d -name "seaweedfs_master_cold_start_it_*" 2>/dev/null | while read dir; do
|
|
echo "Found test directory: $dir"
|
|
cp -r "$dir" /tmp/master-cold-start-logs/ 2>/dev/null || true
|
|
done
|
|
find /tmp/master-cold-start-logs -type f -name "*.log" -print -exec tail -n 100 {} \; 2>/dev/null || echo "No logs found"
|
|
|
|
- name: Archive logs
|
|
if: failure()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: master-cold-start-test-logs
|
|
path: /tmp/master-cold-start-logs/
|
|
retention-days: 7
|