Skip to content

Commit 109bb6d

Browse files
2 parents ddad89d + 187e9dc commit 109bb6d

File tree

3,261 files changed

+94896
-31168
lines changed

Some content is hidden

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

3,261 files changed

+94896
-31168
lines changed

.devcontainer/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
FROM ubuntu:latest
1+
FROM ubuntu:22.04
22

33
ARG TARGETPLATFORM
44

55
RUN apt-get update && \
66
apt-get -y install vim wget sudo git
77

88
RUN case ${TARGETPLATFORM} in \
9-
"linux/amd64") HUGO=hugo_0.111.2_linux-amd64 ;; \
10-
"linux/arm64") HUGO=hugo_0.111.2_linux-arm64 ;; \
9+
"linux/amd64") HUGO=hugo_0.130.0_linux-amd64 ;; \
10+
"linux/arm64") HUGO=hugo_0.130.0_linux-arm64 ;; \
1111
esac \
12-
&& HUGO_VER=v0.111.2 \
12+
&& HUGO_VER=v0.130.0 \
1313
&& wget https://github.com/gohugoio/hugo/releases/download/${HUGO_VER}/${HUGO}.deb && apt-get -y install ./${HUGO}.deb
1414

1515
# User account

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77

88
"remoteUser": "ubuntu",
99

10-
"postStartCommand": "nohup bash -c 'hugo ; bin/pagefind --site public --output-subdir ../static/pagefind ; hugo server --baseUrl=/ --liveReloadPort=443 --appendPort=false --bind=0.0.0.0 &' "
10+
"postStartCommand": "nohup bash -c 'hugo ; bin/pagefind --site public --output-subdir ../static/pagefind ; hugo server --baseURL=/ --liveReloadPort=443 --appendPort=false --bind=0.0.0.0 &' "
1111

