Skip to content

Commit c2a791f

Browse files
committed
Initial commit
0 parents  commit c2a791f

File tree

1,640 files changed

+335804
-0
lines changed

Some content is hidden

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

1,640 files changed

+335804
-0
lines changed

.dockerignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# SPDX-FileCopyrightText: (C) 2023 Intel Corporation
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
*
6+
7+
!/common.mk
8+
!/version.mk

.github/CODEOWNERS

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# SPDX-FileCopyrightText: (C) 2024 Intel Corporation
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
# These owners will be the default owners for everything in the repo. Unless a
6+
# later match takes precedence, these owners will be requested for review when
7+
# someone opens a pull request.
8+
9+
# Everything requires team review by default
10+
* @malruben @badhrinathpa @pudelkoM @cgoea @ajaythakurintel @ray-milkey @adibrastegarnia @SeanCondon @kuujo @scottmbaker @sys-devops-approve

.github/CONTRIBUTING.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
##### SPDX-FileCopyrightText: (C) 2022 Intel Corporation
2+
##### SPDX-License-Identifier: Apache-2.0
3+
------------------------------------------------------------------
4+
5+
## <a name="commit"></a> Commit Message Guidelines
6+
7+
We have precise rules over how our git commit messages should be formatted. This leads to more readable messages that are easy to follow when looking through the project history.
8+
9+
### Commit Message Format
10+
Each commit message consists of a **header**, a **body** and a **footer**. The header has a special format that includes a **JIRA ticket** and a **subject**:
11+
12+
```
13+
[SL6-****] <subject>
14+
<BLANK LINE>
15+
<body>
16+
<BLANK LINE>
17+
<footer>
18+
```
19+
20+
Any line of the commit message should not be longer than 50 characters max on the subject line and 72 characters max on the body! This allows the message to be easier to read on GitHub as well as in various git tools.
21+
22+
Example:
23+
```
24+
[SL6-1000]: Introduce new ROS parameter for client node
25+
26+
In order to give a user option to set value X, a new ROS
27+
parameter has been introduced as Xvalue.
28+
Corresponding tests and docs updated
29+
30+
```
31+
32+
### Pull Requests practices
33+
34+
* PR author is responsible to merge its own PR after review has been done and CI has passed.
35+
* When merging, make sure git linear history is preserved. PR author should select a merge option (`Rebase and merge` or `Squash and merge`) based on which option will fit the best to the git linear history.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## Description
2+
3+
Describe the purpose of this pull request.
4+
5+
## Changes
6+
7+
List the changes you have made.
8+
9+
## Additional Information
10+
11+
Include any additional information, such as how to test your changes.
12+
13+
## Checklist
14+
15+
- [ ] Tests passed
16+
- [ ] Documentation updated
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
# SPDX-FileCopyrightText: (C) 2025 Intel Corporation
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: Go Fuzzing Test
6+
description: "Sets up the environment with necessary tools and dependencies to run Go fuzzing tests"
7+
inputs:
8+
bootstrap_tools:
9+
required: false
10+
description: "Comma-separated list of tools to install (e.g., 'go,docker') or 'all' for all tools"
11+
default: "all"
12+
gh_token:
13+
required: true
14+
description: "PAT token for private repositories"
15+
fuzz_seconds:
16+
required: false
17+
description: "Fuzzing test duration in seconds for each test case"
18+
default: 60
19+
fuzz_subprojects:
20+
required: false
21+
description: "Space-separated list of AppOrch services to run Fuzz tests"
22+
default: "app-resource-manager app-deployment-manager app-service-proxy"
23+
test_data_dir:
24+
required: false
25+
description: "Directory used to store Go fuzzing test data used to run test"
26+
default: "/"
27+
runs:
28+
using: "composite"
29+
steps:
30+
- name: Checkout code
31+
uses: actions/checkout@v4
32+
with:
33+
# Fetch all history, workaround sporadic issue with missing tags
34+
fetch-depth: 0
35+
# Fetch tags
36+
fetch-tags: true
37+
# Checkout the branch that triggered the workflow to avoid detached HEAD
38+
ref: ${{ github.head_ref }}
39+
- name: Checkout action repository
40+
uses: actions/checkout@v4
41+
with:
42+
repository: open-edge-platform/orch-ci
43+
path: ci
44+
ref: ${{ inputs.orch_ci_repo_ref }}
45+
token: ${{ inputs.gh_token }}
46+
- name: Bootstrap CI environment
47+
uses: ./ci/.github/actions/bootstrap
48+
with:
49+
gh_token: ${{ inputs.gh_token }}
50+
bootstrap_tools: ${{ inputs.bootstrap_tools }}
51+
- name: Cache Bootstrap CI environment
52+
uses: actions/cache@v4.2.0
53+
with:
54+
path: |
55+
~/.cache/go-build
56+
~/go/pkg/mod
57+
key: bootstrap-${{ runner.os }}-go-${{ env.GOLANG_VER }}-${{ hashFiles('**/GOTOOLS_VERSIONS') }}
58+
restore-keys: |
59+
bootstrap-${{ runner.os }}-go-${{ env.GOLANG_VER }}-
60+
bootstrap-${{ runner.os }}-go-
61+
- name: Run Go Fuzzing test
62+
env:
63+
FUZZ_SECONDS: ${{ inputs.fuzz_seconds }}
64+
FUZZ_SUBPROJECTS: ${{ inputs.fuzz_subprojects }}
65+
shell: bash
66+
run: |
67+
if make go-fuzz; then
68+
echo "All tests passed"
69+
else
70+
echo "========================="
71+
echo "Test failed see output file below to reproduce issue and to re-run: go test -run=<failed-func>/<filename>"
72+
echo "Copy output file contents (2 lines) below and create file in "${{ inputs.test_data_dir }}"/<failed-func>/<filename> directory"
73+
echo "========================="
74+
dir=${{ inputs.test_data_dir }}
75+
if [ -d "$dir" ]; then
76+
find "$dir" -type f -print0 | while IFS= read -r -d $'\0' file; do
77+
if [ -f "$file" ]; then
78+
echo "--- Contents of file: $file ---"
79+
cat "$file"
80+
fi
81+
done
82+
fi
83+
exit 1
84+
fi

