-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test(gateway-conformance): separate out steps for gateway-over-libp2p…
… testing
- Loading branch information
1 parent
8587eb9
commit a4f8b61
Showing
1 changed file
with
61 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -58,7 +58,7 @@ jobs: | |
} | ||
} | ||
run: | | ||
./ipfs init | ||
./ipfs init --profile=test | ||
./ipfs config --json Gateway.PublicGateways "$GATEWAY_PUBLIC_GATEWAYS" | ||
./ipfs config --json Experimental.Libp2pStreamMounting true | ||
./ipfs config --json Experimental.GatewayOverLibp2p true | ||
|
@@ -87,7 +87,28 @@ jobs: | |
# 5. Start the kubo-gateway | ||
- name: Start kubo-gateway | ||
run: | | ||
./ipfs daemon --offline & | ||
./ipfs daemon & | ||
endpoint="http://127.0.0.1:5001/api/v0/version" | ||
max_retries=5 | ||
retry_interval=1 | ||
check_endpoint() { | ||
curl -X POST --silent --fail "$endpoint" > /dev/null | ||
return $? | ||
} | ||
retries=0 | ||
while ! check_endpoint; do | ||
retries=$((retries+1)) | ||
if [ $retries -ge $max_retries ]; then | ||
echo "daemon took too long to start" | ||
exit 1 | ||
fi | ||
sleep $retry_interval | ||
done | ||
echo "daemon started and ready to receive API calls" | ||
working-directory: kubo-gateway/cmd/ipfs | ||
|
||
# 6. Run the gateway-conformance tests | ||
|
@@ -123,23 +144,54 @@ jobs: | |
env: | ||
IPFS_PATH: "~/.kubo-p2p-proxy" | ||
run: | | ||
./ipfs init --profile=randomports | ||
./ipfs init --profile=test | ||
./ipfs config --json Experimental.Libp2pStreamMounting true | ||
./ipfs config Addresses.Gateway "/ip4/127.0.0.1/tcp/8081" | ||
./ipfs config Addresses.API "/ip4/127.0.0.1/tcp/5002" | ||
working-directory: kubo-gateway/cmd/ipfs | ||
|
||
# 9. Start the kubo http-p2p-proxy and setup the forwarder | ||
- name: Start kubo-gateway | ||
# 9. Start the kubo http-p2p-proxy | ||
- name: Start kubo http-p2p-proxy | ||
env: | ||
IPFS_PATH: "~/.kubo-p2p-proxy" | ||
run: | | ||
gatewayNodeId=$(./ipfs id -f="<id>" --api=/ip4/127.0.0.1/tcp/5001) | ||
./ipfs daemon --offline & | ||
./ipfs p2p forward --allow-custom-protocol /http/1.1 /ip4/127.0.0.1/tcp/8082 /p2p/$gatewayNodeId | ||
./ipfs daemon & | ||
endpoint="http://127.0.0.1:5002/api/v0/version" | ||
max_retries=5 | ||
retry_interval=1 | ||
check_endpoint() { | ||
curl -X POST --silent --fail "$endpoint" > /dev/null | ||
return $? | ||
} | ||
retries=0 | ||
while ! check_endpoint; do | ||
retries=$((retries+1)) | ||
if [ $retries -ge $max_retries ]; then | ||
echo "daemon took too long to start" | ||
exit 1 | ||
fi | ||
sleep $retry_interval | ||
done | ||
echo "daemon started and ready to receive API calls" | ||
working-directory: kubo-gateway/cmd/ipfs | ||
|
||
# 10. Start forwarding data from the http-p2p-proxy to the node serving the Gateway API over libp2p | ||
- name: Start http-over-libp2p forwarding proxy | ||
run: | | ||
gatewayNodeId=$(./ipfs --api=/ip4/127.0.0.1/tcp/5001 id -f="<id>") | ||
echo gatewayNodeId $gatewayNodeId | ||
proxyNodeId=$(./ipfs --api=/ip4/127.0.0.1/tcp/5002 id -f="<id>") | ||
echo proxyNodeId $proxyNodeId | ||
./ipfs --api=/ip4/127.0.0.1/tcp/5002 swarm connect $(./ipfs --api=/ip4/127.0.0.1/tcp/5001 id -f="<id>") | ||
./ipfs --api=/ip4/127.0.0.1/tcp/5002 p2p forward --allow-custom-protocol /http/1.1 /ip4/127.0.0.1/tcp/8082 /p2p/$gatewayNodeId | ||
working-directory: kubo-gateway/cmd/ipfs | ||
|
||
# 10. Run the gateway-conformance tests | ||
# 11. Run the gateway-conformance tests over libp2p | ||
- name: Run gateway-conformance tests over libp2p | ||
uses: ipfs/gateway-conformance/.github/actions/[email protected] | ||
with: | ||
|