Skip to content

Commit e121fdb

Browse files
authored
Merging ccv-directory into feat/dev3.0-no-landing (#264)
* Merging ccv-directory into feat/dev3.0-no-landing * Remove unrelated CLI templates documentation and layout files; update template index metadata and access instructions. * feat: add documentation for managing CLI template sources
1 parent 7578179 commit e121fdb

File tree

269 files changed

+54860
-22287
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

269 files changed

+54860
-22287
lines changed

.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ ALGOLIA_WRITE_API_KEY=
33
ALGOLIA_INDEX_NAME=docs-test
44
PUBLIC_ALGOLIA_SEARCH_APP_ID=
55
PUBLIC_ALGOLIA_SEARCH_PUBLIC_API_KEY=
6+
CCIP_GRAPHQL_ENDPOINT=
7+
CCIP_GRAPHQL_API_KEY=

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,16 @@ updates:
103103
- "@types/*"
104104
- "@rollup/plugin-yaml"
105105

106+
# GraphQL
107+
graphql:
108+
patterns:
109+
- "graphql"
110+
- "graphql-request"
111+
- "@graphql-codegen*"
112+
- "@graphql-typed-document-node*"
113+
- "lru-cache"
114+
- "p-limit"
115+
106116
# Documentation & API
107117
documentation:
108118
patterns:

.github/scripts/data/baseline.json

Lines changed: 150 additions & 1 deletion
Large diffs are not rendered by default.

.github/scripts/data/detect-data.sh

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,12 @@ node <<EOF
154154
155155
// === data-streams networks
156156
const STREAMS_NETWORKS = [
157-
"0g", "apechain", "aptos", "arbitrum", "avalanche", "base", "berachain", "bitlayer", "blast",
158-
"bnb-chain", "bob", "botanix", "celo", "ethereum", "gnosis-chain", "gravity", "hashkey", "hedera", "hyperliquid", "injective",
159-
"ink", "jovay", "katana", "lens", "linea", "mantle", "metis", "monad", "opbnb", "optimism", "polygon", "pharos", "plasma", "ronin",
160-
"scroll", "shibarium", "sei", "soneium", "sonic",
161-
"solana", "taiko", "unichain", "worldchain", "zksync"
157+
"0g", "apechain", "adi", "aptos", "arbitrum", "arc", "avalanche", "base", "berachain", "bitlayer", "blast",
158+
"bnb-chain", "bob", "botanix", "celo", "dogeos", "ethereum", "giwa", "gnosis-chain", "gravity", "hashkey",
159+
"hedera", "hyperliquid", "injective", "ink", "jovay", "katana", "lens", "linea", "mantle",
160+
"metis", "monad", "opbnb", "optimism", "polygon", "perennial", "pharos", "plasma", "ronin",
161+
"robinhood", "scroll", "shibarium", "sei", "seismic", "soneium", "sonic", "solana", "stable",
162+
"xlayer","taiko", "unichain", "worldchain", "zksync"
162163
];
163164
164165
// === Build relatedTokens for FEEDS
@@ -178,6 +179,7 @@ node <<EOF
178179
179180
// === Build relatedTokens for STREAMS
180181
function buildDataStreamTokens(streamItems) {
182+
const seen = new Set();
181183
return streamItems.map(i => {
182184
const baseLower = i.baseAsset.toLowerCase();
183185
return {
@@ -187,6 +189,13 @@ node <<EOF
187189
url: i.url,
188190
iconUrl: \`https://d2f70xi62kby8n.cloudfront.net/tokens/\${baseLower}.webp\`
189191
};
192+
}).filter(t => {
193+
// Deduplicate by URL — equity streams have multiple hour-variant feeds
194+
// (regular/overnight/extended) that now each produce distinct URLs, but
195+
// guard against any edge cases where URL generation still produces duplicates.
196+
if (seen.has(t.url)) return false;
197+
seen.add(t.url);
198+
return true;
190199
}).sort((a, b) => a.assetName.localeCompare(b.assetName));
191200
}
192201

.github/workflows/chainlink-automation-config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
- if: ${{ steps.compare_configs.outputs.createPR }}
3636
id: chainlink_automation_config_pr
3737
name: Create pull request
38-
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7.0.11
38+
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
3939
with:
4040
branch: 'chainlink_automation_config/pr-${{ steps.compare_configs.outputs.timestamp }}'
4141
commit-message: 'chainlink automation config updated'

.github/workflows/chains-metadata.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
- if: ${{ steps.compare_chains.outputs.createPR }}
3636
id: chains_metadata_pr
3737
name: Create pull request
38-
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7.0.11
38+
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
3939
with:
4040
branch: 'chains_metadata/pr-${{ steps.compare_chains.outputs.timestamp }}'
4141
commit-message: 'chains metadata updated'

.github/workflows/detect-new-data.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ jobs:
8181

8282
# Step 3: Restore cached node_modules from setup job
8383
- name: Restore node_modules
84-
uses: actions/cache@v4
84+
uses: actions/cache@v4
8585
with:
8686
path: |
8787
node_modules
@@ -135,7 +135,7 @@ jobs:
135135
# Step 10: Create a pull request if new data items were found
136136
- name: Commit & Create Pull Request
137137
if: steps.detect_data.outputs.new_data_found == 'true'
138-
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7.0.11
138+
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
139139
with:
140140
token: ${{ secrets.GITHUB_TOKEN }}
141141
commit-message: "Data: Update changelog for new data items"
@@ -152,7 +152,7 @@ jobs:
152152
# Step 11: Upload artifacts for debugging and record-keeping
153153
- name: Capture output artifacts
154154
if: always()
155-
uses: actions/upload-artifact@v5
155+
uses: actions/upload-artifact@v7
156156
with:
157157
name: data-detection-${{ github.run_id }}
158158
path: |

.github/workflows/detect-new-tokens.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ jobs:
143143
# Create PR for new tokens
144144
- name: Create PR with new token information
145145
if: steps.check_tokens.outputs.new_tokens_found == 'true'
146-
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7.0.11
146+
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
147147
with:
148148
token: ${{ secrets.GITHUB_TOKEN }}
149149
commit-message: "CCT: Update changelog with new tokens"
@@ -160,7 +160,7 @@ jobs:
160160
# Capture output artifacts (always runs, even if previous steps failed)
161161
- name: Capture output files
162162
if: always()
163-
uses: actions/upload-artifact@v5
163+
uses: actions/upload-artifact@v7
164164
with:
165165
name: token-detection-artifacts-${{ github.run_id }}
166166
path: |

.github/workflows/test.yml

Lines changed: 80 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,39 @@ permissions:
1717
checks: write # Required for test results
1818

1919
jobs:
20+
# Detect which file groups changed so downstream jobs can skip themselves
21+
changes:
22+
runs-on: ubuntu-latest
23+
outputs:
24+
solidity: ${{ steps.filter.outputs.solidity }}
25+
typescript: ${{ steps.filter.outputs.typescript }}
26+
content: ${{ steps.filter.outputs.content }}
27+
any_non_solidity: ${{ steps.filter.outputs.any_non_solidity }}
28+
steps:
29+
- uses: actions/checkout@v6
30+
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
31+
id: filter
32+
with:
33+
filters: |
34+
solidity:
35+
- 'public/samples/**/*.sol'
36+
- 'foundry.toml'
37+
typescript:
38+
- '**/*.ts'
39+
- '**/*.tsx'
40+
- '**/*.astro'
41+
- 'tsconfig*.json'
42+
content:
43+
- 'src/content/**'
44+
- 'src/components/**'
45+
- 'src/pages/**'
46+
- 'src/layouts/**'
47+
- 'astro.config.*'
48+
any_non_solidity:
49+
- '**'
50+
- '!public/samples/**/*.sol'
51+
- '!foundry.toml'
52+
2053
# Setup job to install and cache dependencies
2154
setup:
2255
runs-on: ubuntu-latest
@@ -47,7 +80,8 @@ jobs:
4780
4881
# Job 1: Check Solidity Compilation and Solhint
4982
solidity:
50-
needs: setup
83+
needs: [setup, changes]
84+
if: needs.changes.outputs.solidity == 'true'
5185
runs-on: ubuntu-latest
5286
steps:
5387
- name: Checkout Repo
@@ -61,7 +95,7 @@ jobs:
6195
cache-dependency-path: '**/package-lock.json'
6296

6397
- name: Install Foundry
64-
uses: foundry-rs/foundry-toolchain@50d5a8956f2e319df19e6b57539d7e2acb9f8c1e # v1.5
98+
uses: foundry-rs/foundry-toolchain@8789b3e21e6c11b2697f5eb56eddae542f746c10 # v1.5
6599
with:
66100
version: stable
67101
cache: false
@@ -94,7 +128,8 @@ jobs:
94128

95129
# Job 2: Check ESLint
96130
eslint:
97-
needs: setup
131+
needs: [setup, changes]
132+
if: needs.changes.outputs.any_non_solidity == 'true'
98133
runs-on: ubuntu-latest
99134
steps:
100135
- name: Checkout Repo
@@ -133,7 +168,8 @@ jobs:
133168
134169
# Job 3: Check Internal Links
135170
linkcheck-internal:
136-
needs: setup
171+
needs: [setup, changes]
172+
if: needs.changes.outputs.content == 'true'
137173
runs-on: ubuntu-latest
138174
permissions:
139175
contents: read
@@ -168,7 +204,7 @@ jobs:
168204
NODE_OPTIONS: '--max-old-space-size=8192'
169205

170206
- name: Check Internal Links
171-
uses: lycheeverse/lychee-action@a8c4c7cb88f0c7386610c35eb25108e448569cb0 # v2.7.0
207+
uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # v2.8.0
172208
with:
173209
args: >-
174210
--root-dir $GITHUB_WORKSPACE/.vercel/output/static
@@ -180,7 +216,8 @@ jobs:
180216

181217
# Job 4: Check Types
182218
typecheck:
183-
needs: [setup]
219+
needs: [setup, changes]
220+
if: needs.changes.outputs.typescript == 'true'
184221
runs-on: ubuntu-latest
185222
steps:
186223
- name: Checkout Repo
@@ -219,7 +256,8 @@ jobs:
219256
220257
# Job 5: Run Jest Tests
221258
jest:
222-
needs: [setup]
259+
needs: [setup, changes]
260+
if: needs.changes.outputs.typescript == 'true'
223261
runs-on: ubuntu-latest
224262

225263
steps:
@@ -252,8 +290,41 @@ jobs:
252290

253291
- name: Upload Test Coverage
254292
if: always()
255-
uses: actions/upload-artifact@v5
293+
uses: actions/upload-artifact@v7
256294
with:
257295
name: coverage-report-node-${{ env.NODE_VERSION }}
258296
path: coverage/
259-
retention-days: 30
297+
retention-days: 30
298+
299+
# Job 6: Validate LLM files are present and well-formed
300+
validate-llms:
301+
needs: [setup, changes]
302+
if: needs.changes.outputs.content == 'true'
303+
runs-on: ubuntu-latest
304+
steps:
305+
- name: Checkout Repo
306+
uses: actions/checkout@v6
307+
308+
- name: Setup Node.js
309+
uses: actions/setup-node@v6
310+
with:
311+
node-version: ${{ env.NODE_VERSION }}
312+
cache: 'npm'
313+
cache-dependency-path: '**/package-lock.json'
314+
315+
- name: Restore node_modules
316+
uses: actions/cache/restore@v4
317+
continue-on-error: true
318+
with:
319+
path: node_modules
320+
key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }}
321+
322+
- name: Ensure Dependencies
323+
run: |
324+
if [ ! -d "node_modules" ]; then
325+
echo "node_modules not found, installing dependencies..."
326+
npm ci --prefer-offline --no-audit
327+
fi
328+
329+
- name: Validate LLM files
330+
run: npm run check:llms

.husky/pre-commit

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11

22
npx lint-staged
3+
npm run generate:llms
4+
git add 'src/content/**/llms-full*.txt'

0 commit comments

Comments
 (0)