[修改] 增加freeRTOS
1. 版本FreeRTOSv202212.01,命名为kernel;
This commit is contained in:
39
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/CODEOWNERS
vendored
Normal file
39
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/CODEOWNERS
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
# Each line is a file pattern followed by one or more owners.
|
||||
|
||||
# These owners will be the default owners for everything in
|
||||
# the repo. Unless a later match takes precedence,
|
||||
# @global-owner1 and @global-owner2 will be requested for
|
||||
# review when someone opens a pull request.
|
||||
* @FreeRTOS/pr-bar-raiser
|
||||
|
||||
# Order is important; the last matching pattern takes the most
|
||||
# precedence. When someone opens a pull request that only
|
||||
# modifies JS files, only @js-owner and not the global
|
||||
# owner(s) will be requested for a review.
|
||||
# *.c FreeRTOS/pr-bar-raiser
|
||||
|
||||
# You can also use email addresses if you prefer. They'll be
|
||||
# used to look up users just like we do for commit author
|
||||
# emails.
|
||||
# *.go docs@example.com
|
||||
|
||||
# In this example, @doctocat owns any files in the build/logs
|
||||
# directory at the root of the repository and any of its
|
||||
# subdirectories.
|
||||
# /build/logs/ @doctocat
|
||||
|
||||
# The `docs/*` pattern will match files like
|
||||
# `docs/getting-started.md` but not further nested files like
|
||||
# `docs/build-app/troubleshooting.md`.
|
||||
# docs/* docs@example.com
|
||||
|
||||
# In this example, @octocat owns any file in an apps directory
|
||||
# anywhere in your repository.
|
||||
# apps/ @octocat
|
||||
|
||||
# In this example, @doctocat owns any file in the `/docs`
|
||||
# directory in the root of your repository and any of its
|
||||
# subdirectories.
|
||||
# /docs/ @doctocat
|
||||
|
||||
|
||||
4
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/CODE_OF_CONDUCT.md
vendored
Normal file
4
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/CODE_OF_CONDUCT.md
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
## Code of Conduct
|
||||
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
|
||||
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
|
||||
opensource-codeofconduct@amazon.com with any additional questions or comments.
|
||||
70
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/CONTRIBUTING.md
vendored
Normal file
70
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/CONTRIBUTING.md
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
# Contribution guidelines
|
||||
|
||||
Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, code, or
|
||||
documentation, we welcome our community to be involved in this project.
|
||||
|
||||
Please read through this document before submitting any issues or pull requests to ensure we are able to help you and all members of the community as effectively as possible.
|
||||
|
||||
## Code of conduct
|
||||
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
|
||||
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
|
||||
opensource-codeofconduct@amazon.com with any additional questions or comments.
|
||||
|
||||
|
||||
## Security issue notifications
|
||||
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
|
||||
|
||||
|
||||
## Submitting a bugs/feature request
|
||||
Have a bug to report or feature to request? Follow these steps:
|
||||
1. Search on the [FreeRTOS Community Support Forums](https://forums.freertos.org/), [FreeRTOS-Plus-TCP issue tracker](https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/issues?utf8=%E2%9C%93&q=is%3Aissue) and [FreeRTOS GitHub issue tracker](https://github.com/FreeRTOS/FreeRTOS/issues?utf8=%E2%9C%93&q=is%3Aissue) to be sure this hasn't been already reported or discussed.
|
||||
2. If your search turns up empty, create a new topic in the [forums](https://forums.freertos.org/) and work with the community to help clarify issues or refine the idea. Include as many of the details listed below.
|
||||
3. Once the community has had time to discuss and digest, we welcome you to create an [issue](https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/issues) to report bugs or suggest features.
|
||||
|
||||
When creating a new topic on the forums or filing an issue, please include as many relevant details as possible. Examples include:
|
||||
|
||||
* A clear description of the situation — what you observe, what you expect, and your view on how the two differ.
|
||||
* A reproducible test case or sequence of steps.
|
||||
* The version of our code being used.
|
||||
* Any modifications you've made relevant to the bug.
|
||||
* Details of your environment or deployment. Highlight anything unusual.
|
||||
|
||||
|
||||
## Contributing via pull request
|
||||
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
|
||||
|
||||
1. You are working against the latest source on the *master* branch.
|
||||
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
|
||||
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.
|
||||
|
||||
To send us a pull request, please:
|
||||
|
||||
1. Fork the repository.
|
||||
2. Modify the source; focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
|
||||
3. Follow the [coding style guide](https://www.freertos.org/FreeRTOS-Coding-Standard-and-Style-Guide.html).
|
||||
4. Commit to your fork using clear commit messages.
|
||||
5. Send us a pull request, answering any default questions in the pull request interface.
|
||||
NOTE: Please make sure the default option (Allow edits from maintainers) is left checked.
|
||||
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
|
||||
|
||||
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
|
||||
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
|
||||
|
||||
## Coding style
|
||||
* Please ensure that your code complies to the [FreeRTOS coding style guidelines](https://www.freertos.org/FreeRTOS-Coding-Standard-and-Style-Guide.html).
|
||||
|
||||
|
||||
## Getting your pull request merged
|
||||
All pull requests must be approved by our review team before it can be merged in. We appreciate your patience while pull requests are reviewed. The time it takes to review will depend on complexity and consideration of wider implications.
|
||||
|
||||
|
||||
## Finding contributions to work on
|
||||
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), tackling open 'help wanted' issues is a great place to start.
|
||||
|
||||
|
||||
## Licensing
|
||||
The FreeRTOS-Plus-TCP library is released under the MIT open source license, the text of which can be found [here](https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/blob/master/LICENSE.md)
|
||||
|
||||
Additional license files can be found in the folders containing any supplementary libraries licensed by their respective copyright owners where applicable.
|
||||
|
||||
We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
|
||||
43
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
43
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve FreeRTOS-Plus-TCP. This should only be used
|
||||
for confirmed bugs. If you suspect something it is best to first discuss it on the
|
||||
FreeRTOS forums linked below.
|
||||
title: "[BUG]"
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A concise description of what the bug is. If possible, that is the code is not proprietary, please upload the code in a [GitHub fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) such that we can reproduce the bug.
|
||||
|
||||
**Target**
|
||||
- Development board: [e.g. HiFive11 RevB]
|
||||
- Instruction Set Architecture: [e.g. RV32IMAC]
|
||||
- IDE and version: [e.g. Freedom Studio 4.12.0.2019-08-2]
|
||||
- Toolchain and version: [e.g. riscv64-unknown-elf-gcc-8.3.0-2019.08.0]
|
||||
|
||||
**Host**
|
||||
- Host OS: [e.g. MacOS]
|
||||
- Version: [e.g. Mojave 10.14.6]
|
||||
|
||||
**To Reproduce**
|
||||
- Use project ... and configure with ...
|
||||
- Run on ... and could observe ...
|
||||
|
||||
**Expected behavior**
|
||||
A concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Wireshark logs**
|
||||
To help us identify the issue and/or reproduce it, please attach Wireshark logs if applicable.
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
e.g. code snippet to reproduce the issue.
|
||||
e.g. stack trace, memory dump, debugger log, and many etc.
|
||||
|
||||
<!-- For general inquiries, please post in [FreeRTOS forum](https://forums.FreeRTOS.org) for community support. -->
|
||||
5
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: FreeRTOS Community Support Forum
|
||||
url: https://forums.freertos.org/
|
||||
about: Please ask and answer questions about FreeRTOS-Plus-TCP here.
|
||||
23
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/ISSUE_TEMPLATE/documentation-issue.md
vendored
Normal file
23
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/ISSUE_TEMPLATE/documentation-issue.md
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
name: Documentation issue
|
||||
about: Create a report to help us improve our documentation.
|
||||
title: "[DOC] "
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the issue**
|
||||
Please describe the issue and expected clarification in concise language.
|
||||
|
||||
**Reference**
|
||||
Please attach the URL at which you are experiencing the issue.
|
||||
|
||||
**Screenshot**
|
||||
If applicable, please attach screenshot.
|
||||
|
||||
**Browser**
|
||||
- Browser: [e.g. Chrome]
|
||||
- Version: [e.g. 80.0.3987.132]
|
||||
|
||||
<!-- For general inquiries, please post in [FreeRTOS forum](https://forums.FreeRTOS.org) for community support. -->
|
||||
20
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/ISSUE_TEMPLATE/feature-request.md
vendored
Normal file
20
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/ISSUE_TEMPLATE/feature-request.md
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
name: Feature Request
|
||||
about: Suggest an idea for this project
|
||||
title: "[Feature Request] <replace with your title>"
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
5
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/SECURITY.md
vendored
Normal file
5
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/SECURITY.md
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
## Reporting a Vulnerability
|
||||
|
||||
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security
|
||||
via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/) or directly via email to aws-security@amazon.com.
|
||||
Please do **NOT** create a public github issue.
|
||||
1644
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/lexicon.txt
vendored
Normal file
1644
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/lexicon.txt
vendored
Normal file
File diff suppressed because it is too large
Load Diff
16
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/pull_request_template.md
vendored
Normal file
16
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/pull_request_template.md
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
<!--- Title -->
|
||||
|
||||
Description
|
||||
-----------
|
||||
<!--- Describe your changes in detail. -->
|
||||
|
||||
Test Steps
|
||||
-----------
|
||||
<!-- Describe the steps to reproduce. -->
|
||||
|
||||
Related Issue
|
||||
-----------
|
||||
<!-- If any, please provide issue ID. -->
|
||||
|
||||
|
||||
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
|
||||
180
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/workflows/ci.yml
vendored
Normal file
180
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,180 @@
|
||||
name: CI Checks
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["**"]
|
||||
pull_request:
|
||||
branches: ["**"]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
unittest:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Clone This Repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Build
|
||||
run: |
|
||||
git submodule update --checkout
|
||||
cd tools/CMock
|
||||
git submodule update --init vendor/unity
|
||||
cd ../..
|
||||
sudo apt-get install -y lcov
|
||||
sudo apt-get install -y unifdef
|
||||
cmake -S test/unit-test -B test/unit-test/build/
|
||||
make -C test/unit-test/build/ all
|
||||
- name: Test
|
||||
run: |
|
||||
cd test/unit-test/build/
|
||||
ctest -E system --output-on-failure
|
||||
cd ..
|
||||
- name: Coverage
|
||||
run: |
|
||||
make -C test/unit-test/build/ coverage
|
||||
lcov --list --rc lcov_branch_coverage=1 test/unit-test/build/coverage.info
|
||||
- name: Check Coverage
|
||||
uses: FreeRTOS/CI-CD-Github-Actions/coverage-cop@main
|
||||
with:
|
||||
path: ./test/unit-test/build/coverage.info
|
||||
|
||||
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
|
||||
path: main
|
||||
- name: Clone This Repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: ./tcp
|
||||
- name: Install spell
|
||||
run: |
|
||||
sudo apt-get install spell
|
||||
sudo apt-get install util-linux
|
||||
- name: Check spelling
|
||||
run: |
|
||||
PATH=$PATH:main/tools/spell
|
||||
# Make sure that the portable directory is not included in the spellcheck.
|
||||
sed -i 's/find $DIRNAME/find $DIRNAME -not -path '*portable*'/g' main/tools/spell/find-unknown-comment-words
|
||||
find-unknown-comment-words --directory tcp/ --lexicon tcp/.github/lexicon.txt
|
||||
if [ "$?" = "0" ]; then
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
formatting:
|
||||
# Use only 18.04 since we want the uncrustify version to
|
||||
# be 0.66.1_f to ensure proper formatting.
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install Uncrustify
|
||||
run: sudo apt-get install uncrustify
|
||||
- name: Run Uncrustify
|
||||
run: |
|
||||
uncrustify --version
|
||||
find . -iname "*.[hc]" -exec uncrustify --check -c tools/uncrustify.cfg {} +
|
||||
if [ "$?" = "0" ]; then
|
||||
exit 0
|
||||
else
|
||||
echo -e "\033[31;1;43mFormatting check (using Uncrustify) failed...\033[0m"
|
||||
echo -e "\033[32;3mTo have the code uncrustified for you, please comment '/bot run uncrustify' (without the quotes) on the Pull Request.\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
- name: Check For Trailing Whitespace
|
||||
run: |
|
||||
set +e
|
||||
grep --exclude="README.md" -rnI -e "[[:blank:]]$" .
|
||||
if [ "$?" = "0" ]; then
|
||||
echo "Files have trailing whitespace."
|
||||
exit 1
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
|
||||
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: ./
|
||||
|
||||
build-checks:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Update submodules
|
||||
run: git submodule update --init --checkout
|
||||
- name: Build checks (Enable all functionalities)
|
||||
run: |
|
||||
cmake -S test/build-combination -B test/build-combination/build/ \
|
||||
-DTEST_CONFIGURATION=ENABLE_ALL
|
||||
make -C test/build-combination/build/
|
||||
- name: Build checks (Disable all functionalities)
|
||||
run: |
|
||||
cmake -S test/build-combination -B test/build-combination/build/ \
|
||||
-DTEST_CONFIGURATION=DISABLE_ALL
|
||||
make -C test/build-combination/build/
|
||||
- name: Build checks (Default configuration)
|
||||
run: |
|
||||
cmake -S test/build-combination -B test/build-combination/build/ \
|
||||
-DTEST_CONFIGURATION=DEFAULT_CONF
|
||||
make -C test/build-combination/build/
|
||||
|
||||
complexity:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup
|
||||
run: sudo apt-get install complexity
|
||||
- name: Install Uncrustify
|
||||
run: sudo apt-get install uncrustify
|
||||
- name: Complexity
|
||||
run: |
|
||||
COMPLEXITY_PARAMS="--scores --threshold=10 --horrid-threshold=283"
|
||||
TEMP_DIR=./temp
|
||||
mkdir -p ${TEMP_DIR}
|
||||
for SOURCE_FILE in source/portable/BufferManagement/*.c source/*.c
|
||||
do
|
||||
TARGET_DIR=${TEMP_DIR}/`dirname ${SOURCE_FILE}`
|
||||
TARGET_FILE=${TARGET_DIR}/`basename ${SOURCE_FILE}`
|
||||
mkdir -p ${TARGET_DIR}
|
||||
uncrustify -c tools/uncrustify.complexity.cfg -f ${SOURCE_FILE} > ${TARGET_FILE}
|
||||
done
|
||||
find ${TEMP_DIR} -iname '*.c' | xargs complexity ${COMPLEXITY_PARAMS}
|
||||
RESULT=$?
|
||||
rm -rf ${TEMP_DIR}
|
||||
if [ "${RESULT}" = "0" ]; then
|
||||
echo "All is good."
|
||||
exit 0
|
||||
else
|
||||
echo "Sources are too complex, rc = " ${RESULT}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
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
|
||||
140
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/workflows/release.yml
vendored
Normal file
140
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,140 @@
|
||||
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 "FreeRTOS-Plus-TCP 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: FreeRTOS-Plus-TCP
|
||||
submodules: recursive
|
||||
- name: Checkout disabled submodules
|
||||
run: |
|
||||
cd FreeRTOS-Plus-TCP
|
||||
git submodule update --init --checkout --recursive
|
||||
- name: Create ZIP
|
||||
run: |
|
||||
zip -r FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}.zip FreeRTOS-Plus-TCP -x "*.git*"
|
||||
ls ./
|
||||
- name: Validate created ZIP
|
||||
run: |
|
||||
mkdir zip-check
|
||||
mv FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}.zip zip-check
|
||||
cd zip-check
|
||||
unzip FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}.zip -d FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}
|
||||
ls FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}
|
||||
diff -r -x "*.git*" FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}/FreeRTOS-Plus-TCP/ ../FreeRTOS-Plus-TCP/
|
||||
cd ../
|
||||
- name: Build
|
||||
run: |
|
||||
cd zip-check/FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}/FreeRTOS-Plus-TCP
|
||||
sudo apt-get install -y lcov
|
||||
sudo apt-get install unifdef
|
||||
cmake -S test/unit-test -B test/unit-test/build/
|
||||
make -C test/unit-test/build/ all
|
||||
- name: Test
|
||||
run: |
|
||||
cd zip-check/FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}/FreeRTOS-Plus-TCP
|
||||
pushd test/unit-test/build/
|
||||
ctest -E system --output-on-failure
|
||||
popd
|
||||
make -C test/unit-test/build/ coverage
|
||||
lcov --list --rc lcov_branch_coverage=1 test/unit-test/build/coverage.info
|
||||
cd ..
|
||||
- name: Create artifact of ZIP
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}.zip
|
||||
path: zip-check/FreeRTOS-Plus-TCP-${{ 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 the FreeRTOS-Plus-TCP Library.
|
||||
draft: false
|
||||
prerelease: false
|
||||
- name: Download ZIP artifact
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: FreeRTOS-Plus-TCP-${{ 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: ./FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}.zip
|
||||
asset_name: FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}.zip
|
||||
asset_content_type: application/zip
|
||||
50
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/workflows/uncrustify.yml
vendored
Normal file
50
kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/.github/workflows/uncrustify.yml
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
name: Uncrustify the source code
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
Uncrustify:
|
||||
name: Run_Uncrustify
|
||||
if: ${{ github.event.issue.pull_request && github.event.comment.body == '/bot run uncrustify' }}
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- name: Dump GitHub context
|
||||
env:
|
||||
GITHUB_CONTEXT: ${{ toJson(github) }}
|
||||
run: echo "$GITHUB_CONTEXT"
|
||||
- name: get pullrequest url
|
||||
run: |
|
||||
echo ${{ github.event.issue.pull_request.url }}
|
||||
- name: get upstream repo
|
||||
id: upstreamrepo
|
||||
run: |
|
||||
echo "::set-output name=RemoteRepo::$(curl -H "Accept: application/vnd.github.sailor-v-preview+json" --url ${{ github.event.issue.pull_request.url }} | jq '.head.repo.full_name' | sed 's/\"//g')"
|
||||
- name: get upstream branch
|
||||
id: upstreambranch
|
||||
run: |
|
||||
echo "::set-output name=branchname::$(curl -H "Accept: application/vnd.github.sailor-v-preview+json" --url ${{ github.event.issue.pull_request.url }} | jq '.head.ref' | sed 's/\"//g')"
|
||||
- name: echo upstream repo:branch
|
||||
run: |
|
||||
echo ${{ steps.upstreamrepo.outputs.RemoteRepo }}:${{ steps.upstreambranch.outputs.branchname }}
|
||||
- name: Checkout upstream repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.PAT }}
|
||||
repository: ${{ steps.upstreamrepo.outputs.RemoteRepo }}
|
||||
ref: ${{ steps.upstreambranch.outputs.branchname }}
|
||||
- name: Install Uncrustify
|
||||
run: sudo apt-get install uncrustify
|
||||
- name: Run Uncrustify
|
||||
run: |
|
||||
uncrustify --version
|
||||
find . -iname "*.[hc]" -exec uncrustify -c tools/uncrustify.cfg --no-backup --replace {} +
|
||||
find . -iname "*.[hc]" -exec uncrustify -c tools/uncrustify.cfg --no-backup --replace {} +
|
||||
- name: Push changes to upstream repository
|
||||
run: |
|
||||
git config --global user.name 'GitHub Action'
|
||||
git config --global user.email 'action@github.com'
|
||||
git add -A
|
||||
git commit -m "Uncrustify: triggered by comment."
|
||||
git push
|
||||
Reference in New Issue
Block a user