[修改] 增加freeRTOS

1. 版本FreeRTOSv202212.01,命名为kernel;
This commit is contained in:
2023-05-06 16:43:01 +00:00
commit a345df017b
20944 changed files with 11094377 additions and 0 deletions

View File

@ -0,0 +1,153 @@
name: CI Checks
on:
push:
branches: ["**"]
pull_request:
branches:
- main
- development
- cbmc-proof
workflow_dispatch:
jobs:
compiler-warnings:
runs-on: ubuntu-latest
steps:
- name: Clone This Repo
uses: actions/checkout@v2
- name: Check warnings
run: |
git submodule update --init --recursive --checkout --depth 1
cmake -S test -B build -DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_FLAGS='-Wall -Wextra -Werror -DLOG_LEVEL=LOG_LEVEL_DEBUG'
cmake --build build
complexity:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup
run: sudo apt-get install complexity
- name: Complexity
uses: FreeRTOS/CI-CD-Github-Actions/complexity@main
with:
path: ./
unittest:
runs-on: ubuntu-latest
steps:
- name: Clone This Repo
uses: actions/checkout@v2
- name: Build
run: |
git submodule update --init --recursive --checkout --depth 1
cmake -S test -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build
- name: Test
run: |
cd build/
ctest -E system --output-on-failure
cd ..
coverage:
runs-on: ubuntu-latest
steps:
- name: Clone This Repo
uses: actions/checkout@v2
- name: Generate Build Files
run: |
git submodule update --init --recursive --checkout --depth 1
sudo apt-get install -y lcov
cmake -S test -B build \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_FLAGS='--coverage -Wall -Wextra -DNDEBUG'
- name: Run Coverage
run: |
cmake --build build/ --target coverage
- name: Check Coverage
uses: FreeRTOS/CI-CD-Github-Actions/coverage-cop@main
with:
path: ./build/coverage.info
line-coverage-min: 100
branch-coverage-min: 100
doxygen:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Run doxygen build
uses: FreeRTOS/CI-CD-Github-Actions/doxygen@main
with:
path: ./
spell-check:
runs-on: ubuntu-latest
steps:
- name: Checkout Parent Repo
uses: actions/checkout@v2
with:
ref: main
repository: aws/aws-iot-device-sdk-embedded-C
- name: Clone This Repo
uses: actions/checkout@v2
with:
path: tmp
- name: Install spell
run: |
sudo apt-get install spell
sudo apt-get install util-linux
- name: Check spelling
run: |
PATH=$PATH:$PWD/tools/spell
find-unknown-comment-words --directory tmp/ --lexicon tmp/tools/lexicon.txt
if [ $? -ne "0" ]; then
exit 1
fi
formatting:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Check formatting
uses: FreeRTOS/CI-CD-Github-Actions/formatting@main
with:
path: ./
exclude-dirs: |
docs
.github
git-secrets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Checkout awslabs/git-secrets
uses: actions/checkout@v2
with:
repository: awslabs/git-secrets
ref: master
path: git-secrets
- name: Install git-secrets
run: cd git-secrets && sudo make install && cd ..
- name: Run git-secrets
run: |
git-secrets --register-aws
git-secrets --scan
memory_statistics:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Clone submodules
run: git submodule update --init --recursive --checkout --depth 1
- name: Install Python3
uses: actions/setup-python@v2
with:
python-version: '3.7.10'
- name: Measure sizes
uses: FreeRTOS/CI-CD-Github-Actions/memory_statistics@main
with:
config: .github/memory_statistics_config.json
check_against: docs/doxygen/include/size_table.md

View File

@ -0,0 +1,11 @@
name: Doxygen Generation
on:
push:
branches: [main]
workflow_dispatch:
jobs:
doxygen-generation:
runs-on: ubuntu-latest
steps:
- name: Doxygen generation
uses: FreeRTOS/CI-CD-Github-Actions/doxygen-generation@main

