Skip to content

Commit 4374978

Browse files
Merge branch 'ArmDeveloperEcosystem:main' into deepseek
2 parents ce3bbcb + 6e65fe1 commit 4374978

File tree

260 files changed

+5765
-2175
lines changed

Some content is hidden

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

260 files changed

+5765
-2175
lines changed

.github/workflows/test-lp.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,28 @@ jobs:
88
uses: actions/checkout@v4
99
with:
1010
ref: ${{ steps.vars.outputs.branch-name }}
11+
- name: Run hugo command to test site builds
12+
run: |
13+
sudo apt-get install -y hugo
14+
hugo
1115
- name: Get all changed markdown files
1216
id: changed-markdown-files
13-
uses: step-security/changed-files@v45
17+
uses: tj-actions/changed-files@v46
1418
with:
1519
files: |
1620
**.md
21+
- name: Check for capital letters or spaces in content directory
22+
run: |
23+
echo "Checking for capital letters or spaces in content directory paths..."
24+
25+
git diff --name-only origin/${{ github.base_ref }}...HEAD |
26+
grep '^content/' |
27+
grep -E '[A-Z]|[[:space:]]' && {
28+
echo "❌ Found invalid file or directory names with capital letters or spaces in 'content/'"
29+
exit 1
30+
}
31+
32+
echo "✅ No capital letters or spaces found in 'content/' paths."
1733
- name: Install dependencies
1834
if: steps.changed-markdown-files.outputs.any_changed == 'true'
1935
run: pip install -r tools/requirements.txt
@@ -22,7 +38,7 @@ jobs:
2238
if: steps.changed-markdown-files.outputs.any_changed == 'true'
2339
# Run the test suite
2440
run: |
25-
set -o pipefail; ./tools/test_lp.sh ${{ steps.changed-markdown-files.outputs.all_changed_files }} 2>&1 | tee test-lp-output.txt
41+
set -o pipefail; ./tools/test_lp.sh ${{ steps.changed-markdown-files.outputs.all_changed_files }} 2>&1 | tee test-lp-output.txt
2642
- name: Parse test suite errors
2743
id: test-suite-state
2844
if: success()
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
name: Update Roadmap Dates
2+
3+
on:
4+
pull_request:
5+
types: [labeled]
6+
7+
jobs:
8+
update-roadmap-dates:
9+
runs-on: ubuntu-latest
10+
if: |
11+
github.event.label.name == 'awaiting_tech_review' ||
12+
github.event.label.name == 'publish'
13+
14+
permissions:
15+
contents: read
16+
pull-requests: read
17+
repository-projects: write
18+
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v3
22+
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v3
25+
with:
26+
node-version: '18.x'
27+
28+
- name: Install Octokit
29+
run: npm install @octokit/rest
30+
31+
- name: Debug Token
32+
run: echo "Token is set"
33+
env:
34+
PROJECT_TOKEN: ${{ secrets.PROJECT_TOKEN }}
35+
36+
- name: Update Project Board Dates
37+
uses: actions/github-script@v6
38+
with:
39+
PROJECT_TOKEN: ${{ secrets.PROJECT_TOKEN }}
40+
script: |
41+
const { Octokit } = require('@octokit/rest');
42+
const octokit = new Octokit({ auth:process.env.GITHUB_TOKEN });
43+
44+
const projectNumber = 4; // Your project number
45+
const orgName = 'ArmDeveloperEcosystem';
46+
const prNumber = context.payload.pull_request.number;
47+
const labelName = context.payload.label.name;
48+
49+
async function getProjectItemForPR() {
50+
// Get the project ID
51+
const projectQuery = `
52+
query {
53+
organization(login:"${orgName}") {
54+
projectV2(number:${projectNumber}) {
55+
id
56+
}
57+
}
58+
}
59+
`;
60+
61+
const projectResponse = await octokit.graphql(projectQuery);
62+
const projectId = projectResponse.organization.projectV2.id;
63+
64+
// Find the PR in the project
65+
const prQuery = `
66+
query {
67+
organization(login:"${orgName}") {
68+
projectV2(number:${projectNumber}) {
69+
items(first:100) {
70+
nodes {
71+
id
72+
content {
73+
... on PullRequest {
74+
number
75+
repository {
76+
name
77+
}
78+
}
79+
}
80+
}
81+
}
82+
}
83+
}
84+
}
85+
`;
86+
87+
const prResponse = await octokit.graphql(prQuery);
88+
const items = prResponse.organization.projectV2.items.nodes;
89+
90+
// Find the item that corresponds to this PR
91+
const item = items.find(item =>
92+
item.content &&
93+
item.content.number === prNumber &&
94+
item.content.repository.name === context.repo.repo
95+
);
96+
97+
return { projectId, itemId:item ? item.id:null };
98+
}
99+
100+
async function getFieldId(projectId, fieldName) {
101+
const fieldsQuery = `
102+
query {
103+
node(id:"${projectId}") {
104+
... on ProjectV2 {
105+
fields(first:20) {
106+
nodes {
107+
... on ProjectV2Field {
108+
id
109+
name
110+
}
111+
... on ProjectV2IterationField {
112+
id
113+
name
114+
}
115+
... on ProjectV2SingleSelectField {
116+
id
117+
name
118+
}
119+
... on ProjectV2DateField {
120+
id
121+
name
122+
}
123+
}
124+
}
125+
}
126+
}
127+
}
128+
`;
129+
130+
const fieldsResponse = await octokit.graphql(fieldsQuery);
131+
const fields = fieldsResponse.node.fields.nodes;
132+
const field = fields.find(f => f.name === fieldName);
133+
134+
return field ? field.id :null;
135+
}
136+
137+
async function updateDateField(projectId, itemId, fieldId, date) {
138+
const mutation = `
139+
mutation {
140+
updateProjectV2ItemFieldValue(
141+
input:{
142+
projectId:"${projectId}"
143+
itemId:"${itemId}"
144+
fieldId:"${fieldId}"
145+
value:{
146+
date:"${date}"
147+
}
148+
}
149+
) {
150+
projectV2Item {
151+
id
152+
}
153+
}
154+
}
155+
`;
156+
157+
return await octokit.graphql(mutation);
158+
}
159+
160+
async function main() {
161+
try {
162+
const { projectId, itemId } = await getProjectItemForPR();
163+
if (!itemId) {
164+
console.log('PR not found in project board');
165+
return;
166+
}
167+
168+
const today = new Date().toISOString().split('T')[0]; // YYYY-MM-DD format
169+
170+
if (labelName === 'awaiting_tech_review') {
171+
const startDateFieldId = await getFieldId(projectId, 'Start Date');
172+
if (startDateFieldId) {
173+
await updateDateField(projectId, itemId, startDateFieldId, today);
174+
console.log('Updated Start Date to', today);
175+
} else {
176+
console.log('Start Date field not found');
177+
}
178+
} else if (labelName === 'publish') {
179+
const publishDateFieldId = await getFieldId(projectId, 'Publish Date');
180+
if (publishDateFieldId) {
181+
await updateDateField(projectId, itemId, publishDateFieldId, today);
182+
console.log('Updated Publish Date to', today);
183+
} else {
184+
console.log('Publish Date field not found');
185+
}
186+
}
187+
} catch (error) {
188+
console.error('Error updating project board:', error);
189+
core.setFailed(`Error updating project board:${error.message}`);
190+
}
191+
}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,5 @@ z_local_saved/
2121
*.iml
2222
*.xml
2323

