mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-07-20 05:07:13 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c3e9fb12aa | |||
| 10c27f061b | |||
| 5c33ed794a | |||
| 2384dc1a9a | |||
| 5d759ca68d | |||
| 58a33d0860 | |||
| 5c4f98bbc5 |
+27
-11
@@ -7,6 +7,10 @@ variables:
|
|||||||
# by default
|
# by default
|
||||||
FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: 0
|
FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: 0
|
||||||
FF_KUBERNETES_HONOR_ENTRYPOINT: 1
|
FF_KUBERNETES_HONOR_ENTRYPOINT: 1
|
||||||
|
# The directory to use as the persistent cache (the root for DL_DIR,
|
||||||
|
# SSTATE_DIR, etc). The default is the build tree which will not be
|
||||||
|
# persistent, so this should be set in the runner.
|
||||||
|
CACHE_DIR: $CI_PROJECT_DIR
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- prep
|
- prep
|
||||||
@@ -20,23 +24,19 @@ stages:
|
|||||||
interruptible: true
|
interruptible: true
|
||||||
variables:
|
variables:
|
||||||
KAS_WORK_DIR: $CI_PROJECT_DIR/work
|
KAS_WORK_DIR: $CI_PROJECT_DIR/work
|
||||||
KAS_REPO_REF_DIR: $CI_BUILDS_DIR/persist/repos
|
KAS_BUILD_DIR: $KAS_WORK_DIR/build
|
||||||
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
|
KAS_REPO_REF_DIR: ""
|
||||||
DL_DIR: $CI_BUILDS_DIR/persist/downloads
|
SSTATE_DIR: $CACHE_DIR/sstate
|
||||||
|
DL_DIR: $CACHE_DIR/downloads
|
||||||
BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml
|
BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml
|
||||||
TOOLCHAIN_DIR: $CI_BUILDS_DIR/persist/toolchains
|
TOOLCHAIN_DIR: $CACHE_DIR/toolchains
|
||||||
IMAGE_DIR: $CI_PROJECT_DIR/work/build/tmp/deploy/images
|
IMAGE_DIR: $CI_PROJECT_DIR/work/build/tmp/deploy/images
|
||||||
TOOLCHAIN_LINK_DIR: $CI_PROJECT_DIR/work/build/toolchains
|
TOOLCHAIN_LINK_DIR: $CI_PROJECT_DIR/work/build/toolchains
|
||||||
before_script:
|
before_script:
|
||||||
- echo KAS_WORK_DIR = $KAS_WORK_DIR
|
|
||||||
- echo SSTATE_DIR = $SSTATE_DIR
|
|
||||||
- echo DL_DIR = $DL_DIR
|
|
||||||
- rm -rf $KAS_WORK_DIR
|
- rm -rf $KAS_WORK_DIR
|
||||||
- mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
- mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
||||||
# Must do this here, as it's the only way to make sure the toolchain is installed on the same builder
|
# Must do this here, as it's the only way to make sure the toolchain is installed on the same builder
|
||||||
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
||||||
# This can be removed with Kas 3.2
|
|
||||||
- sudo apt-get update && sudo apt-get install --yes python3-subunit
|
|
||||||
|
|
||||||
# Generalised fragment to do a Kas build
|
# Generalised fragment to do a Kas build
|
||||||
.build:
|
.build:
|
||||||
@@ -66,14 +66,25 @@ stages:
|
|||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Prep stage, update repositories once
|
# Prep stage, update repositories once.
|
||||||
|
# Set the CI variable CI_CLEAN_REPOS=1 to refetch the respositories from scratch
|
||||||
#
|
#
|
||||||
update-repos:
|
update-repos:
|
||||||
extends: .setup
|
extends: .setup
|
||||||
stage: prep
|
stage: prep
|
||||||
script:
|
script:
|
||||||
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
- |
|
||||||
|
exit_code=0
|
||||||
|
|
||||||
|
printenv
|
||||||
|
|
||||||
|
if [ -n "$KAS_REPO_REF_DIR" ]; then
|
||||||
|
flock --verbose --timeout 60 $KAS_REPO_REF_DIR --command ./ci/update-repos || exit_code=$?
|
||||||
|
# Exit now if that failed, unless the status was 128 (fetch failed)
|
||||||
|
test $exit_code != 0 -a $exit_code != 128 && exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit $exit_code
|
||||||
#
|
#
|
||||||
# Build stage, the actual build jobs
|
# Build stage, the actual build jobs
|
||||||
#
|
#
|
||||||
@@ -248,6 +259,11 @@ check-layers:
|
|||||||
|
|
||||||
pending-updates:
|
pending-updates:
|
||||||
extends: .setup
|
extends: .setup
|
||||||
|
# Only run this job for the default branch (master), or if forced with
|
||||||
|
# BUILD_FORCE_PENDING_UPDATES.
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||||
|
- if: $BUILD_FORCE_PENDING_UPDATES != null
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- update-report
|
- update-report
|
||||||
|
|||||||
@@ -5,4 +5,4 @@ header:
|
|||||||
|
|
||||||
repos:
|
repos:
|
||||||
meta-virtualization:
|
meta-virtualization:
|
||||||
url: git://git.yoctoproject.org/meta-virtualization
|
url: https://git.yoctoproject.org/meta-virtualization
|
||||||
|
|||||||
+7
-1
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import pathlib
|
import pathlib
|
||||||
|
|
||||||
@@ -35,9 +36,14 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
for repo in repositories:
|
for repo in repositories:
|
||||||
repodir = base_repodir / repo_shortname(repo)
|
repodir = base_repodir / repo_shortname(repo)
|
||||||
|
|
||||||
|
if "CI_CLEAN_REPOS" in os.environ:
|
||||||
|
print("Cleaning %s..." % repo)
|
||||||
|
shutil.rmtree(repodir, ignore_errors=True)
|
||||||
|
|
||||||
if repodir.exists():
|
if repodir.exists():
|
||||||
print("Updating %s..." % repo)
|
print("Updating %s..." % repo)
|
||||||
subprocess.run(["git", "-C", repodir, "fetch"], check=True)
|
subprocess.run(["git", "-C", repodir, "-c", "gc.autoDetach=false", "fetch"], check=True)
|
||||||
else:
|
else:
|
||||||
print("Cloning %s..." % repo)
|
print("Cloning %s..." % repo)
|
||||||
subprocess.run(["git", "clone", "--bare", repo, repodir], check=True)
|
subprocess.run(["git", "clone", "--bare", repo, repodir], check=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user