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

Secure binaries release script #9928

Merged
merged 2 commits into from Mar 6, 2019

Conversation

Projects
None yet
7 participants
@orenc17
Copy link
Contributor

commented Mar 4, 2019

Description

This script will find all the PSA targets and compile their secure binaries (Including test secure binaries)

Pull request type

[ ] Fix
[X] Refactor
[ ] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

@ARMmbed/mbed-os-tools @ARMmbed/mbed-os-maintainers

Release Notes

Show resolved Hide resolved tools/psa/release.py Outdated
tools/psa/release.py Outdated
def build_mbed_spm_platform(target, toolchain):
subprocess.call([
PYTHON_EXEC,
'-u',

This comment has been minimized.

Copy link
@theotherjimmy

theotherjimmy Mar 4, 2019

Contributor

Is there a reason you chose to call test.py instead of invoke the python directly? Both are within the same directory after all.

This comment has been minimized.

Copy link
@theotherjimmy

theotherjimmy Mar 4, 2019

Contributor

I'm not sure I was clear here: I mean you can import the functions that test.py calls and call them as well.

This comment has been minimized.

Copy link
@orenc17

orenc17 Mar 4, 2019

Author Contributor

main() function?

This comment has been minimized.

Copy link
@theotherjimmy

theotherjimmy Mar 4, 2019

Contributor

I was thinking of build_project and build_tests and build_library.

This comment has been minimized.

Copy link
@orenc17

orenc17 Mar 4, 2019

Author Contributor

and then i'll need to update this tool everytime the internals change ( true, that's rare to happen but better safe than sorry)

Show resolved Hide resolved tools/psa/release.py Outdated
Show resolved Hide resolved tools/psa/release.py Outdated

@orenc17 orenc17 force-pushed the kfnta:secure_release branch Mar 4, 2019

@orenc17

This comment has been minimized.

Copy link
Contributor Author

commented Mar 4, 2019

@theotherjimmy i've addressed all the issues please review again

@theotherjimmy

This comment has been minimized.

Copy link
Contributor

commented Mar 4, 2019

@orenc17 Sorry for the miscommunication. when I was recommending that you drop the if-expression for python executable, I meant to use sys.executable for all of them, not "python". That way when you do python3 tools/psa/release.py you invoke make.py with the same python, regardless of what the system default is.

@theotherjimmy
Copy link
Contributor

left a comment

This is what I was trying to convey. Sorry for the confusion.

Show resolved Hide resolved tools/psa/release.py Outdated
Show resolved Hide resolved tools/psa/release.py Outdated
Show resolved Hide resolved tools/psa/release.py Outdated
Show resolved Hide resolved tools/psa/release.py Outdated
Secure binaries release script
This script will find all the PSA targets and compile their secure binaries
Including test secure binaries

@orenc17 orenc17 force-pushed the kfnta:secure_release branch to 7b44834 Mar 4, 2019

@orenc17

This comment has been minimized.

Copy link
Contributor Author

commented Mar 5, 2019

@NirSonnenschein NirSonnenschein requested review from ARMmbed/mbed-os-maintainers Mar 5, 2019

@0xc0170
Copy link
Member

left a comment

Where's documentation for this script? docs PR?

@NirSonnenschein

This comment has been minimized.

Copy link
Contributor

commented Mar 6, 2019

got request to move this to 5.12Rc2 , added tag pending final review.
This PR is important for uniform generation of all secure side images upon changes to the secure side code.

@0xc0170

This comment has been minimized.

Copy link
Member

commented Mar 6, 2019

@NirSonnenschein where should documentation live for this? How uses it and how?

Will it be part of PSA docs?

@NirSonnenschein

This comment has been minimized.

Copy link
Contributor

commented Mar 6, 2019

@0xc0170 this is a tool, mainly for internal use (e.g. maintainers, PSA development, etc..) but could also be used for silicon partners and potentially as part of the release process.
I think for such tools it is probably good to document inline, unless it becomes part of an official procedure ( e.g. release process ) in which case it should definitely be added to the docs

@0xc0170

This comment has been minimized.

Copy link
Member

commented Mar 6, 2019

If that is case, inline docs should be present

@0xc0170
Copy link
Member

left a comment

Inline docs as mentioned above what is this script for and how to use it, LGTM otherwise

@orenc17

This comment has been minimized.

Copy link
Contributor Author

commented Mar 6, 2019

@NirSonnenschein @0xc0170
complete documentation is in #9963

@cmonr

This comment has been minimized.

Copy link
Contributor

commented Mar 6, 2019

CI started

@cmonr cmonr requested a review from 0xc0170 Mar 6, 2019

@cmonr cmonr added needs: CI and removed needs: work labels Mar 6, 2019

@mbed-ci

This comment has been minimized.

Copy link

commented Mar 6, 2019

Test run: SUCCESS

Summary: 13 of 13 test jobs passed
Build number : 1
Build artifacts

Docs will be added in separate PR

@cmonr

cmonr approved these changes Mar 6, 2019

@cmonr cmonr merged commit 120e43e into ARMmbed:master Mar 6, 2019

28 checks passed

continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
jenkins-ci/build-ARMC5 Success
Details
jenkins-ci/build-ARMC6 Success
Details
jenkins-ci/build-GCC_ARM Success
Details
jenkins-ci/build-IAR8 Success
Details
jenkins-ci/cloud-client-test Success
Details
jenkins-ci/dynamic-memory-usage RTOS ROM(+0 bytes) RAM(+0 bytes)
Details
jenkins-ci/exporter Success
Details
jenkins-ci/greentea-test Success
Details
jenkins-ci/mbed2-build-ARMC5 Success
Details
jenkins-ci/mbed2-build-ARMC6 Success
Details
jenkins-ci/mbed2-build-GCC_ARM Success
Details
jenkins-ci/mbed2-build-IAR8 Success
Details
jenkins-ci/unittests Success
Details
travis-ci/astyle Local astyle testing has passed
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/doxy-spellcheck Local doxy-spellcheck testing has passed
Details
travis-ci/events Passed, runtime is 9942 cycles (-589 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/include_check Local include_check testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 8408B (+0.00%)
Details
travis-ci/psa-autogen Local psa-autogen testing has passed
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details
travis-ci/tools-py3.5 Local tools-py3.5 testing has passed
Details
travis-ci/tools-py3.6 Local tools-py3.6 testing has passed
Details
travis-ci/tools-py3.7 Local tools-py3.7 testing has passed
Details

@cmonr cmonr removed the needs: CI label Mar 6, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.