Skip to content

Commit a607b4c

Browse files
authored
Merge pull request #586 from api3dao/main
Prepare release
2 parents 2e1666c + 4eccad6 commit a607b4c

4 files changed

Lines changed: 26 additions & 21 deletions

File tree

.github/workflows/main.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- name: Setup Node
3131
uses: actions/setup-node@v6
3232
with:
33-
node-version: 22
33+
node-version: 24
3434
cache: 'pnpm'
3535
- name: Install Dependencies
3636
run: pnpm install
@@ -51,7 +51,7 @@ jobs:
5151
- name: Setup Node
5252
uses: actions/setup-node@v6
5353
with:
54-
node-version: 22
54+
node-version: 24
5555
cache: 'pnpm'
5656
- name: Install Dependencies
5757
run: |
@@ -67,10 +67,10 @@ jobs:
6767
node-version: 16
6868
- name: Bootstrap DAO contracts
6969
run: cd dao-contracts && npm run bootstrap
70-
- name: Restore Node 22
70+
- name: Restore to newer version of Node
7171
uses: actions/setup-node@v6
7272
with:
73-
node-version: 22
73+
node-version: 24
7474
- name: Cypress tests
7575
env:
7676
REACT_APP_NODE_ENV: development

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This Dockerfile builds a mainnet version for Api3 DAO dashboard
22

3-
FROM node:22-alpine AS builder
3+
FROM node:24-alpine AS builder
44
ARG REACT_APP_MAINNET_PROVIDER_URL
55
# The mainnet provider URL is required at build time
66
ENV REACT_APP_MAINNET_PROVIDER_URL=$REACT_APP_MAINNET_PROVIDER_URL

dev-README.md

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,23 +46,28 @@ and merge. Afterwards, proceed to create a manual IPFS deployment. Full process:
4646
2. Run `git checkout production` to check out the production branch locally
4747
3. Run `git pull` to pull the latest changes
4848
4. Populate `.env.production.local` with production secrets
49-
5. Make sure to use Node version 18
50-
6. Run `pnpm install` to install the latest dependencies
51-
7. Run `pnpm build` to create the production build
52-
8. Switch the Node version to at least 22
53-
9. Run `PINATA_JWT=<JWT> pnpm upload-build-to-pinata` to upload the build folder to Pinata
54-
10. Run `docker run --rm -v "$(pwd)/build:/build" ipfs/kubo add --only-hash --recursive /build` to verify the CID hash
55-
of the build folder with the deployed hash on Pinata
56-
11. Verify the uploaded page by clicking on the uploaded "build" row on the UI (differentiated by CID if there are
57-
multiple) and make sure it loads - the fonts may look strange, but that's only because of security policies defined
58-
by the Pinata preview site and they will work without issues when used via ENS
59-
12. Refer to the "Updating the name servers" section below to update the ENS name
49+
5. Run `pnpm install` to install the latest dependencies
50+
6. Run `pnpm build` to create the production build
51+
7. Run `PINATA_JWT=<JWT> pnpm upload-build-to-pinata` to upload the build folder to Pinata
52+
8. Run `docker run --rm -v "$(pwd)/build:/build" ipfs/kubo add --only-hash --recursive /build` to verify the CID hash of
53+
the build folder with the deployed hash on Pinata
54+
9. Verify the uploaded page by clicking on the uploaded "build" row on the UI (differentiated by CID if there are
55+
multiple) and make sure it loads - the fonts may look strange, but that's only because of security policies defined
56+
by the Pinata preview site and they will work without issues when used via ENS
57+
10. Refer to the "Updating the name servers" section below to update the ENS name
6058

6159
#### Updating the name servers
6260

6361
The primary way to access the DAO dashboard is through the `api3.eth` ENS name, which points directly to the IPFS hash.
6462
Then, the user can either use `https://api3.eth.limo` or connect to mainnet on their MetaMask (or use a browser which
65-
supports resolving .eth domains) and visit `api3.eth/`.
63+
supports resolving .eth domains) and visit `api3.eth/`. How this works is
64+
[documented on IPFS](https://docs.ipfs.io/how-to/websites-on-ipfs/link-a-domain/#ethereum-naming-service-ens).
6665

67-
After pushing to the production branch, [verify the IPFS CID](./README.md#verifying-the-ipfs-cid). Then,
68-
[point `api3.eth` to the new CID](https://docs.ipfs.io/how-to/websites-on-ipfs/link-a-domain/#ethereum-naming-service-ens).
66+
Assuming you have a v1 CID (`ipfs://bafy...`) and access to the api3.eth owner wallet, you can update the `api3.eth` to
67+
the new version by following these steps:
68+
69+
1. Connect to the ENS application with the owner wallet of the api3.eth domain.
70+
2. Go to api3.eth "Records" page and edit the "Content Hash".
71+
3. Change the value to the new CID. Note, that the ENS app will also handle CID v0 and convert under the hood, but it's
72+
better to use the CID v1 directly.
73+
4. Execute the TX. Note that it may take a bit of time until `https://api3.eth.limo` is updated.

dev-scripts/upload-build-to-pinata.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ const FOLDER_PATH = './build';
55

66
const uploadBuildToPinata = async () => {
77
const currentVersion = parseInt(process.versions.node.split('.')[0], 10);
8-
if (currentVersion < 22) {
9-
console.error(`❌ Error: Node.js version 22+ is required. You are running ${process.version}.`);
8+
if (currentVersion < 24) {
9+
console.error(`❌ Error: Node.js version 24+ is required. You are running ${process.version}.`);
1010
process.exit(1);
1111
}
1212

0 commit comments

Comments
 (0)