From 11976f62f2ef54ef9dafdb2460efce34388ed44f Mon Sep 17 00:00:00 2001 From: Xavier Saliniere Date: Mon, 1 Sep 2025 21:43:49 -0400 Subject: [PATCH 1/5] ci: pins new ipfs hash on 4EVERLAND --- .github/workflows/ci.yml | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 907558b..d87e4fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -127,8 +127,6 @@ jobs: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}- - name: Build and export - env: - IPNS_HASH: ${{ secrets.IPNS_HASH }} run: pnpm export - name: Upload build artifacts @@ -168,17 +166,35 @@ jobs: echo "Deploy response: $RESPONSE" - # Extract info from response - HASH=$(echo "$RESPONSE" | jq -r '.hash') + IPFS_HASH=$(echo "$RESPONSE" | jq -r '.hash') IPNS_HASH=$(echo "$RESPONSE" | jq -r '.ipns_hash') SUCCESS=$(echo "$RESPONSE" | jq -r '.success') if [ "$SUCCESS" = "true" ]; then echo "✅ Deploy successful!" - echo "IPFS Hash: $HASH" + echo "IPFS Hash: $IPFS_HASH" echo "IPNS Name: $IPNS_HASH" echo "Site available at: https://nipsys.eth.limo" else echo "❌ Deploy failed" exit 1 fi + + echo "Pinning to 4EVERLand" + LIST_RESP=$(curl --request GET \ + --url https://api.4everland.dev/pins \ + --header 'authorization: Bearer ${{ secrets.PIN_4EVER_TOKEN }}') + + REQUESTID=$(echo "$LIST_RESP" | jq '.results[] | select(.pin.name == "site") | .requestid') + + PIN_RESP=$(curl --request POST \ + --url https://api.4everland.dev/pins/$REQUESTID \ + --header 'authorization: Bearer ${{ secrets.PIN_4EVER_TOKEN }}' \ + --header 'content-type: application/json' \ + --data '{ + "cid": $IPFS_HASH, + "name": "site" + }') + + PIN_STATUS=$(echo "$PIN_RESP" | jq -r '.status') + echo "PINNING STATUS: $PIN_STATUS" From 32de975fc0bb715ff2ad5eb98a15a057328bc4e9 Mon Sep 17 00:00:00 2001 From: Xavier Saliniere Date: Mon, 1 Sep 2025 21:44:47 -0400 Subject: [PATCH 2/5] docs: improve readme status section --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8c1d9b2..fc1a12d 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,11 @@ Licensed under GPL-3.0. ## status -Still a work in progress, but it is live on IPFS: +Still a work in progress, but it already lives on the InterPlanerary FileSystem: -- IPNS: `k2k4r8ng8uzrtqb5ham8kao889m8qezu96z4w3lpinyqghum43veb6n3` -- Through gateway: https://nipsys.eth.limo +- IPNS Hash: `k2k4r8ng8uzrtqb5ham8kao889m8qezu96z4w3lpinyqghum43veb6n3` +- [Access through eth.limo](https://nipsys.eth.limo) +- [Access through dweb.link](https://k2k4r8ng8uzrtqb5ham8kao889m8qezu96z4w3lpinyqghum43veb6n3.ipns.dweb.link/) ## current state From 83885c7c614993218b8158a138f449cd78316cfd Mon Sep 17 00:00:00 2001 From: Xavier Saliniere Date: Mon, 1 Sep 2025 21:49:37 -0400 Subject: [PATCH 3/5] chore: update favicon --- src/app/favicon.ico | Bin 15086 -> 9662 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/app/favicon.ico b/src/app/favicon.ico index dc56a36594e858aeda41bd53e4398c494ab2bd3d..b1417d641107f1b00b533afe99d911dac1325ff6 100644 GIT binary patch literal 9662 zcmcgy33yahmX7saz0|%hsmfB7N~Nk⪰f-}eAn$)1n^fdmK%5FjBy5Rk1|4WJ?j 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 Date: Mon, 1 Sep 2025 21:52:02 -0400 Subject: [PATCH 4/5] typo: fix readme typo on interplanetary --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fc1a12d..385f750 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Licensed under GPL-3.0. ## status -Still a work in progress, but it already lives on the InterPlanerary FileSystem: +Still a work in progress, but it already lives on the InterPlanetary FileSystem: - IPNS Hash: `k2k4r8ng8uzrtqb5ham8kao889m8qezu96z4w3lpinyqghum43veb6n3` - [Access through eth.limo](https://nipsys.eth.limo) From 695b746c4852e38d0c0d79929611a5d73e2a1589 Mon Sep 17 00:00:00 2001 From: Xavier Saliniere Date: Mon, 1 Sep 2025 21:54:58 -0400 Subject: [PATCH 5/5] ci: improve pinning process --- .github/workflows/ci.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d87e4fe..255e578 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -154,6 +154,7 @@ jobs: env: IPFS_DEPLOY_URL: https://ipfs.nipsys.dev/api/deploy IPFS_API_KEY: ${{ secrets.IPFS_API_KEY }} + PIN_4EVER_TOKEN: ${{ secrets.PIN_4EVER_TOKEN }} run: | # Create tar.gz of the site tar -czf site.tar.gz -C out . @@ -180,19 +181,26 @@ jobs: exit 1 fi + # Pinning attempt on 3rd party gateways echo "Pinning to 4EVERLand" + LIST_RESP=$(curl --request GET \ --url https://api.4everland.dev/pins \ - --header 'authorization: Bearer ${{ secrets.PIN_4EVER_TOKEN }}') + --header "authorization: Bearer $PIN_4EVER_TOKEN") + + REQUESTID=$(echo "$LIST_RESP" | jq -r '.results[] | select(.pin.name == "site") | .requestid') - REQUESTID=$(echo "$LIST_RESP" | jq '.results[] | select(.pin.name == "site") | .requestid') + if [ -z "$REQUESTID" ]; then + echo "⚠️ WARNING: No matching pin found for name 'site' in 4EVERLand. Skipping pin request." + exit 0 + fi PIN_RESP=$(curl --request POST \ --url https://api.4everland.dev/pins/$REQUESTID \ - --header 'authorization: Bearer ${{ secrets.PIN_4EVER_TOKEN }}' \ - --header 'content-type: application/json' \ + --header "authorization: Bearer $PIN_4EVER_TOKEN" \ + --header "content-type: application/json" \ --data '{ - "cid": $IPFS_HASH, + "cid": "'$IPFS_HASH'", "name": "site" }')