Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve internal GitLab CI #17

Merged
merged 6 commits into from
Nov 14, 2023

Conversation

AhmedIsmail02
Copy link
Contributor

@AhmedIsmail02 AhmedIsmail02 commented Oct 30, 2023

Description

This PR is meant to add the following to the internal GitLab CI:

  • Improve the CI to support multiple applications and platforms.

  • Add the quality check stage to the CI where this stage should contain the following checks:

    1. check-changelog-addition: Checks the presence of a change log log file for each raised MR.
    2. gitlint: Checks predetermined format of commit messages.
    3. license: Checks that files contain copyright notices.
    4. pre-commit: See below for hooks used by other projects:
    5. Trims trailing whitespace.
    6. Makes sure files end in a newline and only a newline.
    7. Prevent giant files from being committed.
    8. C/C++ code formatting with uncrustify.
    9. Check if certain unsafe C/C++ APIs are used in your code.
    10. Python code formatting with black and Flake8.
    11. Third-Party IP check: show a warning in the MR whenever a change to TPIP is detected.
      Changes include:
      • Removal of external project.
      • Modification of external project URL, SHA or location in project.
      • Modification of tpip source files.
    12. Dependencies check which check that all submodule entries in the manifest.yml are not missing a license attribute.

Test Steps

Checklist:

  • I have tested my changes. No regression in existing tests.
  • I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@AhmedIsmail02 AhmedIsmail02 requested a review from a team as a code owner October 30, 2023 13:33
@AhmedIsmail02 AhmedIsmail02 force-pushed the improve-internal-gitlab-ci branch 3 times, most recently from d3255c9 to bb37730 Compare November 2, 2023 13:17
@AhmedIsmail02 AhmedIsmail02 force-pushed the improve-internal-gitlab-ci branch from bb37730 to 3f75495 Compare November 2, 2023 15:13
urutva
urutva previously approved these changes Nov 2, 2023
@AhmedIsmail02 AhmedIsmail02 marked this pull request as draft November 3, 2023 11:31
AhmedIsmail02 and others added 3 commits November 10, 2023 11:58
- Hardcoded inputs are replaced by configruable parameters
to allow using the same code for building multiple
applications on different targets without the need
to duplicate codes.

- Fix S3 bucket emptying in cleanup where the script can now
be used to clean up all resources as opposed to just the
resources associated with the aws-iot-example application.

Signed-off-by: Ahmed Ismail <[email protected]>
Blinky example is now added to be built and
run by the internal GitLab CI where the output
of the execution of the application on FVP is
compared to the expected printed statements.

Signed-off-by: Ahmed Ismail <[email protected]>
This matches the dependency project name.

Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Quality check stage is added to the internal GitLab
CI where it includes the following:

- check-changelog-addition: Checking the presence of
a change log log file for each raised MR.

- gitlint: Checking predetermined format of commit messages.

- uncrustify: Checking the c/c++ coding format.

- license: Checking that files contain copyright notices.

- Use the following pre-commit hooks:
    - Trims trailing whitespace.
    - Makes sure files end in a newline and only a newline.
    - Prevent giant files from being committed.
    - C/C++ code formatting with uncrustify.
    - Check if banned unsafe C/C++ APIs are used in the code.
    - Python code formatting with black and Flake8.
    - Dependencies check which check that all submodule entries
        in the manifest.yml are not missing a license attribute

- Third-Party IP check - show a warning in the MR whenever a
change to TPIP is detected. Changes include:
    Removal of external project
    Modification of external project URL, SHA or location in project
    Modification of tpip source files

Signed-off-by: Ahmed Ismail <[email protected]>

fixup: ci: Add
pathlib is modern and there are a lot of improvements
in pathlib.

Signed-off-by: Ahmed Ismail <[email protected]>
@AhmedIsmail02 AhmedIsmail02 force-pushed the improve-internal-gitlab-ci branch from 3287623 to a6e4211 Compare November 13, 2023 09:17
@AhmedIsmail02 AhmedIsmail02 marked this pull request as ready for review November 13, 2023 09:21
@AhmedIsmail02 AhmedIsmail02 requested a review from urutva November 13, 2023 09:22
@urutva urutva merged commit 2e22ef5 into FreeRTOS:main Nov 14, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants