aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2025-07-18 15:01:25 -0700
committerchrislu <chris.lu@gmail.com>2025-07-18 15:01:25 -0700
commit4801f641f16da92b3425204f3c65ce8e074cc78a (patch)
tree0ca79efe655da917d1eae7373f9a773e89e60755
parent770888df812ce854553efb705d6cf3c6d8ed7d28 (diff)
downloadseaweedfs-4801f641f16da92b3425204f3c65ce8e074cc78a.tar.xz
seaweedfs-4801f641f16da92b3425204f3c65ce8e074cc78a.zip
install s3 tests
-rw-r--r--.github/workflows/s3tests.yml39
1 files changed, 25 insertions, 14 deletions
diff --git a/.github/workflows/s3tests.yml b/.github/workflows/s3tests.yml
index 18d211fb2..361555a04 100644
--- a/.github/workflows/s3tests.yml
+++ b/.github/workflows/s3tests.yml
@@ -21,8 +21,6 @@ jobs:
s3tests:
name: Ceph S3 tests
runs-on: ubuntu-22.04
- container:
- image: docker.io/kmlebedev/ceph-s3-tests:0.0.2
timeout-minutes: 30
steps:
- name: Check out code into the Go module directory
@@ -34,13 +32,26 @@ jobs:
go-version-file: 'go.mod'
id: go
+ - name: Set up Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: '3.9'
+
+ - name: Clone s3-tests
+ run: |
+ git clone https://github.com/ceph/s3-tests.git
+ cd s3-tests
+ pip install -r requirements.txt
+ pip install tox
+ pip install -e .
+
- name: Run Ceph S3 tests with KV store
timeout-minutes: 15
env:
- S3TEST_CONF: /__w/seaweedfs/seaweedfs/docker/compose/s3tests.conf
+ S3TEST_CONF: docker/compose/s3tests.conf
shell: bash
run: |
- cd /__w/seaweedfs/seaweedfs/weed
+ cd weed
go install -buildvcs=false
set -x
# Create clean data directory for this test run
@@ -53,7 +64,7 @@ jobs:
-s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config=../docker/compose/s3.json &
pid=$!
sleep 10
- cd /s3-tests
+ 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_bucket_list_empty \
@@ -216,10 +227,10 @@ jobs:
- name: Run S3 Object Lock and Retention tests
timeout-minutes: 15
env:
- S3TEST_CONF: /__w/seaweedfs/seaweedfs/docker/compose/s3tests.conf
+ S3TEST_CONF: docker/compose/s3tests.conf
shell: bash
run: |
- cd /__w/seaweedfs/seaweedfs/weed
+ cd weed
go install -buildvcs=false
set -x
# Create clean data directory for this test run
@@ -232,10 +243,10 @@ jobs:
-s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config=../docker/compose/s3.json &
pid=$!
sleep 10
- cd /s3-tests
+ 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
- # Run object lock tests without marker filtering to ensure all tests are executed
- tox -- -m "object_lock" --tb=short
+ # Run object lock tests by pattern matching test names
+ tox -- -k "object_lock" --tb=short
kill -9 $pid || true
# Clean up data directory
rm -rf "$WEED_DATA_DIR" || true
@@ -244,7 +255,7 @@ jobs:
timeout-minutes: 10
shell: bash
run: |
- cd /__w/seaweedfs/seaweedfs/weed
+ cd weed
go install -buildvcs=false
# Create clean data directory for this test run
export WEED_DATA_DIR="/tmp/seaweedfs-copy-test-$(date +%s)"
@@ -266,10 +277,10 @@ jobs:
- name: Run Ceph S3 tests with SQL store
timeout-minutes: 15
env:
- S3TEST_CONF: /__w/seaweedfs/seaweedfs/docker/compose/s3tests.conf
+ S3TEST_CONF: docker/compose/s3tests.conf
shell: bash
run: |
- cd /__w/seaweedfs/seaweedfs/weed
+ cd weed
go install -tags "sqlite" -buildvcs=false
# Create clean data directory for this test run
export WEED_DATA_DIR="/tmp/seaweedfs-sql-test-$(date +%s)"
@@ -283,7 +294,7 @@ jobs:
-s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config=../docker/compose/s3.json &
pid=$!
sleep 10
- cd /s3-tests
+ 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_bucket_list_empty \