24+
# CTags symbol index
25+
tags

.wordlist.txt

Lines changed: 94 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3879,7 +3879,6 @@ DLRMv
38793879
DeepSeek
38803880
Geremy
38813881
MERCHANTABILITY
3882-
MLPerf’s
38833882
MoE
38843883
NONINFRINGEMENT
38853884
NaN
@@ -3916,4 +3915,97 @@ truncations
39163915
ulp
39173916
unmangled
39183917
unportable
3919-
zeropoint
3918+
zeropoint
3919+
AO
3920+
Autoware
3921+
CCC
3922+
ECUs
3923+
HTTPs
3924+
Hawksbill
3925+
HelloworldPublisher
3926+
HelloworldSubscriber
3927+
IMU
3928+
Jalisco
3929+
LiDAR
3930+
OTA
3931+
OpenAD
3932+
OpenADKit
3933+
ROS
3934+
RViz
3935+
Rviz
3936+
SDV
3937+
SDVs
3938+
SOAFEE
3939+
SSO
3940+
Unsloth’s
3941+
Veraison's
3942+
amazonq
3943+
autoware
3944+
autowarefoundation
3945+
casted
3946+
certifiability
3947+
codewhisperer
3948+
cyclonedds
3949+
distros
3950+
dlrm
3951+
musl
3952+
openadkit
3953+
printenv
3954+
qdeveloper
3955+
ros
3956+
rviz
3957+
testbed
3958+
ug
3959+
vnc
3960+
Acyclic
3961+
Bedrust
3962+
MLPerf's
3963+
bedrust
3964+
darko
3965+
mesaros
3966+
multilayer
3967+
renderbuffer
3968+
rosdep
3969+
suboptimally
3970+
AMQP
3971+
AirQualityIndex
3972+
AzureFunctions
3973+
AzureIoT
3974+
AzureWebJobsStorage
3975+
CosmosDBOutput
3976+
DOCUMENTDB
3977+
IoTDatabaee
3978+
IoTDatabase
3979+
IoTHubInput
3980+
IoTStreamAnalyticsJob
3981+
IoTTemperatureAlertFunc
3982+
IsEncrypted
3983+
LRS
3984+
RUs
3985+
SENDGRID
3986+
SendGrid
3987+
SendGridAPIClient
3988+
Servleress
3989+
Twilio
3990+
armiotcosmosdb
3991+
armiotstorage
3992+
asyncio
3993+
autogenerated
3994+
averageTemperature
3995+
averagetemperature
3996+
azcosmosdb
3997+
cardinality
3998+
cosmosdb
3999+
declaratively
4000+
devguide
4001+
differentiator
4002+
etag
4003+
getTempBtn
4004+
hotspots
4005+
iothubowner
4006+
schemas
4007+
sdks
4008+
sendgrid
4009+
soafee
4010+
timestamping
4011+
transactional

assets/contributors.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,5 @@ Odin Shen,Arm,odincodeshen,odin-shen-lmshen,,
8282
Avin Zarlez,Arm,AvinZarlez,avinzarlez,,https://www.avinzarlez.com/
8383
Shuheng Deng,Arm,,,,
8484
Yiyang Fan,Arm,,,,
85+
Julien Jayat,Arm,,,,
8586
Geremy Cohen,Arm,geremyCohen,geremyinanutshell,,
318 KB
Loading
238 KB
Loading

0 commit comments

Comments
 (0)