Re: Can layer maintainers add yocto-X.Y tags for yocto-3.3 and later?
On 4/27/21 9:48 AM, Randy MacLeod wrote:
Hi,So the official starting point is what you are looking for? is there any expectation to tag for dot release alignment? Of course it's up to users to decide if they are going to followWhat's more important, tag or branch? Many layers hosted on git.yp.org don't have the 'hardknott' branch. If the discipline to create a new branch is not their, I have a hard time believing 'tagging' will be high on their list. Tagging in Poky has a meaning of a fully QA set of sources at a given point of time. It may be interpreted by users that if a tag showed up in other layers, those layers are also fully tested. I think you mean 'Yocto Compatible'. Branching is already a requirement IIRC as the program is against a specific branch. -armin Should it be a feature tested by the yocto compliance script?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: [OE-core] [PATCH 6/7] default-distrovars.inc: add wayland/opengl to default distro features
Alexander Kanavin
Wait a moment, I am not sure I understand the argument about software rendering. Can you please elaborate? What is the scenario where enabling opengl would regress from something hw-accelerated to software rendering? Alex
On Tue, 27 Apr 2021 at 19:09, Otavio Salvador <otavio.salvador@...> wrote: Em ter., 27 de abr. de 2021 às 13:10, Randy MacLeod
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Can layer maintainers add yocto-X.Y tags for yocto-3.3 and later?
On Tue, Apr 27, 2021 at 9:48 AM Randy MacLeod
<randy.macleod@windriver.com> wrote: I think this could be a good thing, although it does put the burden on release maintainers. mostly they test against the tip of the release branch, So if yocto project testing is including these layers for wider testing and can then recommend a validated commit then perhaps this could be made viable.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Can layer maintainers add yocto-X.Y tags for yocto-3.3 and later?
Claude Bing
This would be a helpful addition for us when upgrading between named
toggle quoted messageShow quoted text
Yocto releases. Normally, when we are ready to upgrade, we checkout the HEAD for the named branch and try to get everything working together. Having a tagged commit for a version would (hopefully) help ensure that all of the layers are in the same state as when it went through QA testing. If we are upgrading at some arbitrary point after the release was made, some layers could have additional commits that may require changes which have not yet made it into the dependent layers. Regards, Claude Bing
On 4/27/21 12:48 PM, Randy MacLeod wrote:
Hi,
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Can layer maintainers add yocto-X.Y tags for yocto-3.3 and later?
Hi,
I've CCed some of the maintainers of more widely used Yocto layers to get comments on about tagging. Please add in people who I may have missed. For a while now, oe-core has had a yocto-X.Y tag in addition to the release branch name. This helps users easily find the exact commit that corresponds to the say 3.3 GA release. There have been some omissions in tagging but Michael and Richard are adjusting the release process so that tagging will happen more consistently. Most yocto layers have not adopted the tagging perhaps because they weren't aware of it so that's why I'm writing this email. Tagging will make it easy to find the first commit for a specific release independent of what the branching policy of a layer is. Layer maintainers sometimes create the release branch in advance of when oe-core is released and by adding the tag, it would make it clear when the layer considers content to be officially released. Of course it's up to users to decide if they are going to follow the HEAD of a branch or, for some reason, stick with a tagged commit or private branch off that commit. Are there any concerns about attempting to do this for yocto-3.3 and later? Should we make it a requirement for yocto compliance? Should it be a feature tested by the yocto compliance script? Here's what's in oe-core and bitbake now: $ cd .../oe-core.git $ git tag -l | grep yocto-3 yocto-3.0 yocto-3.1 yocto-3.1.7 yocto-3.2 yocto-3.2.1 yocto-3.3 $ cd bitbake/ $ git tag -l | grep yocto-3 yocto-3.0 yocto-3.1 yocto-3.2 -- # Randy MacLeod # Wind River Linux
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: [OE-core] [PATCH 6/7] default-distrovars.inc: add wayland/opengl to default distro features
Cross-posting to yocto since this is of general interest.
On 2021-04-23 2:02 p.m., Alexander Kanavin wrote: This puts them on equal terms with x11 distro featureWe (Wind River) already drop the x11 DF from some of our distros and we'd likely do the same for wayland and opengl so while this seems like the wrong change for headless systems it is one we could deal with. There was some discussion about this topic on the tech call today and people were concerned about BSP support for opengl since the software rendering in mesa is horridly slow. Kevin, Bryan, Can you comment if you think we'd have any show-stopper problems with opengl support for BSPs? Joshua said that weston has a usable RDP (remote desktop backend) but I'm not sure how usable it is especially for single application sharing. This contrasts with x11 where you can use X11 forwarding over ssh trivially for whole desktops or an application. In conclusion, I see the value in pushing yocto forward but we may need to wait for agreement from BSP folks so let's see what they say. ../Randy -- # Randy MacLeod # Wind River Linux
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Yocto Project Status WW17`21
Stephen Jolley
Current Dev Position: YP 3.4 M1 Next Deadline: 7th June 2021 YP 3.4 M1 build
Next Team Meetings:
Key Status/Updates:
We are working to identify the load pattern on the infrastructure that seems to trigger these.
Ways to contribute:
YP 3.4 Milestone Dates:
Planned upcoming dot releases:
Tracking Metrics:
The Yocto Project’s technical governance is through its Technical Steering Committee, more information is available at: https://wiki.yoctoproject.org/wiki/TSC
The Status reports are now stored on the wiki at: https://wiki.yoctoproject.org/wiki/Weekly_Status
[If anyone has suggestions for other information you’d like to see on this weekly status update, let us know!] Thanks,
Stephen K. Jolley Yocto Project Program Manager ( Cell: (208) 244-4460 * Email: sjolley.yp.pm@...
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
looking for a bit more info on licensing certain recipe files
Robert P. J. Day
for the first time, i'm digging around in the docs for how to
properly license various types of recipes, so a couple simple questions to start with, at least so i can make a first pass of cleaning up some content in front of me. as we established recently, packagegroup files need no licensing, the obvious observation being that they represent the collection of licenses that comprise them. however, i notice that the packagegroup.bbclass file does indeed define a default license: LICENSE ?= "MIT" so not only does a packagegroup have a default (MIT) license, but it's conditional suggesting one could give it a different license. what other licenses would make sense for a packagegroup? I'm sticking with the default that packagegroup recipe files need no LICENSE assignment, but now i'm curious as to what other options there are (or perhaps that that default assignment in packagegroup.bbclass is obsolete). the same sort of question can be asked about image files, including the generic OE core-image*.bb recipe files. of all those current core-image files: core-image-base.bb core-image-minimal.bb core-image-minimal-dev.bb core-image-minimal-initramfs.bb core-image-minimal-mtdutils.bb core-image-tiny-initramfs.bb fail into two camps. the first sets a license, then inherits core-image: LICENSE = "MIT" inherit core-image the second type simply "require"s one of the other recipe files so it has no need to set its own license, as in core-image-minimal-dev.bb: require core-image-minimal.bb similar to packagegroups, does a core-image recipe really need a separate LICENSE setting, or could that be added to core-image.bbclass to centralize it (if it's even needed at all)? finally, WRT .bbappend files, the original recipes will have their own licenses and if the .bbappend file is doing nothing but adding some configuration (you know, PACKAGECONFIG, EXTRA_OEMAKE, that sort of thing), then there should be no need for licensing in the bbappend file. does all this sound reasonable so far? rday
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: ERROR: Fetcher failure: Fetch command export...
Quentin Schulz
On Tue, Apr 27, 2021 at 02:01:24AM -0400, jchludzinski via lists.yoctoproject.org wrote:
When I trying using bitbake to build openembedded Linux kernel, it dies withIt looks like an issue with your DNS which does not return anything for downloads.yoctoproject.org? Cheers, Quentin
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: running application in user mode instead of root
#yocto
Alessandro Tagliapietra
I'm new to yocto as well but what we do is in our own custom image:
inherit extrausers EXTRA_USERS_PARAMS = " useradd nodered" and then since we use systemd we've created our own service file that includes: User=nodered in the [service] block definition, so the executable is run using that user instead of root. Extrausers docs are https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#ref-classes-extrausers An alternative you might look at is the useradd class https://git.yoctoproject.org/cgit.cgi/poky/tree/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb which probably lets you set the users in your own recipe instead at image level
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: running application in user mode instead of root
#yocto
Yann Dirson
Hello,
I am trying to run my application in less privilege mode instead of root user.You may be interested in ROOTLESS_X="1", to open a non-priviledged X11 session.
-- Yann Dirson <yann@blade-group.com> Blade / Shadow -- http://shadow.tech
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
running application in user mode instead of root
#yocto
mail2uvijay@...
Hi All,
I am trying to run my application in less privilege mode instead of root user. As i am new to Yocto build could you please some one suggest on how to configure my build environment to get user and run my application with the user privileges at startup. Regards, Vijay
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ERROR: Fetcher failure: Fetch command export...
jchludzinski
When I trying using bitbake to build openembedded Linux kernel, it dies with these download failures:
NOTE: Fetching uninative binary shim http://downloads.yoctoproject.org/releases/uninative/3.0/x86_64-nativesdk-libc.tar.xz;sha256sum=5ec5a9276046e7eceeac749a18b175667384e1f445cd4526300a41404d985a5b (will check PREMIRRORS first)
WARNING: Failed to fetch URL http://downloads.yoctoproject.org/releases/uninative/3.0/x86_64-nativesdk-libc.tar.xz;sha256sum=5ec5a9276046e7eceeac749a18b175667384e1f445cd4526300a41404d985a5b, attempting MIRRORS if available
ERROR: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/home/jski/poky/scripts:/home/jski/poky/build/tmp/work/core2-64-poky-linux/defaultpkgname/1.0-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux:/home/jski/poky/build/tmp/work/core2-64-poky-linux/defaultpkgname/1.0-r0/recipe-sysroot/usr/bin/crossscripts:/home/jski/poky/build/tmp/work/core2-64-poky-linux/defaultpkgname/1.0-r0/recipe-sysroot-native/usr/sbin:/home/jski/poky/build/tmp/work/core2-64-poky-linux/defaultpkgname/1.0-r0/recipe-sysroot-native/usr/bin:/home/jski/poky/build/tmp/work/core2-64-poky-linux/defaultpkgname/1.0-r0/recipe-sysroot-native/sbin:/home/jski/poky/build/tmp/work/core2-64-poky-linux/defaultpkgname/1.0-r0/recipe-sysroot-native/bin:/home/jski/poky/bitbake/bin:/home/jski/poky/build/tmp/hosttools"; export HOME="/home/jski"; /usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate -P /home/jski/poky/build/downloads/uninative/5ec5a9276046e7eceeac749a18b175667384e1f445cd4526300a41404d985a5b 'http://downloads.yoctoproject.org/releases/uninative/3.0/x86_64-nativesdk-libc.tar.xz' --progress=dot -v failed with exit code 4, output:
--2021-04-27 01:49:09-- http://downloads.yoctoproject.org/releases/uninative/3.0/x86_64-nativesdk-libc.tar.xz
Resolving downloads.yoctoproject.org (downloads.yoctoproject.org)... failed: Connection timed out.
wget: unable to resolve host address ‘downloads.yoctoproject.org’
WARNING: Disabling uninative as unable to fetch uninative tarball: Fetcher failure for URL: 'http://downloads.yoctoproject.org/releases/uninative/3.0/x86_64-nativesdk-libc.tar.xz;sha256sum=5ec5a9276046e7eceeac749a18b175667384e1f445cd4526300a41404d985a5b'. Unable to fetch URL from any source.
WARNING: To build your own uninative loader, please bitbake uninative-tarball and set UNINATIVE_TARBALL appropriately.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
M+ & H bugs with Milestone Movements WW17
Stephen Jolley
All,
Thanks,
Stephen K. Jolley Yocto Project Program Manager ( Cell: (208) 244-4460 * Email: sjolley.yp.pm@...
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Enhancements/Bugs closed WW17!
Stephen Jolley
All,
Thanks,
Stephen K. Jolley Yocto Project Program Manager ( Cell: (208) 244-4460 * Email: sjolley.yp.pm@...
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current high bug count owners for Yocto Project 3.4
Stephen Jolley
All,
Thanks,
Stephen K. Jolley Yocto Project Program Manager ( Cell: (208) 244-4460 * Email: sjolley.yp.pm@...
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Yocto Project Newcomer & Unassigned Bugs - Help Needed
Stephen Jolley
All,
The triage team is starting to try and collect up and classify bugs which a newcomer to the project would be able to work on in a way which means people can find them. They're being listed on the triage page under the appropriate heading: https://wiki.yoctoproject.org/wiki/Bug_Triage#Newcomer_Bugs Also please review: https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded and how to create a bugzilla account at: https://bugzilla.yoctoproject.org/createaccount.cgi The idea is these bugs should be straight forward for a person to help work on who doesn't have deep experience with the project. If anyone can help, please take ownership of the bug and send patches! If anyone needs help/advice there are people on irc who can likely do so, or some of the more experienced contributors will likely be happy to help too.
Also, the triage team meets weekly and does its best to handle the bugs reported into the Bugzilla. The number of people attending that meeting has fallen, as have the number of people available to help fix bugs. One of the things we hear users report is they don't know how to help. We (the triage team) are therefore going to start reporting out the currently 356 unassigned or newcomer bugs.
We're hoping people may be able to spare some time now and again to help out with these. Bugs are split into two types, "true bugs" where things don't work as they should and "enhancements" which are features we'd want to add to the system. There are also roughly four different "priority" classes right now, “3.2”, “3.3, "3.99" and "Future", the more pressing/urgent issues being in "3.2" and then “3.3”.
Please review this link and if a bug is something you would be able to help with either take ownership of the bug, or send me (sjolley.yp.pm@...) an e-mail with the bug number you would like and I will assign it to you (please make sure you have a Bugzilla account). The list is at: https://wiki.yoctoproject.org/wiki/Bug_Triage_Archive#Unassigned_or_Newcomer_Bugs
Thanks,
Stephen K. Jolley Yocto Project Program Manager ( Cell: (208) 244-4460 * Email: sjolley.yp.pm@...
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[meta-zephyr][PATCH 1/1] CI: add Gitlab CI support
Jon Mason
Signed-off-by: Jon Mason <jon.mason@arm.com>
--- .gitlab-ci.yml | 172 ++++++++++++++++++++++++++++++++++++++ ci/96b-avenger96.yml | 9 ++ ci/96b-nitrogen.yml | 6 ++ ci/acrn.yml | 6 ++ ci/base.yml | 35 ++++++++ ci/check-machine-coverage | 26 ++++++ ci/check-warnings | 18 ++++ ci/jobs-to-kas | 19 +++++ ci/logging.yml | 13 +++ ci/meta-oe.yml | 8 ++ ci/meta-python.yml | 10 +++ ci/qemu-cortex-m3.yml | 6 ++ ci/qemu-nios2.yml | 6 ++ ci/qemu-x86.yml | 6 ++ ci/testimage.yml | 5 ++ ci/update-repos | 40 +++++++++ 16 files changed, 385 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 ci/96b-avenger96.yml create mode 100644 ci/96b-nitrogen.yml create mode 100644 ci/acrn.yml create mode 100644 ci/base.yml create mode 100755 ci/check-machine-coverage create mode 100755 ci/check-warnings create mode 100755 ci/jobs-to-kas create mode 100644 ci/logging.yml create mode 100644 ci/meta-oe.yml create mode 100644 ci/meta-python.yml create mode 100644 ci/qemu-cortex-m3.yml create mode 100644 ci/qemu-nios2.yml create mode 100644 ci/qemu-x86.yml create mode 100644 ci/testimage.yml create mode 100755 ci/update-repos diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000000..06cdf535e53b --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,172 @@ +image: ghcr.io/siemens/kas/kas + + # First do a common bootstrap, and then build all the targets +stages: + - prep + - bootstrap + - build + - test + +# Common job fragment to get a worker ready +.setup: + stage: build + variables: + KAS_WORK_DIR: $CI_PROJECT_DIR/work + KAS_REPO_REF_DIR: $CI_BUILDS_DIR/persist/repos + SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate + DL_DIR: $CI_BUILDS_DIR/persist/downloads + BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml + before_script: + - echo KAS_WORK_DIR = $KAS_WORK_DIR + - echo SSTATE_DIR = $SSTATE_DIR + - echo DL_DIR = $DL_DIR + - mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR + +# Generalised fragment to do a Kas build +.build: + extends: .setup + script: + - KASFILES=$(./ci/jobs-to-kas $CI_JOB_NAME) + - kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf' + - kas build $KASFILES + - ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log + +# KAS testing +.test: + extends: .setup + stage: test + script: + - KASFILES=$(./ci/jobs-to-kas $CI_JOB_NAME) + - kas build $KASFILES -c testimage + + +# +# Prep stage, update repositories once +# +update-repos: + extends: .setup + stage: prep + script: + - flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos + + +# +# Bootstrap stage, machine coverage +# + +# What percentage of machines in the layer do we build +machine-coverage: + stage: bootstrap + script: + - ./ci/check-machine-coverage + coverage: '/Coverage: \d+/' + + +# +# Build stage, the actual build jobs +# + +96b-avenger96: + extends: .build + +96b-nitrogen: + extends: .build + +acrn: + extends: .build + +qemu-cortex-m3: + extends: .build + artifacts: + paths: + - work/build/tmp-newlib/deploy/images/qemu-cortex-m3/* + expire_in: 1 day + +qemu-nios2: + extends: .build + artifacts: + paths: + - work/build/tmp-newlib/deploy/images/qemu-nios2/* + expire_in: 1 day + allow_failure: true + +qemu-x86: + extends: .build + artifacts: + paths: + - work/build/tmp-newlib/deploy/images/qemu-x86/* + expire_in: 1 day + + +# +# Third phase, the test jobs +# + +# QEMU based machines can use testimage, others will need something else (i.e., LAVA) + +qemu-cortex-m3/testimage: + extends: .test + needs: + - job: qemu-cortex-m3 + +qemu-nios2/testimage: + extends: .test + needs: + - job: qemu-nios2 + allow_failure: true + +qemu-x86/testimage: + extends: .test + needs: + - job: qemu-x86 + + +# +# Utility tasks, not executed automatically +# + +# Make the persistant files modifiable by all runners +chmod-presistent: + extends: .setup + stage: prep + when: manual + script: + - chmod -R 755 $CI_BUILDS_DIR/persist/* + +delete-dl-dir: + extends: .setup + stage: prep + when: manual + script: + - rm -rf $DL_DIR/* + +delete-repo-dir: + extends: .setup + stage: prep + when: manual + script: + - rm -rf $KAS_REPO_REF_DIR/* + +# Delete all sstate +delete-sstate: + extends: .setup + stage: prep + when: manual + script: + - rm -rf $SSTATE_DIR/* + +# Wipe out old sstate +prune-sstate: + extends: .setup + stage: prep + when: manual + script: + - find $SSTATE_DIR -type f -atime +30 -delete + +# Report on disk usage +usage: + extends: .setup + stage: prep + when: manual + script: + - du -h -s $DL_DIR $SSTATE_DIR $KAS_REPO_REF_DIR diff --git a/ci/96b-avenger96.yml b/ci/96b-avenger96.yml new file mode 100644 index 000000000000..9ab58aa83ffa --- /dev/null +++ b/ci/96b-avenger96.yml @@ -0,0 +1,9 @@ +header: + version: 9 + includes: + - base.yml + +machine: 96b-avenger96 + +target: + - zephyr-philosophers diff --git a/ci/96b-nitrogen.yml b/ci/96b-nitrogen.yml new file mode 100644 index 000000000000..ecd96fb67136 --- /dev/null +++ b/ci/96b-nitrogen.yml @@ -0,0 +1,6 @@ +header: + version: 9 + includes: + - base.yml + +machine: 96b-nitrogen diff --git a/ci/acrn.yml b/ci/acrn.yml new file mode 100644 index 000000000000..53748defebec --- /dev/null +++ b/ci/acrn.yml @@ -0,0 +1,6 @@ +header: + version: 9 + includes: + - base.yml + +machine: acrn diff --git a/ci/base.yml b/ci/base.yml new file mode 100644 index 000000000000..8e6cf0caf525 --- /dev/null +++ b/ci/base.yml @@ -0,0 +1,35 @@ +header: + version: 9 + includes: + - meta-python.yml + +distro: zephyr + +defaults: + repos: + refspec: hardknott + +repos: + meta-zephyr: + + poky: + url: https://git.yoctoproject.org/git/poky + layers: + meta: + meta-poky: + +env: + BB_LOGCONFIG: "" + +local_conf_header: + base: | + CONF_VERSION = "1" + INHERIT += "rm_work" + ERROR_QA = "${WARN_QA}" + testimage: | + IMAGE_CLASSES += "testimage" + +machine: unset + +target: + - zephyr-kernel-test-device diff --git a/ci/check-machine-coverage b/ci/check-machine-coverage new file mode 100755 index 000000000000..726714d8b0fe --- /dev/null +++ b/ci/check-machine-coverage @@ -0,0 +1,26 @@ +#! /usr/bin/env python3 + +from pathlib import Path +import sys + +metazephyr = Path.cwd() + +if metazephyr.name != "meta-zephyr": + print("Not running inside meta-zephyr") + sys.exit(1) + +# All machine configurations +machines = metazephyr.glob("conf/machine/*.conf") +machines = set(p.stem for p in machines) + +# All kas files +kas = metazephyr.glob("ci/*.yml") +kas = set(p.stem for p in kas) + +missing = machines - kas +print(f"The following machines are missing: {', '.join(sorted(missing))}.") + +covered = len(machines) - len(missing) +total = len(machines) +percent = int(covered / total * 100) +print(f"Coverage: {percent}%") diff --git a/ci/check-warnings b/ci/check-warnings new file mode 100755 index 000000000000..cc396423d8bf --- /dev/null +++ b/ci/check-warnings @@ -0,0 +1,18 @@ +#! /bin/bash + +# Expects the path to a log file as $1, and if this file has any content +# then display the contents and exit with an error code. + +set -e -u + +LOGFILE=$1 + +if test -s $LOGFILE; then + echo ============================== + echo The build had warnings/errors: + echo ============================== + cat $LOGFILE + exit 1 +fi + +exit 0 diff --git a/ci/jobs-to-kas b/ci/jobs-to-kas new file mode 100755 index 000000000000..70579703bc07 --- /dev/null +++ b/ci/jobs-to-kas @@ -0,0 +1,19 @@ +#! /bin/bash + +# Read a GitLab CI job name on $1 and transform it to a +# list of Kas yaml files + +set -e -u + +# Read Job namne from $1 and split on / +IFS=/ read -r -a PARTS<<<$1 + +# Prefix each part with ci/ +PARTS=("${PARTS[@]/#/ci/}") + +# Suffix each part with .yml +PARTS=("${PARTS[@]/%/.yml}") + +# Print colon-separated +IFS=":" +echo "${PARTS[*]}" diff --git a/ci/logging.yml b/ci/logging.yml new file mode 100644 index 000000000000..3af10295f8f3 --- /dev/null +++ b/ci/logging.yml @@ -0,0 +1,13 @@ +# Python logging configuration to write all warnings to a separate file +version: 1 + +handlers: + warnings: + class: logging.FileHandler + level: WARNING + filename: warnings.log + formatter: BitBake.logfileFormatter + +loggers: + BitBake: + handlers: [warnings] diff --git a/ci/meta-oe.yml b/ci/meta-oe.yml new file mode 100644 index 000000000000..ccd34f3a3ffa --- /dev/null +++ b/ci/meta-oe.yml @@ -0,0 +1,8 @@ +header: + version: 9 + +repos: + meta-openembedded: + url: https://git.openembedded.org/meta-openembedded + layers: + meta-oe: diff --git a/ci/meta-python.yml b/ci/meta-python.yml new file mode 100644 index 000000000000..3f76118ccd09 --- /dev/null +++ b/ci/meta-python.yml @@ -0,0 +1,10 @@ +header: + version: 9 + includes: + - meta-oe.yml + +repos: + meta-openembedded: + url: https://git.openembedded.org/meta-openembedded + layers: + meta-python: diff --git a/ci/qemu-cortex-m3.yml b/ci/qemu-cortex-m3.yml new file mode 100644 index 000000000000..73b46039abed --- /dev/null +++ b/ci/qemu-cortex-m3.yml @@ -0,0 +1,6 @@ +header: + version: 9 + includes: + - base.yml + +machine: qemu-cortex-m3 diff --git a/ci/qemu-nios2.yml b/ci/qemu-nios2.yml new file mode 100644 index 000000000000..75166054c265 --- /dev/null +++ b/ci/qemu-nios2.yml @@ -0,0 +1,6 @@ +header: + version: 9 + includes: + - base.yml + +machine: qemu-nios2 diff --git a/ci/qemu-x86.yml b/ci/qemu-x86.yml new file mode 100644 index 000000000000..c5d23f471bf8 --- /dev/null +++ b/ci/qemu-x86.yml @@ -0,0 +1,6 @@ +header: + version: 9 + includes: + - base.yml + +machine: qemu-x86 diff --git a/ci/testimage.yml b/ci/testimage.yml new file mode 100644 index 000000000000..19ea66773b94 --- /dev/null +++ b/ci/testimage.yml @@ -0,0 +1,5 @@ +header: + version: 9 + +target: + - zephyr-kernel-test-device diff --git a/ci/update-repos b/ci/update-repos new file mode 100755 index 000000000000..fa638aad2efb --- /dev/null +++ b/ci/update-repos @@ -0,0 +1,40 @@ +#! /usr/bin/env python3 + +# Update clones of the repositories we need in KAS_REPO_REF_DIR to speed up fetches + +import sys +import os +import subprocess +import pathlib + +def repo_shortname(url): + # Taken from Kas (Repo.__getattr__) to ensure the logic is right + from urllib.parse import urlparse + url = urlparse(url) + return ('{url.netloc}{url.path}' + .format(url=url) + .replace('@', '.') + .replace(':', '.') + .replace('/', '.') + .replace('*', '.')) + +repositories = ( + "https://git.yoctoproject.org/git/poky", + "https://git.openembedded.org/meta-openembedded", +) + +if __name__ == "__main__": + if "KAS_REPO_REF_DIR" not in os.environ: + print("KAS_REPO_REF_DIR needs to be set") + sys.exit(1) + + base_repodir = pathlib.Path(os.environ["KAS_REPO_REF_DIR"]) + + for repo in repositories: + repodir = base_repodir / repo_shortname(repo) + if repodir.exists(): + print("Updating %s..." % repo) + subprocess.run(["git", "-C", repodir, "fetch"], check=True) + else: + print("Cloning %s..." % repo) + subprocess.run(["git", "clone", "--bare", repo, repodir], check=True) -- 2.20.1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[meta-zephyr][PATCH 0/1] Gitlab CI for meta-zephyr
Jon Mason
No one asked for it, but here it is, Gitlab CI for meta-zephyr. Stolen and repurposed from meta-arm. This building and testing should help discover regressions more quickly. And if you include this patch, I'll do nightly builds via my gitlab account (https://gitlab.com/jonmason00/meta-zephyr/-/pipelines) for all to observe.
NOTE: I've been unable to get qemu-nios2 to build. So, I've set the gitlab ci flag of "allow_failures". If someone can tell me the magical incantations to get it working, I'll happily modify the gitlab ci to get it working. Thanks, Jon --- Jon Mason (1): CI: add Gitlab CI support .gitlab-ci.yml | 172 ++++++++++++++++++++++++++++++++++++++ ci/96b-avenger96.yml | 9 ++ ci/96b-nitrogen.yml | 6 ++ ci/acrn.yml | 6 ++ ci/base.yml | 35 ++++++++ ci/check-machine-coverage | 26 ++++++ ci/check-warnings | 18 ++++ ci/jobs-to-kas | 19 +++++ ci/logging.yml | 13 +++ ci/meta-oe.yml | 8 ++ ci/meta-python.yml | 10 +++ ci/qemu-cortex-m3.yml | 6 ++ ci/qemu-nios2.yml | 6 ++ ci/qemu-x86.yml | 6 ++ ci/testimage.yml | 5 ++ ci/update-repos | 40 +++++++++ 16 files changed, 385 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 ci/96b-avenger96.yml create mode 100644 ci/96b-nitrogen.yml create mode 100644 ci/acrn.yml create mode 100644 ci/base.yml create mode 100755 ci/check-machine-coverage create mode 100755 ci/check-warnings create mode 100755 ci/jobs-to-kas create mode 100644 ci/logging.yml create mode 100644 ci/meta-oe.yml create mode 100644 ci/meta-python.yml create mode 100644 ci/qemu-cortex-m3.yml create mode 100644 ci/qemu-nios2.yml create mode 100644 ci/qemu-x86.yml create mode 100644 ci/testimage.yml create mode 100755 ci/update-repos -- 2.20.1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Improving NPM recipe build speed
Alessandro Tagliapietra
Hi everyone,
I'm making an image that includes the node-red recipe from meta-iot-cloud. The whole process takes about 30+ minutes for that recipe alone (most of the time spent in do_configure). Now I want to override the recipe systemd service file and create a nodered user. Every time I change my bbappend file I have to wait 30+ minutes to have the result even for a small systemd file change. Is it possible to speed up the process somehow? Thanks in advance
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|