.github/workflows/auto-close.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
# SPDX-FileCopyrightText: (C) 2025 Intel Corporation
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: Stale Pull Requests
6+
7+
# After 30 days of no activity on a PR, the PR should be marked as stale,
8+
# a comment made on the PR informing the author of the new status,
9+
# and closed after 15 days if there is no further activity from the change to stale state.
10+
on:
11+
schedule:
12+
- cron: '30 1 * * *' # run every day
13+
workflow_dispatch: {}
14+
15+
jobs:
16+
stale-auto-close:
17+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-ubuntu-latest' || 'ubuntu-latest' }}
18+
steps:
19+
- uses: actions/stale@v5.1.1
20+
with:
21+
repo-token: ${{ secrets.GITHUB_TOKEN }}
22+
stale-pr-message: 'This pull request is stale because it has been open 30 days with no activity. Make a comment or update the PR to avoid closing PR after 15 days.'
23+
days-before-pr-stale: 30
24+
days-before-pr-close: 15
25+
remove-pr-stale-when-updated: 'true'
26+
close-pr-message: 'This pull request was automatically closed due to inactivity'

.github/workflows/auto-update.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
# SPDX-FileCopyrightText: (C) 2025 Intel Corporation
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: Auto Update PR
6+
7+
# On push to the main branch and support branches, update any branches that are out of date
8+
# and have auto-merge enabled. If the branch is currently out of date with the base branch,
9+
# it must be first manually updated and then will be kept up to date on future runs.
10+
on:
11+
push:
12+
branches:
13+
- main
14+
- release-*
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.ref }}
18+
cancel-in-progress: true
19+
20+
jobs:
21+
Auto-Update-PR:
22+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-ubuntu-latest' || 'ubuntu-latest' }}
23+
steps:
24+
- uses: tibdex/auto-update@v2.2.1
25+
with:
26+
github_token: ${{ secrets.SYS_ORCH_GITHUB }}