View File

@ -0,0 +1,139 @@
name: Release automation
on:
workflow_dispatch:
inputs:
commit_id:
description: 'Commit ID to tag and create a release for'
required: true
version_number:
description: 'Release Version Number (Eg, v1.0.0)'
required: true
jobs:
tag-commit:
name: Tag commit
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{ github.event.inputs.commit_id }}
- name: Configure git identity
run: |
git config --global user.name ${{ github.actor }}
git config --global user.email ${{ github.actor }}@users.noreply.github.com
- name: create a new branch that references commit id
run: git checkout -b ${{ github.event.inputs.version_number }} ${{ github.event.inputs.commit_id }}
- name: Generate SBOM
uses: FreeRTOS/CI-CD-Github-Actions/sbom-generator@main
with:
repo_path: ./
source_path: ./source
- name: commit SBOM file
run: |
git add .
git commit -m 'Update SBOM'
git push -u origin ${{ github.event.inputs.version_number }}
- name: Tag Commit and Push to remote
run: |
git tag ${{ github.event.inputs.version_number }} -a -m "AWS IoT Over-the-air Update Library ${{ github.event.inputs.version_number }}"
git push origin --tags
- name: Verify tag on remote
run: |
git tag -d ${{ github.event.inputs.version_number }}
git remote update
git checkout tags/${{ github.event.inputs.version_number }}
git diff ${{ github.event.inputs.commit_id }} tags/${{ github.event.inputs.version_number }}
create-zip:
needs: tag-commit
name: Create ZIP and verify package for release asset.
runs-on: ubuntu-latest
steps:
- name: Install ZIP tools
run: sudo apt-get install zip unzip
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{ github.event.inputs.commit_id }}
path: ota-for-aws-iot-embedded-sdk
submodules: recursive
- name: Checkout disabled submodules
run: |
cd ota-for-aws-iot-embedded-sdk
git submodule update --init --checkout --recursive
- name: Create ZIP
run: |
zip -r ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}.zip ota-for-aws-iot-embedded-sdk -x "*.git*"
ls ./
- name: Validate created ZIP
run: |
mkdir zip-check
mv ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}.zip zip-check
cd zip-check
unzip ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}.zip -d ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}
ls ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}
diff -r -x "*.git*" ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}/ota-for-aws-iot-embedded-sdk/ ../ota-for-aws-iot-embedded-sdk/
cd ../
- name: Build
run: |
cd zip-check/ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}/ota-for-aws-iot-embedded-sdk
sudo apt-get install -y lcov
cmake -S test -B build/ \
-G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE=Debug \
-DBUILD_CLONE_SUBMODULES=ON \
-DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror'
make -C build/ all
- name: Test
run: |
cd zip-check/ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}/ota-for-aws-iot-embedded-sdk/build/
ctest -E system --output-on-failure
cd ..
- name: Create artifact of ZIP
uses: actions/upload-artifact@v2
with:
name: ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}.zip
path: zip-check/ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}.zip
deploy-doxygen:
needs: tag-commit
name: Deploy doxygen documentation
runs-on: ubuntu-latest
steps:
- name: Doxygen generation
uses: FreeRTOS/CI-CD-Github-Actions/doxygen-generation@main
with:
ref: ${{ github.event.inputs.version_number }}
add_release: "true"
create-release:
needs:
- create-zip
- deploy-doxygen
name: Create Release and Upload Release Asset
runs-on: ubuntu-latest
steps:
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.event.inputs.version_number }}
release_name: ${{ github.event.inputs.version_number }}
body: Release ${{ github.event.inputs.version_number }} of AWS IoT Over-the-air Update Library.
draft: false
prerelease: false
- name: Download ZIP artifact
uses: actions/download-artifact@v2
with:
name: ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}.zip
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}.zip
asset_name: ota-for-aws-iot-embedded-sdk-${{ github.event.inputs.version_number }}.zip
asset_content_type: application/zip