Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
2b8f937
ruby spec updates
seebees Nov 14, 2025
d0f16e0
Start on instruction failures
seebees Nov 15, 2025
496a8db
Instruction files that pass and fail
seebees Nov 17, 2025
54853fa
starting to add raw
seebees Nov 17, 2025
f0aa6f7
adding ruby to raw support
seebees Nov 17, 2025
7c4ddb8
update names
seebees Nov 17, 2025
39c7799
Merge branch 'fireegg-test-servers' into seebees/instruction-files
seebees Nov 17, 2025
7c0ef74
Merge branch 'fireegg-test-servers' into seebees/instruction-files
seebees Nov 17, 2025
aeb359c
speed up the build
seebees Nov 17, 2025
270f2d5
speed up wait
seebees Nov 17, 2025
271fcba
update client building
seebees Nov 17, 2025
231e3ad
fix: Go in instruction files tests (#104)
lucasmcdonald3 Nov 17, 2025
0a4ef95
better failures?
seebees Nov 17, 2025
4d73663
bump php sdk to fixed instruction file (#106)
josecorella Nov 18, 2025
63e0ed1
faster parallel tests (#107)
seebees Nov 19, 2025
91933b7
enable cpp
seebees Nov 19, 2025
490ffb2
fix c++?
seebees Nov 19, 2025
d1366a9
Make the instruction file tests parallel
seebees Nov 20, 2025
c7f19ec
fix cpp
seebees Nov 20, 2025
ab1ba3a
go concurency
seebees Nov 20, 2025
99f05fe
cpp is hard
seebees Nov 20, 2025
35e8772
try this
seebees Nov 20, 2025
954b559
next cut
seebees Nov 20, 2025
ff1a84a
Enable address sanitizer during tests (#105)
ajewellamz Nov 20, 2025
0858f67
try not deleting the body
seebees Nov 20, 2025
5bfc9af
simplify?
seebees Nov 20, 2025
8d9ff30
try less work
seebees Nov 20, 2025
03d3151
try a different direction
seebees Nov 20, 2025
b4416dc
cpp build update
seebees Nov 20, 2025
30d797e
Making C test servers concurent
seebees Nov 21, 2025
d093671
update the test
seebees Nov 22, 2025
2e315c7
fix c build issue
seebees Nov 23, 2025
76baf06
trying to add RangedGets
seebees Nov 24, 2025
cd3b3cd
try a different timeing
seebees Nov 25, 2025
107e91e
add some exceptions
seebees Nov 26, 2025
5e08335
disable checksum?
seebees Nov 26, 2025
9dafb9b
update words
seebees Dec 1, 2025
ef72f03
Adding ReEncrypt tests
seebees Dec 2, 2025
c52e985
update Ranged Gets
seebees Dec 2, 2025
c01cb12
fix to C for constant time equal
seebees Dec 4, 2025
f70745f
Some updates
seebees Dec 4, 2025
cde9779
Add ReEncrypt to Java V3
seebees Dec 4, 2025
05a0cfb
Strings to constants
seebees Dec 4, 2025
12d8fec
make the makefile fail if it fails to build
seebees Dec 4, 2025
a49ff98
Updates to merged code
seebees Dec 8, 2025
eb00a7b
update Display name
seebees Dec 6, 2025
c3d9b67
names and feedback
seebees Dec 8, 2025
91a24a5
ReEncrypt does not cache keyrings
seebees Dec 8, 2025
7c0c490
Merge branch 'fireegg-test-servers' into seebees/instruction-files
seebees Dec 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 3 additions & 16 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,6 @@ jobs:
git config --global credential.helper store
echo "https://x-token-auth:${{ secrets.PAT_FOR_PRIVATE_RUBY }}@github.com" > ~/.git-credentials

- name: Cache git submodules
uses: actions/cache@v4
with:
path: |
.git/modules
test-server/*/.git
key: ${{ runner.os }}-submodules-${{ hashFiles('.gitmodules') }}
restore-keys: |
${{ runner.os }}-submodules-

- name: Optimize git for performance
run: |
git config --global fetch.parallel ${{ steps.cpu-count.outputs.count }}
Expand All @@ -59,13 +49,12 @@ jobs:

- name: Checkout submodules with --jobs
run: |
git submodule update --init --depth 1 --jobs ${{ steps.cpu-count.outputs.count }}
git submodule update --init --depth 1 --single-branch --jobs ${{ steps.cpu-count.outputs.count }}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice


- name: Update cpp submodules recursively with --jobs
run: |
git submodule update --init --recursive \
--depth 1 \
--filter=blob:none \
--depth 1 --single-branch \
--jobs ${{ steps.cpu-count.outputs.count }} \
--force \
test-server/cpp-v2-transition-server/aws-sdk-cpp \
Expand Down Expand Up @@ -171,9 +160,7 @@ jobs:
- name: Wait for servers to start
run: cd test-server && make wait-all-servers
env:
AWS_REGION: us-west-2
TEST_SERVER_S3_BUCKET: ${{ vars.TEST_SERVER_S3_BUCKET }}
TEST_SERVER_KMS_KEY_ARN: ${{ vars.TEST_SERVER_KMS_KEY_ARN }}
MAKEFLAGS: -j${{ steps.cpu-count.outputs.count }}

- name: Run run-tests
run: cd test-server && make run-tests
Expand Down
32 changes: 18 additions & 14 deletions test-server/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@

.PHONY: all start-servers run-tests stop-servers clean ci check-env help

# Default target
all: start-all-servers wait-all-servers run-tests

# CI target for GitHub Actions
ci:
$(MAKE) build-all-servers
Expand All @@ -20,13 +17,19 @@ START_SERVER_TARGETS := $(addprefix start-, $(SERVER_DIRS))
WAIT_SERVER_TARGETS := $(addprefix wait-, $(SERVER_DIRS))

# Build all servers in parallel
build-all-servers: export MAKEFLAGS=-j$(shell sysctl -n hw.ncpu 2>/dev/null || nproc 2>/dev/null || echo 1)
build-all-servers: $(BUILD_SERVER_TARGETS)
build-all-servers:
@echo "[`date +%H:%M:%S`] Building all servers..."
@$(MAKE) $(BUILD_SERVER_TARGETS)
@echo "[`date +%H:%M:%S`] All servers built."
@echo "Stopping dotnet servers... this is here to speed up CI because if this target is run with -j it will stay open until it shutdown."
@dotnet build-server shutdown
@echo "[`date +%H:%M:%S`] Dotnet build servers stopped"

$(BUILD_SERVER_TARGETS): build-%:
@if [ -f $*/Makefile ]; then \
echo "Building server in $*..."; \
$(MAKE) -C $* build-server; \
echo "[`date +%H:%M:%S`] Building server in $*..." && \
$(MAKE) -C $* build-server && \
echo "[`date +%H:%M:%S`] Server $* built successfully"; \
else \
echo "❌ Error: no Makefile found in $*"; \
exit 1; \
Expand All @@ -44,18 +47,17 @@ start-servers:
$(MAKE) -C $$dir wait-for-server; \
done

# Start servers sequentially (no parallel execution)
start-all-servers:
@$(MAKE) MAKEFLAGS= $(START_SERVER_TARGETS)
@$(MAKE) $(START_SERVER_TARGETS)

$(START_SERVER_TARGETS): start-%:
@if [ -f $*/Makefile ]; then \
echo "Starting server in $*..."; \
echo "Starting server in $*..." && \
$(MAKE) -C $* start-server; \
else \
echo "❌ Error: no Makefile found in $*"; \
exit 1; \
fi;
fi

wait-all-servers:
@echo "Waiting for all servers to be ready..."
Expand All @@ -64,12 +66,12 @@ wait-all-servers:

$(WAIT_SERVER_TARGETS): wait-%:
@if [ -f $*/Makefile ]; then \
echo "Waiting server in $*..."; \
echo "Waiting server in $*..." && \
$(MAKE) -C $* wait-for-server; \
else \
echo "❌ Error: no Makefile found in $*"; \
exit 1; \
fi;
fi


# Run the Java tests
Expand All @@ -82,7 +84,9 @@ run-tests:
AWS_SECRET_ACCESS_KEY="$$AWS_SECRET_ACCESS_KEY" \
AWS_SESSION_TOKEN="$$AWS_SESSION_TOKEN" \
AWS_REGION="us-west-2" \
./gradlew --build-cache --info --parallel integ -Dtest.filter.servers="$(FILTER)"
./gradlew --build-cache --info --parallel --no-daemon integ \
$(if $(TEST),--tests "$(TEST)",) \
-Dtest.filter.servers="$(FILTER)"
@echo "Tests completed successfully"

# Stop the servers
Expand Down
6 changes: 3 additions & 3 deletions test-server/cpp-v2-server/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ build/s3ec-server:

build-server: | build/s3ec-server
@echo "Building Cpp V2 server..."
cd build && make
cd build && $(MAKE)

start-server:
@echo "Starting Cpp V2 server..."
Expand All @@ -20,7 +20,7 @@ start-server:
AWS_SECRET_ACCESS_KEY="$$AWS_SECRET_ACCESS_KEY" \
AWS_SESSION_TOKEN="$$AWS_SESSION_TOKEN" \
AWS_REGION="us-west-2" \
./s3ec-server > server.log 2>&1 & echo $$! > ../$(PID_FILE)
./s3ec-server > ../server.log 2>&1 & echo $$! > ../$(PID_FILE)
@echo "Cpp V2 server starting..."

stop-server:
Expand All @@ -31,7 +31,7 @@ stop-server:
kill -9 $$(cat $(PID_FILE)) 2>/dev/null || true; \
rm -f $(PID_FILE); \
fi
@rm -f build/server.log
@rm -f server.log
@echo "Server stopped"

wait-for-server:
Expand Down
Loading
Loading