mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-13 18:10:49 +02:00
Update s3tests.yml
This commit is contained in:
@@ -37,8 +37,6 @@ jobs:
|
||||
run: |
|
||||
git clone https://github.com/ceph/s3-tests.git
|
||||
cd s3-tests
|
||||
# Pin to commit before recent versioning test changes that may not be compatible
|
||||
git checkout cb8c4b3ef8c2140f522f2cb57309de959ee3cf5b # Before PR #687 and #690 changes
|
||||
pip install -r requirements.txt
|
||||
pip install tox
|
||||
pip install -e .
|
||||
@@ -332,8 +330,6 @@ jobs:
|
||||
run: |
|
||||
git clone https://github.com/ceph/s3-tests.git
|
||||
cd s3-tests
|
||||
# Pin to commit before recent versioning test changes that may not be compatible
|
||||
git checkout cb8c4b3ef8c2140f522f2cb57309de959ee3cf5b # Before PR #687 and #690 changes
|
||||
pip install -r requirements.txt
|
||||
pip install tox
|
||||
pip install -e .
|
||||
@@ -408,7 +404,8 @@ jobs:
|
||||
sed -i 's/localhost:8000/localhost:8001/g' ../docker/compose/s3tests-versioning.conf
|
||||
sed -i 's/127\.0\.0\.1:8000/127.0.0.1:8001/g' ../docker/compose/s3tests-versioning.conf
|
||||
# Ensure per-run unique bucket prefix to avoid collisions
|
||||
sed -i "s/^bucket prefix = .*/bucket prefix = seaweedci-{random}-/" ../docker/compose/s3tests-versioning.conf
|
||||
UNIQUE_PREFIX="sw$(date +%s)$(shuf -i 1000-9999 -n 1)"
|
||||
sed -i "s/^bucket prefix = .*/bucket prefix = ${UNIQUE_PREFIX}-{random}-/" ../docker/compose/s3tests-versioning.conf
|
||||
export S3TEST_CONF=../docker/compose/s3tests-versioning.conf
|
||||
|
||||
# Debug: Show the config file contents
|
||||
@@ -430,6 +427,42 @@ jobs:
|
||||
echo "S3 connection test failed, retrying... ($i/10)"
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# Force cleanup any existing buckets to avoid conflicts
|
||||
echo "Cleaning up any existing buckets..."
|
||||
python3 -c "
|
||||
import boto3
|
||||
from botocore.exceptions import ClientError
|
||||
try:
|
||||
s3 = boto3.client('s3',
|
||||
endpoint_url='http://localhost:8001',
|
||||
aws_access_key_id='0555b35654ad1656d804',
|
||||
aws_secret_access_key='h7GhxuBLTrlhVUyxSPUKUV8r/2EI4ngqJxD7iBdBYLhwluN30JaT3Q==')
|
||||
buckets = s3.list_buckets()['Buckets']
|
||||
for bucket in buckets:
|
||||
bucket_name = bucket['Name']
|
||||
print(f'Deleting bucket: {bucket_name}')
|
||||
try:
|
||||
# Delete all objects first
|
||||
objects = s3.list_objects_v2(Bucket=bucket_name)
|
||||
if 'Contents' in objects:
|
||||
for obj in objects['Contents']:
|
||||
s3.delete_object(Bucket=bucket_name, Key=obj['Key'])
|
||||
# Delete all versions if versioning enabled
|
||||
versions = s3.list_object_versions(Bucket=bucket_name)
|
||||
if 'Versions' in versions:
|
||||
for version in versions['Versions']:
|
||||
s3.delete_object(Bucket=bucket_name, Key=version['Key'], VersionId=version['VersionId'])
|
||||
if 'DeleteMarkers' in versions:
|
||||
for marker in versions['DeleteMarkers']:
|
||||
s3.delete_object(Bucket=bucket_name, Key=marker['Key'], VersionId=marker['VersionId'])
|
||||
# Delete bucket
|
||||
s3.delete_bucket(Bucket=bucket_name)
|
||||
except ClientError as e:
|
||||
print(f'Error deleting bucket {bucket_name}: {e}')
|
||||
except Exception as e:
|
||||
print(f'Cleanup failed: {e}')
|
||||
" || echo "Cleanup completed with some errors (expected)"
|
||||
# Run versioning and object lock tests once (avoid duplicates)
|
||||
tox -- s3tests_boto3/functional/test_s3.py -k "object_lock or versioning" --tb=short
|
||||
kill -9 $pid || true
|
||||
@@ -459,8 +492,6 @@ jobs:
|
||||
run: |
|
||||
git clone https://github.com/ceph/s3-tests.git
|
||||
cd s3-tests
|
||||
# Pin to commit before recent versioning test changes that may not be compatible
|
||||
git checkout cb8c4b3ef8c2140f522f2cb57309de959ee3cf5b # Before PR #687 and #690 changes
|
||||
pip install -r requirements.txt
|
||||
pip install tox
|
||||
pip install -e .
|
||||
@@ -684,8 +715,6 @@ jobs:
|
||||
run: |
|
||||
git clone https://github.com/ceph/s3-tests.git
|
||||
cd s3-tests
|
||||
# Pin to commit before recent versioning test changes that may not be compatible
|
||||
git checkout cb8c4b3ef8c2140f522f2cb57309de959ee3cf5b # Before PR #687 and #690 changes
|
||||
pip install -r requirements.txt
|
||||
pip install tox
|
||||
pip install -e .
|
||||
|
||||
Reference in New Issue
Block a user