Skip to content

Commit 0954bfe

Browse files
authored
Merge branch 'main' into main
2 parents 6ae7779 + 5661e42 commit 0954bfe

File tree

312 files changed

+5081
-2251
lines changed

Some content is hidden

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

312 files changed

+5081
-2251
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()

.github/workflows/update-roadmap-project-dates.yml

Lines changed: 182 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,191 @@
1-
name: Update Arm Learning Path Roadmap Project Dates
1+
name: Update Roadmap Dates
22

33
on:
4-
project_item:
5-
types:
6-
- created
7-
- edited
4+
pull_request:
5+
types: [labeled]
86

97
jobs:
10-
update-dates:
8+
update-roadmap-dates:
119
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+
1219
steps:
13-
- name: Update Start Date
14-
if: ${{ github.event.changes.fields['Status'] == 'In Progress' }}
15-
run: |
16-
gh api graphql -f query='
17-
mutation($id: ID!, $date: String!) {
18-
updateProjectV2ItemFieldValue(
19-
input: {
20-
projectId: "PVT_kwDOBVR2-M4A2QVf",
21-
itemId: $id,
22-
fieldId: "PVTF_lADOBVR2-M4A2QVfzgrvSF4",
23-
value: $date
24-
}
25-
) {
26-
projectV2Item {
27-
id
28-
}
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 };
2998
}
30-
}' -f id="${{ github.event.project_item.node_id }}" -f date="$(date -u +%Y-%m-%d)"
31-
32-
- name: Update Publish Date
33-
if: ${{ github.event.changes.fields['Status'] == 'Done' }}
34-
run: |
35-
gh api graphql -f query='
36-
mutation($id: ID!, $date: String!) {
37-
updateProjectV2ItemFieldValue(
38-
input: {
39-
projectId: "PVT_kwDOBVR2-M4A2QVf",
40-
itemId: $id,
41-
fieldId: "PVTF_lADOBVR2-M4A2QVfzgrvSMA",
42-
value: $date
43-
}
44-
) {
45-
projectV2Item {
46-
id
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}`);
47190
}
48191
}
49-
}' -f id="${{ github.event.project_item.node_id }}" -f date="$(date -u +%Y-%m-%d)"

.wordlist.txt

Lines changed: 53 additions & 3 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
@@ -3928,7 +3927,6 @@ HelloworldSubscriber
39283927
IMU
39293928
Jalisco
39303929
LiDAR
3931-
MLPerf’s
39323930
OTA
39333931
OpenAD
39343932
OpenADKit
@@ -3958,4 +3956,56 @@ ros
39583956
rviz
39593957
testbed
39603958
ug
3961-
vnc
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

0 commit comments

Comments
 (0)