1212
}

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Before submitting a pull request for a new Learning Path, please review [Create a Learning Path](https://learn.arm.com//learning-paths/cross-platform/_example-learning-path/)
33
- [ ] I have reviewed Create a Learning Path
44

5-
Please do not include any confidential information in your contribution. This includes confidential microarchitecture details and unannounced product information. No AI tool can be used to generate either content or code when creating a learning path or install guide.
5+
Please do not include any confidential information in your contribution. This includes confidential microarchitecture details and unannounced product information.
66

77
- [ ] I have checked my contribution for confidential information
88

.github/workflows/content-checks.yml

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ jobs:
1414

1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@v3
17+
uses: actions/checkout@v4
1818
with:
1919
submodules: true
2020
fetch-depth: 0
2121

2222
- name: Setup Hugo
23-
uses: peaceiris/actions-hugo@v2
23+
uses: peaceiris/actions-hugo@v3
2424
with:
25-
hugo-version: '0.98.0'
25+
hugo-version: '0.130.0'
2626
extended: true
2727

2828
- name: Build
@@ -35,50 +35,57 @@ jobs:
3535
run: bin/htmltest -c .htmltest.yml -s 2>&1 | tee htmltest.log
3636

3737
- name: HTML test results
38-
uses: actions/upload-artifact@v3
38+
uses: actions/upload-artifact@v4
3939
with:
4040
name: htmltest-report
4141
path: htmltest.log
42-
retention-days: 7 # Default is 90 days
42+
retention-days: 5 # Default is 90 days
4343

4444
- name: Spell check
45-
uses: rojopolis/[email protected]
45+
continue-on-error: true
46+
uses: rojopolis/[email protected]
4647
with:
4748
config_path: .spellcheck.yml
4849
task_name: Markdown
4950
output_file: spellcheck-output.txt
5051

52+
- name: Refine spelling results
53+
continue-on-error: true
54+
run: tools/process-spelling.sh
55+
5156
- name: Spelling results
52-
uses: actions/upload-artifact@v3
57+
uses: actions/upload-artifact@v4
5358
with:
5459
name: spellcheck-output
5560
path: spellcheck-output.txt
56-
retention-days: 7 # Default is 90 days
61+
retention-days: 5 # Default is 90 days
5762

5863
- name: Scan for malware
5964
run: |
6065
tools/install-scan.sh
6166
clamscan -r -i public -l scanlog
6267
6368
- name: Scan results
64-
uses: actions/upload-artifact@v3
69+
uses: actions/upload-artifact@v4
6570
with:
6671
name: clamscan-log
6772
path: scanlog
68-
retention-days: 7 # Default is 90 days
73+
retention-days: 5 # Default is 90 days
6974

7075
- name: Azure DevOps Security Scan
71-
uses: actions/setup-dotnet@v3
76+
uses: actions/setup-dotnet@v4
7277
with:
7378
dotnet-version: |
7479
5.0.x
7580
6.0.x
7681
- name: Run Microsoft Security DevOps
77-
uses: microsoft/security-devops-action@preview
82+
uses: microsoft/security-devops-action@latest
7883
id: msdo
84+
with:
85+
tools: container-mapping, bandit, eslint, templateanalyzer
7986

8087
- name: Upload results to Security tab
81-
uses: actions/upload-artifact@v3
88+
uses: actions/upload-artifact@v4
8289
with:
8390
path: ${{ steps.msdo.outputs.sarifFile }}
84-
retention-days: 7 # Default is 90 days
91+
retention-days: 5 # Default is 90 days

.github/workflows/deploy.yml

Lines changed: 61 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,81 @@
1-
# This is a basic workflow to help you get started with Actions
1+
name: Deploy Hugo to S3
22

3-
name: content-deploy
4-
5-
# Controls when the workflow will run
63
on:
7-
# Triggers the workflow on push to production branch
8-
push:
9-
branches: [ production ]
10-
# Allows you to run this workflow manually from the Actions tab
11-
workflow_dispatch:
4+
workflow_call:
5+
inputs:
6+
target:
7+
description: "Hugo target to deploy to"
8+
required: true
9+
type: string
10+
aws-region:
11+
description: "AWS Region to use for fetching credentials"
12+
required: false
13+
type: string
14+
default: "us-west-2"
15+
secrets:
16+
AWS_OIDC_ROLE:
17+
required: true
18+
HUGO_LLM_API:
19+
required: true
20+
HUGO_RAG_API:
21+
required: true
22+
HUGO_AUDIO_API:
23+
required: true
24+
HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID:
25+
required: true
26+
HUGO_FORM_ID_FOR_PROGRAM_SIGNUP:
27+
required: true
28+
29+
env:
30+
HUGO_VERSION: 0.130.0
1231

13-
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1432
jobs:
15-
# This workflow contains a single job called "build"
1633
build_and_deploy:
1734
# The type of runner that the job will run on
18-
runs-on: ubuntu-latest
19-
20-
# Steps represent a sequence of tasks that will be executed as part of the job
35+
runs-on: ubuntu-24.04-arm
36+
permissions:
37+
id-token: write
38+
contents: read
2139
steps:
22-
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
23-
- uses: actions/checkout@v3
40+
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
41+
- uses: actions/checkout@v4
2442
with:
25-
submodules: true # Fetch Hugo Themes
26-
fetch-depth: 0
43+
submodules: true # Fetch Hugo Themes
44+
fetch-depth: 0
2745

2846
# Sets Up Hugo
2947
- name: Setup Hugo
30-
uses: peaceiris/actions-hugo@v2
48+
uses: peaceiris/actions-hugo@v3
3149
with:
32-
hugo-version: '0.98.0'
33-
extended: true
34-
35-
# Post-CSS install
50+
hugo-version: ${{ env.HUGO_VERSION }}
51+
extended: true
52+
53+
- name: Clear npm cache
54+
run: npm cache clean --force
55+
56+
# Installs Post-CSS
3657
- name: Install Post-CSS
3758
run: npm install postcss-cli
3859

39-
# Builds arm-learning-paths repo
60+
- name: AWS Github OIDC Login
61+
uses: aws-actions/configure-aws-credentials@v4
62+
with:
63+
role-to-assume: ${{ secrets.AWS_OIDC_ROLE }}
64+
aws-region: ${{ inputs.aws-region }}
65+
66+
# Builds arm-software-developer repo
4067
- name: Build
4168
run: |
4269
hugo --minify
4370
cp learn-image-sitemap.xml public/learn-image-sitemap.xml
44-
bin/pagefind --site "public"
45-
46-
# Copy SSH Key
47-
- name: copy key
48-
run: |
49-
echo $SSH_KEY | xargs -n 1 > tmpkey
50-
base64 -d < tmpkey > key
51-
chmod 400 key
52-
shell: bash
53-
env:
54-
SSH_KEY: ${{secrets.SSH_KEY}}
55-
56-
# SCP Site contents to netstorage
57-
- name: copy site content
58-
run: |
59-
cd public
60-
zip -r public.zip .
61-
cd ..
62-
scp -i key -o StrictHostKeyChecking=accept-new -oHostKeyAlgorithms=+ssh-dss -r public/public.zip $USR@$HOST:/$ID/
63-
shell: bash
71+
bin/pagefind.aarch64 --site "public"
6472
env:
65-
USR: ${{secrets.SSH_USERNAME}}
66-
HOST: ${{secrets.SSH_HOST}}
67-
ID: ${{secrets.ID}}
73+
HUGO_LLM_API: ${{ secrets.HUGO_LLM_API }}
74+
HUGO_RAG_API: ${{ secrets.HUGO_RAG_API }}
75+
HUGO_AUDIO_API: ${{ secrets.HUGO_AUDIO_API }}
76+
HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID: ${{ secrets.HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID }}
77+
HUGO_FORM_ID_FOR_PROGRAM_SIGNUP: ${{ secrets.HUGO_FORM_ID_FOR_PROGRAM_SIGNUP }}
78+
79+
# Deploys website to AWS S3 and invalidate CloudFront Cache
80+
- name: Deploy to S3
81+
run: hugo deploy --force --maxDeletes -1 --invalidateCDN --target ${{ inputs.target }}

.github/workflows/external-links.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
# Steps represent a sequence of tasks that will be executed as part of the job
1818
steps:
1919
- name: Checkout
20-
uses: actions/checkout@v3
20+
uses: actions/checkout@v4
2121
with:
2222
submodules: true
2323
fetch-depth: 0
@@ -33,7 +33,7 @@ jobs:
3333
pip install linkchecker
3434
linkchecker --no-robots --config .linkcheckerrc --check-extern https://learn.arm.com/learning-paths/laptops-and-desktops/
3535
linkchecker --no-robots --config .linkcheckerrc --check-extern https://learn.arm.com/learning-paths/servers-and-cloud-computing/
36-
linkchecker --no-robots --config .linkcheckerrc --check-extern https://learn.arm.com/learning-paths/smartphones-and-mobile/
37-
linkchecker --no-robots --config .linkcheckerrc --check-extern https://learn.arm.com/learning-paths/embedded-systems/
38-
linkchecker --no-robots --config .linkcheckerrc --check-extern https://learn.arm.com/learning-paths/microcontrollers/
39-
36+
linkchecker --no-robots --config .linkcheckerrc --check-extern https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/
37+
linkchecker --no-robots --config .linkcheckerrc --check-extern https://learn.arm.com/learning-paths/embedded-and-microcontrollers/
38+
linkchecker --no-robots --config .linkcheckerrc --check-extern https://learn.arm.com/learning-paths/iot/
39+
linkchecker --no-robots --config .linkcheckerrc --check-extern https://learn.arm.com/learning-paths/automotive/

.github/workflows/main.yml

Lines changed: 21 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,28 @@
1-
# This is a basic workflow to help you get started with Actions
1+
# This workflow will be triggered on a push to the 'main' branch automatically or when called manually.
2+
# Upon running this workflow, the website will be built and deployed to the internal instance.
3+
name: Build and Deploy Internal Website
24

3-
name: build-and-deploy
4-
5-
# Controls when the workflow will run
65
on:
7-
# Triggers the workflow on push or pull request events but only for the master branch
6+
# Runs on pushes to the 'main' branch
87
push:
9-
branches: [ main ]
8+
branches: [main]
109

11-
# Allows you to run this workflow manually from the Actions tab
10+
# Allows to run this workflow manually from the Actions tab
1211
workflow_dispatch:
1312

14-
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1513
jobs:
16-
# This workflow contains a single job called "build"
17-
build_and_deploy_s3:
18-
# The type of runner that the job will run on
19-
runs-on: ubuntu-latest
20-
21-
# Steps represent a sequence of tasks that will be executed as part of the job
22-
steps:
23-
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
24-
- uses: actions/checkout@v3
25-
with:
26-
submodules: true # Fetch Hugo Themes
27-
fetch-depth: 0
28-
29-
# Sets Up Hugo
30-
- name: Setup Hugo
31-
uses: peaceiris/actions-hugo@v2
32-
with:
33-
hugo-version: '0.98.0'
34-
extended: true
35-
36-
# Post-CSS install
37-
- name: Install Post-CSS
38-
run: npm install postcss-cli
39-
40-
# Builds arm-software-developer repo
41-
- name: Build
42-
run: |
43-
hugo --minify
44-
cp learn-image-sitemap.xml public/learn-image-sitemap.xml
45-
bin/pagefind --site "public"
46-
47-
# Deploys website to AWS S3
48-
- name: Deploy to S3
49-
run: hugo deploy --force --maxDeletes -1 --invalidateCDN
50-
env:
51-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
52-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
53-
14+
build_and_deploy_internal:
15+
name: Build and Deploy Internal
16+
uses: ./.github/workflows/deploy.yml
17+
permissions:
18+
id-token: write
19+
contents: read
20+
with:
21+
target: internal
22+
secrets:
23+
AWS_OIDC_ROLE: ${{ secrets.AWS_OIDC_ROLE_INTERNAL }}
24+
HUGO_LLM_API: ${{ secrets.HUGO_LLM_API }}
25+
HUGO_RAG_API: ${{ secrets.HUGO_RAG_API }}
26+
HUGO_AUDIO_API: ${{ secrets.HUGO_AUDIO_API }}
27+
HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID: ${{ secrets.HUGO_DEV_PROG_SIGNIUP_FORM_MUNCHKIN_ID }}
28+
HUGO_FORM_ID_FOR_PROGRAM_SIGNUP: ${{ secrets.HUGO_FORM_ID_FOR_PROGRAM_SIGNUP }}

.github/workflows/maintenance.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
steps:
2222
# Check out repo and the whole history
2323
- name: Check out repository code
24-
uses: actions/checkout@v3
24+
uses: actions/checkout@v4
2525
with:
2626
fetch-depth: 0
2727

@@ -33,7 +33,7 @@ jobs:
3333
3434
# Upload report as artifact
3535
- name: Upload artifact
36-
uses: actions/upload-artifact@v3
36+
uses: actions/upload-artifact@v4
3737
with:
3838
name: outdated
3939
path: outdated_files.csv
@@ -49,11 +49,11 @@ jobs:
4949
steps:
5050
# Check out repo
5151
- name: Check out repository code
52-
uses: actions/checkout@v3
52+
uses: actions/checkout@v4
5353

5454
# Download list of outdated files to test
5555
- name: Download a single artifact
56-
uses: actions/download-artifact@v3
56+
uses: actions/download-artifact@v4
5757
with:
5858
name: outdated
5959

@@ -81,7 +81,7 @@ jobs:
8181
8282
# Upload test reports as artifact
8383
- name: Upload artifacts
84-
uses: actions/upload-artifact@v3
84+
uses: actions/upload-artifact@v4
8585
with:
8686
name: results
8787
path: junit-reports/*_cmd.xml

0 commit comments

Comments
 (0)