|
|
@ -213,6 +213,71 @@ jobs: |
|
|
# Clean up data directory |
|
|
# Clean up data directory |
|
|
rm -rf "$WEED_DATA_DIR" || true |
|
|
rm -rf "$WEED_DATA_DIR" || true |
|
|
|
|
|
|
|
|
|
|
|
- name: Run S3 Object Lock and Retention tests |
|
|
|
|
|
timeout-minutes: 15 |
|
|
|
|
|
env: |
|
|
|
|
|
S3TEST_CONF: /__w/seaweedfs/seaweedfs/docker/compose/s3tests.conf |
|
|
|
|
|
shell: bash |
|
|
|
|
|
run: | |
|
|
|
|
|
cd /__w/seaweedfs/seaweedfs/weed |
|
|
|
|
|
go install -buildvcs=false |
|
|
|
|
|
set -x |
|
|
|
|
|
# Create clean data directory for this test run |
|
|
|
|
|
export WEED_DATA_DIR="/tmp/seaweedfs-objectlock-$(date +%s)" |
|
|
|
|
|
mkdir -p "$WEED_DATA_DIR" |
|
|
|
|
|
weed -v 0 server -filer -filer.maxMB=64 -s3 -ip.bind 0.0.0.0 \ |
|
|
|
|
|
-dir="$WEED_DATA_DIR" \ |
|
|
|
|
|
-master.raftHashicorp -master.electionTimeout 1s -master.volumeSizeLimitMB=1024 \ |
|
|
|
|
|
-volume.max=100 -volume.preStopSeconds=1 -s3.port=8000 -metricsPort=9324 \ |
|
|
|
|
|
-s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config=../docker/compose/s3.json & |
|
|
|
|
|
pid=$! |
|
|
|
|
|
sleep 10 |
|
|
|
|
|
cd /s3-tests |
|
|
|
|
|
sed -i "s/assert prefixes == \['foo%2B1\/', 'foo\/', 'quux%20ab\/'\]/assert prefixes == \['foo\/', 'foo%2B1\/', 'quux%20ab\/'\]/" s3tests_boto3/functional/test_s3.py |
|
|
|
|
|
tox -- \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_bucket \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_enable_after_create \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_with_days_and_years \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_days \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_years \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_mode \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_status \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_suspend_versioning \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_lock \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_lock_invalid_bucket \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_invalid_bucket \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_invalid_mode \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_retention \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_retention_iso8601 \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_retention_invalid_bucket \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_versionid \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_override_default_retention \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_increase_period \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_shorten_period \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_shorten_period_bypass \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_retention \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_multipart_object_with_retention \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_retention_and_marker \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_multi_delete_object_with_retention \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_legal_hold \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_legal_hold_invalid_bucket \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_put_legal_hold_invalid_status \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_get_legal_hold \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_get_legal_hold_invalid_bucket \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_legal_hold_on \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_multipart_object_with_legal_hold_on \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_legal_hold_off \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_metadata \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_uploading_obj \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_governance_with_bypass \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_governance_without_bypass \ |
|
|
|
|
|
s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_compliance |
|
|
|
|
|
kill -9 $pid || true |
|
|
|
|
|
# Clean up data directory |
|
|
|
|
|
rm -rf "$WEED_DATA_DIR" || true |
|
|
|
|
|
|
|
|
- name: Run SeaweedFS Custom S3 Copy tests |
|
|
- name: Run SeaweedFS Custom S3 Copy tests |
|
|
timeout-minutes: 10 |
|
|
timeout-minutes: 10 |
|
|
shell: bash |
|
|
shell: bash |
|
|
|