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

tools/refresh.sh: Add option to refresh all archs or all chips #9231

Merged
merged 1 commit into from May 15, 2023

Conversation

acassis
Copy link
Contributor

@acassis acassis commented May 9, 2023

Summary

Currently when we modify some Kconfig related to some chip or some architecture we need to run refresh.sh to all boards that is too slow (more than one hour to finish).

This patch modify the script to update only the boards configs of an specific chip or only the boards of an specific architecture.

Examples:

$ ./tools/refresh.sh --silent --defaults arch renesas
Normalize us7032evb1/ostest
Normalize us7032evb1/nsh
Normalize skp16c26/ostest
Normalize rx65n-rsk2mb/netnsh
Normalize rx65n-rsk2mb/ipv6
Normalize rx65n-rsk2mb/nsh
Normalize rx65n-rsk1mb/netnsh
Normalize rx65n-rsk1mb/nsh
Normalize rx65n-grrose/netnsh
Normalize rx65n-grrose/ipv6
Normalize rx65n-grrose/nsh
Normalize rx65n/nsh

It updates the boards from all 'renesas' architecture (m9c, rx65n, sh1)

$ ./tools/refresh.sh --silent --defaults chip rx65n
Normalize rx65n-rsk2mb/netnsh
Normalize rx65n-rsk2mb/ipv6
Normalize rx65n-rsk2mb/nsh
Normalize rx65n-rsk1mb/netnsh
Normalize rx65n-rsk1mb/nsh
Normalize rx65n-grrose/netnsh
Normalize rx65n-grrose/ipv6
Normalize rx65n-grrose/nsh
Normalize rx65n/nsh

It updates all the boards from renesas chip 'rx65n' family

Impact

Now we don't need to wait hours the get update done for some board architecture or board chip family.

Testing

Basic test using sim, and other boards

@acassis
Copy link
Contributor Author

acassis commented May 10, 2023

@xiaoxiang781216 why the CI is failing? There are many "deattached" messages, also this LVGL warning:

  Cleaning...
find: './lvgl/demos': No such file or directory
find: './lvgl/examples': No such file or directory
find: './lvgl/src/extra': No such file or directory

@xiaoxiang781216
Copy link
Contributor

@xiaoxiang781216 why the CI is failing? There are many "deattached" messages, also this LVGL warning:

  Cleaning...
find: './lvgl/demos': No such file or directory
find: './lvgl/examples': No such file or directory
find: './lvgl/src/extra': No such file or directory

CI failure isn't related to the above message. The problem is that chipkit-wifire trigger the wrong action:

====================================================================================
Configuration/Tool: chipkit-wifire/nsh,CONFIG_MIPS32_TOOLCHAIN_PINGUINOL
------------------------------------------------------------------------------------
  Cleaning...
  Configuring...
  Disabling CONFIG_MIPS32_TOOLCHAIN_GNU_ELF
  Enabling CONFIG_MIPS32_TOOLCHAIN_PINGUINOL
  Building NuttX...
  Normalize tms570ls31x-usb-kit/nsh
  Normalize launchxl-tms57004/nsh

@acassis
Copy link
Contributor Author

acassis commented May 12, 2023

@xiaoxiang781216 could you please merge?

I restarted the CI more than 5 times already and never fixed the issue! Also already did rebase, etc

@xiaoxiang781216
Copy link
Contributor

@xiaoxiang781216 could you please merge?

I restarted the CI more than 5 times already and never fixed the issue! Also already did rebase, etc

your patch has combability issue, why retrigger ci again before you fix the problem?

@acassis
Copy link
Contributor Author

acassis commented May 12, 2023

@xiaoxiang781216 could you please merge?
I restarted the CI more than 5 times already and never fixed the issue! Also already did rebase, etc

your patch has combability issue, why retrigger ci again before you fix the problem?

@xiaoxiang781216 could you please point me where is the compatibility issue?

Please look the patch, it is not change any existing functionality, and the PR passed in all test, except one that is related to some toolchain fails in the CI.

@acassis
Copy link
Contributor Author

acassis commented May 12, 2023

@xiaoxiang781216 could you please merge?
I restarted the CI more than 5 times already and never fixed the issue! Also already did rebase, etc

your patch has combability issue, why retrigger ci again before you fix the problem?

@xiaoxiang781216 could you please point me where is the compatibility issue?

Please look the patch, it is not change any existing functionality, and the PR passed in all test, except one that is related to some toolchain fails in the CI.

Ok, I found the issue, I was comparing:

if [[ "X${CONFIGS}" == "Xchip"* ]];

Instead of:

if [[ "X${CONFIGS}" == "Xchip "* ]];

So, then the refresh.sh was used to normallize "chipkit-wifire/nsh" it was assuming that user want to normalize all chips

@xiaoxiang781216
Copy link
Contributor

should we use <all-chip|all-board>, <chips|boards> or [all/all|all/all/all]? The end space is very hard to use.

@acassis
Copy link
Contributor Author

acassis commented May 13, 2023

should we use <all-chip|all-board>, <chips|boards> or [all/all|all/all/all]? The end space is very hard to use.

There is not end space @xiaoxiang781216, the tested space is because we need to inform the "chip name" or the "arch name".

Please see the examples:

$ ./tools/refresh.sh --silent --defaults arch renesas

and

$ ./tools/refresh.sh --silent --defaults chip rx65n

@xiaoxiang781216
Copy link
Contributor

xiaoxiang781216 commented May 13, 2023

arch:renesas or arch/renesas may algin with sim:adb better?

Currently when we modify some Kconfig related to some chip or
some architecture we need to run refresh.sh to all boards that
is too slow (more than one hour to finish).

This patch modify the script to update only the boards configs
of an specific chip or only the boards of an specific architecture.

Examples:

$ ./tools/refresh.sh --silent --defaults arch:renesas
  Normalize us7032evb1/ostest
  Normalize us7032evb1/nsh
  Normalize skp16c26/ostest
  Normalize rx65n-rsk2mb/netnsh
  Normalize rx65n-rsk2mb/ipv6
  Normalize rx65n-rsk2mb/nsh
  Normalize rx65n-rsk1mb/netnsh
  Normalize rx65n-rsk1mb/nsh
  Normalize rx65n-grrose/netnsh
  Normalize rx65n-grrose/ipv6
  Normalize rx65n-grrose/nsh
  Normalize rx65n/nsh

It updates the boards from all 'renesas' architecture (m9c, rx65n, sh1)

$ ./tools/refresh.sh --silent --defaults chip:rx65n
  Normalize rx65n-rsk2mb/netnsh
  Normalize rx65n-rsk2mb/ipv6
  Normalize rx65n-rsk2mb/nsh
  Normalize rx65n-rsk1mb/netnsh
  Normalize rx65n-rsk1mb/nsh
  Normalize rx65n-grrose/netnsh
  Normalize rx65n-grrose/ipv6
  Normalize rx65n-grrose/nsh
  Normalize rx65n/nsh

It updates all the boards from renesas chip 'rx65n' family
@acassis
Copy link
Contributor Author

acassis commented May 14, 2023

@xiaoxiang781216 done!

@xiaoxiang781216 xiaoxiang781216 merged commit d3b6bbe into apache:master May 15, 2023
26 checks passed
@jerpelea jerpelea added this to To-Add in Release Notes - 12.2.0 Jun 13, 2023
@jerpelea jerpelea moved this from To-Add to In Progress in Release Notes - 12.2.0 Jun 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

3 participants