.github/workflows/go-fuzz.yaml

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
---
2+
# SPDX-FileCopyrightText: (C) 2025 Intel Corporation
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: Go Fuzzing Tests
6+
7+
on:
8+
workflow_dispatch:
9+
inputs:
10+
run_adm:
11+
description: 'Run ADM fuzzing tests'
12+
required: false
13+
type: boolean
14+
default: true
15+
fuzz_seconds_adm:
16+
description: 'Duration per test case in secs. Total duration is secs X # of test cases'
17+
required: false
18+
type: number
19+
default: 1200
20+
run_arm:
21+
description: 'Run ARM fuzzing tests'
22+
required: false
23+
type: boolean
24+
default: true
25+
fuzz_seconds_arm:
26+
description: 'Duration per test case in secs. Total duration is secs X # of test cases'
27+
required: false
28+
type: number
29+
default: 2100
30+
run_asp:
31+
description: 'Run ASP fuzzing tests'
32+
required: false
33+
type: boolean
34+
default: true
35+
fuzz_seconds_asp:
36+
description: 'Duration per test case in secs. Total duration is secs X # of test cases'
37+
required: false
38+
type: number
39+
default: 4800
40+
# Scheduled workflows will only run on the default branch. Input values from workflow_dispatch will be null when schedule event is triggered
41+
schedule:
42+
- cron: "0 0 * * 6" # every week, at 00:00 on Saturday
43+
44+
jobs:
45+
go-fuzz-adm:
46+
if: ${{ inputs.run_adm || github.event_name == 'schedule' }}
47+
name: ADM Go Fuzzing Tests
48+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-ubuntu-latest' || 'ubuntu-latest' }}
49+
steps:
50+
- name: Checkout code
51+
uses: actions/checkout@v1
52+
- name: Fuzzing tests
53+
uses: ./.github/actions/go-fuzz
54+
with:
55+
# Declare 1200 secs duration since schedule event will not pick up input values from workflow_dispatch
56+
fuzz_seconds: ${{ inputs.fuzz_seconds_adm || 1200 }}
57+
fuzz_subprojects: app-deployment-manager
58+
test_data_dir: app-deployment-manager/internal/northbound/fuzztests/testdata/fuzz
59+
gh_token: ${{ secrets.SYS_ORCH_GITHUB }}
60+
go-fuzz-arm:
61+
if: ${{ inputs.run_arm || github.event_name == 'schedule' }}
62+
name: ARM Go Fuzzing Tests
63+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-ubuntu-latest' || 'ubuntu-latest' }}
64+
steps:
65+
- name: Checkout code
66+
uses: actions/checkout@v1
67+
- name: Fuzzing tests
68+
uses: ./.github/actions/go-fuzz
69+
with:
70+
# Declare 2100 secs duration since schedule event will not pick up input values from workflow_dispatch
71+
fuzz_seconds: ${{ inputs.fuzz_seconds_arm || 2100 }}
72+
fuzz_subprojects: app-resource-manager
73+
test_data_dir: app-resource-manager/internal/northbound/services/v2/resource/testdata/fuzz
74+
gh_token: ${{ secrets.SYS_ORCH_GITHUB }}
75+
go-fuzz-asp:
76+
# todo enable schedule once ASP fuzzing tests are ready {{ inputs.run_asp || github.event_name == 'schedule' }}
77+
if: ${{ inputs.run_asp }}
78+
name: ASP Go Fuzzing Tests
79+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-ubuntu-latest' || 'ubuntu-latest' }}
80+
steps:
81+
- name: Checkout code
82+
uses: actions/checkout@v1
83+
- name: Fuzzing tests
84+
uses: ./.github/actions/go-fuzz
85+
with:
86+
# Declare 4800 secs duration since schedule event will not pick up input values from workflow_dispatch
87+
fuzz_seconds: ${{ inputs.fuzz_seconds_asp || 4800 }}
88+
fuzz_subprojects: app-service-proxy
89+
test_data_dir: app-service-proxy/internal/server/fuzztests/testdata/fuzz
90+
gh_token: ${{ secrets.SYS_ORCH_GITHUB }}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
# SPDX-FileCopyrightText: (C) 2025 Intel Corporation
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: Post-Merge App Deployment Manager NB API
6+
7+
on:
8+
push:
9+
branches:
10+
- main
11+
- release-*
12+
paths:
13+
- 'app-deployment-manager/api/nbi/**'
14+
workflow_dispatch:
15+
16+
jobs:
17+
post-merge-pipeline:
18+
uses: open-edge-platform/orch-ci/.github/workflows/post-merge.yml@main
19+
with:
20+
run_security_scans: true
21+
run_version_check: true
22+
run_dep_version_check: false
23+
run_build: false
24+
run_docker_build: false
25+
run_docker_push: false
26+
run_version_tag: true
27+
run_artifact: false
28+
run_helm_build: false
29+
run_helm_push: false
30+
prefix_tag_separator: "/"
31+
project_folder: "app-deployment-manager/api/nbi"
32+
secrets: inherit
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
# SPDX-FileCopyrightText: (C) 2025 Intel Corporation
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: Post-Merge App Deployment Manager
6+
7+
on:
8+
push:
9+
branches:
10+
- main
11+
- release-*
12+
paths:
13+
- 'app-deployment-manager/**'
14+
workflow_dispatch:
15+
16+
jobs:
17+
post-merge-pipeline:
18+
uses: open-edge-platform/orch-ci/.github/workflows/post-merge.yml@main
19+
with:
20+
run_security_scans: true
21+
run_version_check: true
22+
run_dep_version_check: false
23+
run_build: true
24+
run_docker_build: true
25+
run_docker_push: true
26+
run_version_tag: true
27+
run_artifact: false
28+
run_helm_build: true
29+
run_helm_push: true
30+
prefix_tag_separator: "/"
31+
project_folder: "app-deployment-manager"
32+
secrets: inherit

0 commit comments

Comments
 (0)