mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-07 21:16:57 +02:00
Remove old Jenkins jobs
The new Jenkins jobs are hosed at: https://github.com/coreos/jenkins-os Signed-off-by: Geoff Levand <geoff@infradead.org>
This commit is contained in:
parent
09fd7a37c1
commit
1c16018906
@ -1,114 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Jenkins job for creating build manifests.
|
|
||||||
#
|
|
||||||
# Input Parameters:
|
|
||||||
#
|
|
||||||
# MANIFEST_REF=master
|
|
||||||
# Git branch or tag in github.com/coreos/manifest to build
|
|
||||||
#
|
|
||||||
# LOCAL_MANIFEST=
|
|
||||||
# Repo local manifest to amend the branch's default manifest with.
|
|
||||||
# https://wiki.cyanogenmod.org/w/Doc:_Using_manifests#The_local_manifest
|
|
||||||
#
|
|
||||||
# Input Artifacts:
|
|
||||||
#
|
|
||||||
# $WORKSPACE/bin/cork from a recent mantle build.
|
|
||||||
#
|
|
||||||
# Git:
|
|
||||||
#
|
|
||||||
# github.com/coreos/manifest checked out to $WORKSPACE/manifest
|
|
||||||
# SSH push access to github.com/coreos/manifest-builds
|
|
||||||
#
|
|
||||||
# Output:
|
|
||||||
#
|
|
||||||
# Pushes build tag to manifest-builds.
|
|
||||||
# Writes manifest.properties w/ parameters for sdk and toolchain jobs.
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no"
|
|
||||||
|
|
||||||
finish() {
|
|
||||||
local tag="$1"
|
|
||||||
git -C "${WORKSPACE}/manifest" push \
|
|
||||||
"ssh://git@github.com/coreos/manifest-builds.git" \
|
|
||||||
"refs/tags/${tag}:refs/tags/${tag}"
|
|
||||||
tee "${WORKSPACE}/manifest.properties" <<EOF
|
|
||||||
MANIFEST_URL = https://github.com/coreos/manifest-builds.git
|
|
||||||
MANIFEST_REF = refs/tags/${tag}
|
|
||||||
MANIFEST_NAME = release.xml
|
|
||||||
COREOS_OFFICIAL = ${COREOS_OFFICIAL:-0}
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
# Branches are of the form remote-name/branch-name. Tags are just tag-name.
|
|
||||||
# If we have a release tag use it, for branches we need to make a tag.
|
|
||||||
COREOS_OFFICIAL=0
|
|
||||||
if [[ "${GIT_BRANCH}" != */* ]]; then
|
|
||||||
COREOS_OFFICIAL=1
|
|
||||||
finish "${GIT_BRANCH}"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
MANIFEST_BRANCH="${GIT_BRANCH##*/}"
|
|
||||||
MANIFEST_NAME="${MANIFEST_BRANCH}.xml"
|
|
||||||
[[ -f "manifest/${MANIFEST_NAME}" ]]
|
|
||||||
|
|
||||||
source manifest/version.txt
|
|
||||||
export COREOS_BUILD_ID="${MANIFEST_BRANCH}-${BUILD_NUMBER}"
|
|
||||||
|
|
||||||
# hack to get repo to set things up using the manifest repo we already have
|
|
||||||
# (amazing that it tolerates this considering it usually is so intolerant)
|
|
||||||
mkdir -p .repo
|
|
||||||
ln -sfT ../manifest .repo/manifests
|
|
||||||
ln -sfT ../manifest/.git .repo/manifests.git
|
|
||||||
|
|
||||||
# Cleanup/setup local manifests
|
|
||||||
rm -rf .repo/local_manifests
|
|
||||||
if [[ -n "${LOCAL_MANIFEST}" ]]; then
|
|
||||||
mkdir -p .repo/local_manifests
|
|
||||||
cat >.repo/local_manifests/local.xml <<<"${LOCAL_MANIFEST}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
./bin/cork update --create --downgrade-replace --verbose \
|
|
||||||
--manifest-url "${GIT_URL}" \
|
|
||||||
--manifest-branch "${GIT_COMMIT}" \
|
|
||||||
--manifest-name "${MANIFEST_NAME}" \
|
|
||||||
--new-version "${COREOS_VERSION}" \
|
|
||||||
--sdk-version "${COREOS_SDK_VERSION}"
|
|
||||||
|
|
||||||
./bin/cork enter --experimental -- sh -c \
|
|
||||||
"pwd; repo manifest -r > '/mnt/host/source/manifest/${COREOS_BUILD_ID}.xml'"
|
|
||||||
|
|
||||||
cd manifest
|
|
||||||
git add "${COREOS_BUILD_ID}.xml"
|
|
||||||
|
|
||||||
ln -sf "${COREOS_BUILD_ID}.xml" default.xml
|
|
||||||
ln -sf "${COREOS_BUILD_ID}.xml" release.xml
|
|
||||||
git add default.xml release.xml
|
|
||||||
|
|
||||||
tee version.txt <<EOF
|
|
||||||
COREOS_VERSION=${COREOS_VERSION_ID}+${COREOS_BUILD_ID}
|
|
||||||
COREOS_VERSION_ID=${COREOS_VERSION_ID}
|
|
||||||
COREOS_BUILD_ID=${COREOS_BUILD_ID}
|
|
||||||
COREOS_SDK_VERSION=${COREOS_SDK_VERSION}
|
|
||||||
EOF
|
|
||||||
git add version.txt
|
|
||||||
|
|
||||||
EMAIL="jenkins@jenkins.coreos.systems"
|
|
||||||
GIT_AUTHOR_NAME="CoreOS Jenkins"
|
|
||||||
GIT_COMMITTER_NAME="${GIT_AUTHOR_NAME}"
|
|
||||||
export EMAIL GIT_AUTHOR_NAME GIT_COMMITTER_NAME
|
|
||||||
git commit \
|
|
||||||
-m "${COREOS_BUILD_ID}: add build manifest" \
|
|
||||||
-m "Based on ${GIT_URL} branch ${MANIFEST_BRANCH}" \
|
|
||||||
-m "${BUILD_URL}"
|
|
||||||
git tag -m "${COREOS_BUILD_ID}" "${COREOS_BUILD_ID}" HEAD
|
|
||||||
|
|
||||||
# assert that what we just did will work, update symlink because verify doesn't have a --manifest-name option yet
|
|
||||||
cd "${WORKSPACE}"
|
|
||||||
ln -sf "manifests/${COREOS_BUILD_ID}.xml" .repo/manifest.xml
|
|
||||||
./bin/cork verify
|
|
||||||
|
|
||||||
finish "${COREOS_BUILD_ID}"
|
|
@ -1,63 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Jenkins job for building the SDK tarball.
|
|
||||||
#
|
|
||||||
# Input Parameters:
|
|
||||||
#
|
|
||||||
# USE_CACHE=false
|
|
||||||
# Enable use of any binary packages cached locally from previous builds.
|
|
||||||
# Currently not safe to enable, particularly bad with multiple branches.
|
|
||||||
#
|
|
||||||
# MANIFEST_URL=https://github.com/coreos/manifest-builds.git
|
|
||||||
# MANIFEST_REF=refs/tags/
|
|
||||||
# MANIFEST_NAME=release.xml
|
|
||||||
# Git URL, tag, and manifest file for this build.
|
|
||||||
#
|
|
||||||
# COREOS_OFFICIAL=0
|
|
||||||
# Set to 1 when building official releases.
|
|
||||||
#
|
|
||||||
# Input Artifacts:
|
|
||||||
#
|
|
||||||
# $WORKSPACE/bin/cork from a recent mantle build.
|
|
||||||
#
|
|
||||||
# Secrets:
|
|
||||||
#
|
|
||||||
# GPG_SECRET_KEY_FILE=
|
|
||||||
# Exported GPG public/private key used to sign uploaded files.
|
|
||||||
#
|
|
||||||
# GOOGLE_APPLICATION_CREDENTIALS=
|
|
||||||
# JSON file defining a Google service account for uploading files.
|
|
||||||
#
|
|
||||||
# Output:
|
|
||||||
#
|
|
||||||
# Uploads binary packages and tarball to gs://builds.developer.core-os.net
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
enter() {
|
|
||||||
./bin/cork enter --experimental -- "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# hack because catalyst leaves things chowned as root
|
|
||||||
[[ -d .cache/sdks ]] && sudo chown -R $USER .cache/sdks
|
|
||||||
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
export COREOS_BUILD_ID
|
|
||||||
|
|
||||||
# Set up GPG for signing images
|
|
||||||
export GNUPGHOME="${PWD}/.gnupg"
|
|
||||||
sudo rm -rf "${GNUPGHOME}"
|
|
||||||
trap "sudo rm -rf '${GNUPGHOME}'" EXIT
|
|
||||||
mkdir --mode=0700 "${GNUPGHOME}"
|
|
||||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
|
||||||
|
|
||||||
# Wipe all of catalyst or just clear out old tarballs taking up space
|
|
||||||
if [[ "${COREOS_OFFICIAL:-0}" -eq 1 || "$USE_CACHE" == false ]]; then
|
|
||||||
sudo rm -rf src/build/catalyst
|
|
||||||
fi
|
|
||||||
sudo rm -rf src/build/catalyst/builds
|
|
||||||
|
|
||||||
enter sudo emerge -uv --jobs=2 catalyst
|
|
||||||
enter sudo /mnt/host/source/src/scripts/bootstrap_sdk \
|
|
||||||
--sign buildbot@coreos.com --sign_digests buildbot@coreos.com \
|
|
||||||
--upload --upload_root gs://builds.developer.core-os.net
|
|
@ -1,60 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Jenkins job for building the SDK's cross toolchains.
|
|
||||||
#
|
|
||||||
# Input Parameters:
|
|
||||||
#
|
|
||||||
# USE_CACHE=false
|
|
||||||
# Enable use of any binary packages cached locally from previous builds.
|
|
||||||
# Currently not safe to enable, particularly bad with multiple branches.
|
|
||||||
#
|
|
||||||
# MANIFEST_URL=https://github.com/coreos/manifest-builds.git
|
|
||||||
# MANIFEST_REF=refs/tags/
|
|
||||||
# MANIFEST_NAME=release.xml
|
|
||||||
# Git URL, tag, and manifest file for this build.
|
|
||||||
#
|
|
||||||
# COREOS_OFFICIAL=0
|
|
||||||
# Set to 1 when building official releases.
|
|
||||||
#
|
|
||||||
# Input Artifacts:
|
|
||||||
#
|
|
||||||
# $WORKSPACE/bin/cork from a recent mantle build.
|
|
||||||
#
|
|
||||||
# Secrets:
|
|
||||||
#
|
|
||||||
# GPG_SECRET_KEY_FILE=
|
|
||||||
# Exported GPG public/private key used to sign uploaded files.
|
|
||||||
#
|
|
||||||
# GOOGLE_APPLICATION_CREDENTIALS=
|
|
||||||
# JSON file defining a Google service account for uploading files.
|
|
||||||
#
|
|
||||||
# Output:
|
|
||||||
#
|
|
||||||
# Uploads binary packages to gs://builds.developer.core-os.net
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
enter() {
|
|
||||||
./bin/cork enter --experimental -- "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
export COREOS_BUILD_ID
|
|
||||||
|
|
||||||
# Set up GPG for signing images
|
|
||||||
export GNUPGHOME="${PWD}/.gnupg"
|
|
||||||
sudo rm -rf "${GNUPGHOME}"
|
|
||||||
trap "sudo rm -rf '${GNUPGHOME}'" EXIT
|
|
||||||
mkdir --mode=0700 "${GNUPGHOME}"
|
|
||||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
|
||||||
|
|
||||||
# Wipe all of catalyst or just clear out old tarballs taking up space
|
|
||||||
if [[ "${COREOS_OFFICIAL:-0}" -eq 1 || "$USE_CACHE" == false ]]; then
|
|
||||||
sudo rm -rf src/build/catalyst
|
|
||||||
fi
|
|
||||||
sudo rm -rf src/build/catalyst/builds
|
|
||||||
|
|
||||||
enter sudo emerge -uv --jobs=2 catalyst
|
|
||||||
enter sudo /mnt/host/source/src/scripts/build_toolchains \
|
|
||||||
--sign buildbot@coreos.com --sign_digests buildbot@coreos.com \
|
|
||||||
--upload --upload_root gs://builds.developer.core-os.net
|
|
@ -1,67 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Jenkins job for building board binary packages.
|
|
||||||
#
|
|
||||||
# Input Parameters:
|
|
||||||
#
|
|
||||||
# MANIFEST_URL=https://github.com/coreos/manifest-builds.git
|
|
||||||
# MANIFEST_REF=refs/tags/
|
|
||||||
# MANIFEST_NAME=release.xml
|
|
||||||
# Git URL, tag, and manifest file for this build.
|
|
||||||
#
|
|
||||||
# COREOS_OFFICIAL=0
|
|
||||||
# Set to 1 when building official releases.
|
|
||||||
#
|
|
||||||
# BOARD=amd64-usr
|
|
||||||
# Target board to build.
|
|
||||||
#
|
|
||||||
# Input Artifacts:
|
|
||||||
#
|
|
||||||
# $WORKSPACE/bin/cork from a recent mantle build.
|
|
||||||
#
|
|
||||||
# Secrets:
|
|
||||||
#
|
|
||||||
# GOOGLE_APPLICATION_CREDENTIALS=
|
|
||||||
# JSON file defining a Google service account for uploading files.
|
|
||||||
#
|
|
||||||
# Output:
|
|
||||||
#
|
|
||||||
# Uploads binary packages to gs://builds.developer.core-os.net
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
# use a ccache dir that persists across sdk recreations
|
|
||||||
# XXX: alternatively use a ccache dir that is usable by all jobs on a given node.
|
|
||||||
mkdir -p .cache/ccache
|
|
||||||
|
|
||||||
enter() {
|
|
||||||
./bin/cork enter --experimental -- env \
|
|
||||||
CCACHE_DIR="/mnt/host/source/.cache/ccache" \
|
|
||||||
CCACHE_MAXSIZE="5G" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
script() {
|
|
||||||
local script="/mnt/host/source/src/scripts/${1}"; shift
|
|
||||||
enter "${script}" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
export COREOS_BUILD_ID
|
|
||||||
|
|
||||||
# figure out if ccache is doing us any good in this scheme
|
|
||||||
enter ccache --zero-stats
|
|
||||||
|
|
||||||
#if [[ "${COREOS_OFFICIAL:-0}" -eq 1 ]]; then
|
|
||||||
script setup_board --board=${BOARD} \
|
|
||||||
--skip_chroot_upgrade \
|
|
||||||
--getbinpkgver=${COREOS_VERSION} \
|
|
||||||
--toolchainpkgonly \
|
|
||||||
--force
|
|
||||||
#fi
|
|
||||||
script build_packages --board=${BOARD} \
|
|
||||||
--skip_chroot_upgrade \
|
|
||||||
--getbinpkgver=${COREOS_VERSION} \
|
|
||||||
--toolchainpkgonly \
|
|
||||||
--upload --upload_root gs://builds.developer.core-os.net
|
|
||||||
|
|
||||||
enter ccache --show-stats
|
|
@ -1,96 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Jenkins job for building the base production image and dev container.
|
|
||||||
#
|
|
||||||
# Input Parameters:
|
|
||||||
#
|
|
||||||
# USE_CACHE=false
|
|
||||||
# Enable use of any binary packages cached locally from previous builds.
|
|
||||||
# Currently not safe to enable, particularly bad with multiple branches.
|
|
||||||
#
|
|
||||||
# MANIFEST_URL=https://github.com/coreos/manifest-builds.git
|
|
||||||
# MANIFEST_REF=refs/tags/
|
|
||||||
# MANIFEST_NAME=release.xml
|
|
||||||
# Git URL, tag, and manifest file for this build.
|
|
||||||
#
|
|
||||||
# COREOS_OFFICIAL=0
|
|
||||||
# Set to 1 when building official releases.
|
|
||||||
#
|
|
||||||
# BOARD=amd64-usr
|
|
||||||
# Target board to build.
|
|
||||||
#
|
|
||||||
# Input Artifacts:
|
|
||||||
#
|
|
||||||
# $WORKSPACE/bin/cork from a recent mantle build.
|
|
||||||
#
|
|
||||||
# Secrets:
|
|
||||||
#
|
|
||||||
# GPG_SECRET_KEY_FILE=
|
|
||||||
# Exported GPG public/private key used to sign uploaded files.
|
|
||||||
#
|
|
||||||
# GOOGLE_APPLICATION_CREDENTIALS=
|
|
||||||
# JSON file defining a Google service account for uploading files.
|
|
||||||
#
|
|
||||||
# Output:
|
|
||||||
#
|
|
||||||
# Uploads test branch images to gs://builds.developer.core-os.net and
|
|
||||||
# official images to gs://builds.release.core-os.net
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
# first thing, clear out old images
|
|
||||||
sudo rm -rf src/build
|
|
||||||
|
|
||||||
script() {
|
|
||||||
local script="/mnt/host/source/src/scripts/${1}"; shift
|
|
||||||
./bin/cork enter --experimental -- "${script}" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
export COREOS_BUILD_ID
|
|
||||||
|
|
||||||
# Set up GPG for signing images
|
|
||||||
export GNUPGHOME="${PWD}/.gnupg"
|
|
||||||
rm -rf "${GNUPGHOME}"
|
|
||||||
trap "rm -rf '${GNUPGHOME}'" EXIT
|
|
||||||
mkdir --mode=0700 "${GNUPGHOME}"
|
|
||||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
|
||||||
|
|
||||||
sudo rm -rf chroot/build
|
|
||||||
script setup_board --board=${BOARD} \
|
|
||||||
--getbinpkgver="${COREOS_VERSION}" \
|
|
||||||
--regen_configs_only
|
|
||||||
|
|
||||||
if [[ "${COREOS_OFFICIAL}" -eq 1 ]]; then
|
|
||||||
GROUP=stable
|
|
||||||
UPLOAD=gs://builds.release.core-os.net/stable
|
|
||||||
script set_official --board=${BOARD} --official
|
|
||||||
else
|
|
||||||
GROUP=developer
|
|
||||||
UPLOAD=gs://builds.developer.core-os.net
|
|
||||||
script set_official --board=${BOARD} --noofficial
|
|
||||||
fi
|
|
||||||
|
|
||||||
script build_image --board=${BOARD} \
|
|
||||||
--group=${GROUP} \
|
|
||||||
--getbinpkg \
|
|
||||||
--getbinpkgver="${COREOS_VERSION}" \
|
|
||||||
--sign=buildbot@coreos.com \
|
|
||||||
--sign_digests=buildbot@coreos.com \
|
|
||||||
--upload_root=${UPLOAD} \
|
|
||||||
--upload prod container
|
|
||||||
|
|
||||||
if [[ "${COREOS_OFFICIAL}" -eq 1 ]]; then
|
|
||||||
script image_set_group --board=${BOARD} \
|
|
||||||
--group=alpha \
|
|
||||||
--sign=buildbot@coreos.com \
|
|
||||||
--sign_digests=buildbot@coreos.com \
|
|
||||||
--upload_root=gs://builds.release.core-os.net/alpha \
|
|
||||||
--upload
|
|
||||||
script image_set_group --board=${BOARD} \
|
|
||||||
--group=beta \
|
|
||||||
--sign=buildbot@coreos.com \
|
|
||||||
--sign_digests=buildbot@coreos.com \
|
|
||||||
--upload_root=gs://builds.release.core-os.net/beta \
|
|
||||||
--upload
|
|
||||||
fi
|
|
@ -1,106 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Jenkins job for building final VM and OEM target images.
|
|
||||||
#
|
|
||||||
# Input Parameters:
|
|
||||||
#
|
|
||||||
# USE_CACHE=false
|
|
||||||
# Enable use of any binary packages cached locally from previous builds.
|
|
||||||
# Currently not safe to enable, particularly bad with multiple branches.
|
|
||||||
#
|
|
||||||
# MANIFEST_URL=https://github.com/coreos/manifest-builds.git
|
|
||||||
# MANIFEST_REF=refs/tags/
|
|
||||||
# MANIFEST_NAME=release.xml
|
|
||||||
# Git URL, tag, and manifest file for this build.
|
|
||||||
#
|
|
||||||
# COREOS_OFFICIAL=0
|
|
||||||
# Set to 1 when building official releases.
|
|
||||||
#
|
|
||||||
# BOARD=amd64-usr
|
|
||||||
# Target board to build.
|
|
||||||
#
|
|
||||||
# FORMAT=qemu
|
|
||||||
# Target VM or OEM.
|
|
||||||
#
|
|
||||||
# GROUP=developer
|
|
||||||
# Target update group.
|
|
||||||
#
|
|
||||||
# Input Artifacts:
|
|
||||||
#
|
|
||||||
# $WORKSPACE/bin/cork from a recent mantle build.
|
|
||||||
#
|
|
||||||
# Secrets:
|
|
||||||
#
|
|
||||||
# GPG_SECRET_KEY_FILE=
|
|
||||||
# Exported GPG public/private key used to sign uploaded files.
|
|
||||||
#
|
|
||||||
# GOOGLE_APPLICATION_CREDENTIALS=
|
|
||||||
# JSON file defining a Google service account for uploading files.
|
|
||||||
#
|
|
||||||
# Output:
|
|
||||||
#
|
|
||||||
# Uploads test branch images to gs://builds.developer.core-os.net and
|
|
||||||
# official images to gs://builds.release.core-os.net
|
|
||||||
# Writes gce.properties for triggering a GCE test job if applicable.
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
rm -f gce.properties
|
|
||||||
sudo rm -rf tmp
|
|
||||||
|
|
||||||
# check that the matrix didn't go bananas
|
|
||||||
if [[ "${COREOS_OFFICIAL}" -eq 1 ]]; then
|
|
||||||
[[ "${GROUP}" != developer ]]
|
|
||||||
else
|
|
||||||
[[ "${GROUP}" == developer ]]
|
|
||||||
fi
|
|
||||||
|
|
||||||
script() {
|
|
||||||
local script="/mnt/host/source/src/scripts/${1}"; shift
|
|
||||||
./bin/cork enter --experimental -- "${script}" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
enter() {
|
|
||||||
./bin/cork enter --experimental -- "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
export COREOS_BUILD_ID
|
|
||||||
|
|
||||||
# Set up GPG for signing images
|
|
||||||
export GNUPGHOME="${PWD}/.gnupg"
|
|
||||||
rm -rf "${GNUPGHOME}"
|
|
||||||
trap "rm -rf '${GNUPGHOME}'" EXIT
|
|
||||||
mkdir --mode=0700 "${GNUPGHOME}"
|
|
||||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
|
||||||
|
|
||||||
if [[ "${GROUP}" == developer ]]; then
|
|
||||||
root="gs://builds.developer.core-os.net"
|
|
||||||
dlroot=""
|
|
||||||
else
|
|
||||||
root="gs://builds.release.core-os.net/${GROUP}"
|
|
||||||
dlroot="--download_root https://${GROUP}.release.core-os.net"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p src tmp
|
|
||||||
./bin/cork download-image --root="${root}/boards/${BOARD}/${COREOS_VERSION}" \
|
|
||||||
--json-key="${GOOGLE_APPLICATION_CREDENTIALS}" \
|
|
||||||
--cache-dir=./src \
|
|
||||||
--platform=qemu
|
|
||||||
img=src/coreos_production_image.bin
|
|
||||||
if [[ "${img}.bz2" -nt "${img}" ]]; then
|
|
||||||
enter lbunzip2 -k -f "/mnt/host/source/${img}.bz2"
|
|
||||||
fi
|
|
||||||
|
|
||||||
sudo rm -rf chroot/build
|
|
||||||
script image_to_vm.sh --board=${BOARD} \
|
|
||||||
--format=${FORMAT} \
|
|
||||||
--prod_image \
|
|
||||||
--getbinpkg \
|
|
||||||
--getbinpkgver=${COREOS_VERSION} \
|
|
||||||
--from=/mnt/host/source/src/ \
|
|
||||||
--to=/mnt/host/source/tmp/ \
|
|
||||||
--sign=buildbot@coreos.com \
|
|
||||||
--sign_digests=buildbot@coreos.com \
|
|
||||||
--upload_root="${root}" \
|
|
||||||
--upload ${dlroot}
|
|
@ -1,21 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# This is the common job code to paste into Jenkins for everything except
|
|
||||||
# the manifest job. Update the exec line as appropriate.
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
# build may not be started without a ref value
|
|
||||||
[[ -n "${MANIFEST_REF#refs/tags/}" ]]
|
|
||||||
|
|
||||||
# hack for catalyst jobs which may leave things chowned as root
|
|
||||||
#[[ -d .cache/sdks ]] && sudo chown -R $USER .cache/sdks
|
|
||||||
|
|
||||||
./bin/cork update --create --downgrade-replace --verify --verbose \
|
|
||||||
--manifest-url "${MANIFEST_URL}" \
|
|
||||||
--manifest-branch "${MANIFEST_REF}" \
|
|
||||||
--manifest-name "${MANIFEST_NAME}"
|
|
||||||
# add to packages job args which needs a full toolchain:
|
|
||||||
# -- --toolchain_boards=${BOARD}
|
|
||||||
|
|
||||||
exec ./src/scripts/build_jobs/00_job.sh
|
|
@ -1,72 +0,0 @@
|
|||||||
# CoreOS Jenkins build system
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
### Storage Requirements
|
|
||||||
|
|
||||||
CoreOS manifests are managed using git and repo, so a git server must be available to host these. An additional git repo is used by the `os-manifest` job to store a temporary manifest commit that is passed through to downstream jobs.
|
|
||||||
|
|
||||||
The jobs also require google storage buckets for storing build artifacts such as binary packages and CoreOS images.
|
|
||||||
|
|
||||||
### Jenkins Requirements
|
|
||||||
|
|
||||||
The jobs use a number of Jenkins plugins during jobs. These are:
|
|
||||||
|
|
||||||
- [Git](https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin)
|
|
||||||
- [Rebuilder](https://wiki.jenkins-ci.org/display/JENKINS/Rebuild+Plugin)
|
|
||||||
- [Parameterized Trigger](https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin)
|
|
||||||
- [Copy Artifact](https://wiki.jenkins-ci.org/display/JENKINS/Copy+Artifact+Plugin)
|
|
||||||
- [SSH Agent](https://wiki.jenkins-ci.org/display/JENKINS/SSH+Agent+Plugin)
|
|
||||||
- [Job Restrictions](https://wiki.jenkins-ci.org/display/JENKINS/Job+Restrictions+Plugin)
|
|
||||||
- [Credentials Binding](https://wiki.jenkins-ci.org/display/JENKINS/Credentials+Binding+Plugin)
|
|
||||||
- [TAP](https://wiki.jenkins-ci.org/display/JENKINS/TAP+Plugin) - for collecting test results from kola
|
|
||||||
- [Matrix Project](https://wiki.jenkins-ci.org/display/JENKINS/Matrix+Project+Plugin)
|
|
||||||
|
|
||||||
### Slave Requirements
|
|
||||||
|
|
||||||
The Jenkins jobs assume that each build slave is running CoreOS. The scripts that execute as part of the jobs use a number of tools present in CoreOS. Different host operating systems are untested.
|
|
||||||
|
|
||||||
All jobs assume that the Jenkins user on the slaves have `sudo` access, which is used by the `cork` tool.
|
|
||||||
|
|
||||||
The Jenkins slave used to execute the `os-kola-qemu` job must be run on a host that has KVM, so this slave cannot be in a VM unless it is using nested KVM, which is untested.
|
|
||||||
|
|
||||||
Most jobs use the slave label `coreos` to execute on a CoreOS system, so at least one slave (or the master) is required with this label. The `os-kola-qemu` job requires a slave with the `coreos` *and* `kvm` label.
|
|
||||||
|
|
||||||
### Secret Requirements
|
|
||||||
|
|
||||||
Some secrets are required for the various things done during the build:
|
|
||||||
|
|
||||||
- Slave SSH keys (if Jenkins slaves are used)
|
|
||||||
- git ssh key for manifest-build pushes from `os-manifest`
|
|
||||||
- google storage api key for artifact uploads and downloads
|
|
||||||
|
|
||||||
## Setup
|
|
||||||
|
|
||||||
### Running Jenkins
|
|
||||||
|
|
||||||
If you have no Jenkins instance, you can run one in a [Docker container](https://hub.docker.com/_/jenkins/) on CoreOS:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
docker run -p 8080:8080 -p 50000:50000 jenkins
|
|
||||||
```
|
|
||||||
|
|
||||||
To create a slave, you will need to run CoreOS and either give Jenkins Oracle.com credentials to automatically install the JDK, or copy a JDK tarball to the CoreOS system and set `$JAVA_HOME` in the slave settings.
|
|
||||||
|
|
||||||
### Install plugins and jobs
|
|
||||||
|
|
||||||
Jenkins jobs in XML format are available in the [`jobs`](jobs) directory. A script called [`install.sh`](install.sh) is provided to copy jobs and install Jenkins plugins. The script will restart Jenkins as required by some plugins.
|
|
||||||
|
|
||||||
For example, if the Jenkins instance is at `http://127.0.0.1:8080`:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
./install.sh http://127.0.0.1:8080
|
|
||||||
```
|
|
||||||
|
|
||||||
### Configuring CoreOS jobs
|
|
||||||
|
|
||||||
Some jobs will require modification to work correctly in any setup outside CoreOS.
|
|
||||||
|
|
||||||
- `os-manifest` will need the git url for the `manifest-builds` repo. You will also need to configure the correct SSH secret for git pushes.
|
|
||||||
- Any job using google storage will need `GOOGLE_APPLICATION_CREDENTIALS` configured, which points to a [JSON Service Account key](https://cloud.google.com/storage/docs/authentication). Additionally, these jobs will need to point to your specific google storage buckets.
|
|
||||||
- Any job signing artifacts will need `GPG_SECRET_KEY_FILE`, which is a GPG private key used to sign built artifacts.
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
#!/bin/sh -e
|
|
||||||
|
|
||||||
if [ -z $1 ]; then
|
|
||||||
echo "Pass Jenkins URL"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
JENKINS_URL=$1
|
|
||||||
|
|
||||||
for PLUGIN in git github rebuild parameterized-trigger copyartifact ssh-agent job-restrictions credentials-binding tap matrix-project; do
|
|
||||||
echo "Installing $PLUGIN..."
|
|
||||||
curl --silent --header "Content-Type: application/xml" -XPOST "$JENKINS_URL/pluginManager/installNecessaryPlugins" --data "<install plugin=\"$PLUGIN@current\" />" >/dev/null
|
|
||||||
done
|
|
||||||
|
|
||||||
for JOB in $(find jobs/ -mindepth 1 -maxdepth 1 -type d); do
|
|
||||||
J=$(basename $JOB)
|
|
||||||
echo "Creating job $J..."
|
|
||||||
curl --silent --header "Content-Type: application/xml" -XPOST "$JENKINS_URL/createItem?name=$J" --data-binary "@$JOB/config.xml" >/dev/null
|
|
||||||
done
|
|
||||||
|
|
||||||
curl -XPOST $JENKINS_URL/updateCenter/safeRestart
|
|
||||||
|
|
||||||
echo "Visit $JENKINS_URL/updateCenter and wait for Jenkins to restart."
|
|
||||||
|
|
@ -1,179 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description></description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>30</daysToKeep>
|
|
||||||
<numToKeep>50</numToKeep>
|
|
||||||
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<hudson.model.ParametersDefinitionProperty>
|
|
||||||
<parameterDefinitions>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>BOARD</name>
|
|
||||||
<description>Target board to build</description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>amd64-usr</string>
|
|
||||||
<string>arm64-usr</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_URL</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>https://github.com/coreos/manifest-builds.git</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_REF</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>refs/tags/</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_NAME</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>release.xml</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>COREOS_OFFICIAL</name>
|
|
||||||
<description></description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>0</string>
|
|
||||||
<string>1</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
</parameterDefinitions>
|
|
||||||
</hudson.model.ParametersDefinitionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>false</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.scm.NullSCM"/>
|
|
||||||
<assignedNode>coreos</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers/>
|
|
||||||
<concurrentBuild>true</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifact plugin="copyartifact@1.37">
|
|
||||||
<project>os-mantle</project>
|
|
||||||
<filter></filter>
|
|
||||||
<target></target>
|
|
||||||
<excludes></excludes>
|
|
||||||
<selector class="hudson.plugins.copyartifact.StatusBuildSelector"/>
|
|
||||||
<doNotFingerprintArtifacts>false</doNotFingerprintArtifacts>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifact>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>#!/bin/bash -ex
|
|
||||||
|
|
||||||
# build may not be started without a ref value
|
|
||||||
[[ -n "${MANIFEST_REF#refs/tags/}" ]]
|
|
||||||
|
|
||||||
# first thing, clear out old images
|
|
||||||
sudo rm -rf src/build
|
|
||||||
|
|
||||||
script() {
|
|
||||||
local script="/mnt/host/source/src/scripts/${1}"; shift
|
|
||||||
./bin/cork enter --experimental -- "${script}" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
./bin/cork update --create --downgrade-replace --verify --verbose \
|
|
||||||
--manifest-url "${MANIFEST_URL}" \
|
|
||||||
--manifest-branch "${MANIFEST_REF}" \
|
|
||||||
--manifest-name "${MANIFEST_NAME}"
|
|
||||||
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
export COREOS_BUILD_ID
|
|
||||||
|
|
||||||
# Set up GPG for signing images
|
|
||||||
export GNUPGHOME="${PWD}/.gnupg"
|
|
||||||
rm -rf "${GNUPGHOME}"
|
|
||||||
trap "rm -rf '${GNUPGHOME}'" EXIT
|
|
||||||
mkdir --mode=0700 "${GNUPGHOME}"
|
|
||||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
|
||||||
|
|
||||||
script setup_board --board=${BOARD} \
|
|
||||||
--getbinpkgver="${COREOS_VERSION}" \
|
|
||||||
--regen_configs_only
|
|
||||||
|
|
||||||
if [[ "${COREOS_OFFICIAL}" -eq 1 ]]; then
|
|
||||||
GROUP=stable
|
|
||||||
UPLOAD=gs://builds.release.core-os.net/stable
|
|
||||||
script set_official --board=${BOARD} --official
|
|
||||||
else
|
|
||||||
GROUP=developer
|
|
||||||
UPLOAD=gs://builds.developer.core-os.net
|
|
||||||
script set_official --board=${BOARD} --noofficial
|
|
||||||
fi
|
|
||||||
|
|
||||||
script build_image --board=${BOARD} \
|
|
||||||
--group=${GROUP} \
|
|
||||||
--getbinpkg \
|
|
||||||
--getbinpkgver="${COREOS_VERSION}" \
|
|
||||||
--sign=buildbot@coreos.com \
|
|
||||||
--sign_digests=buildbot@coreos.com \
|
|
||||||
--upload_root=${UPLOAD} \
|
|
||||||
--upload prod container
|
|
||||||
|
|
||||||
if [[ "${COREOS_OFFICIAL}" -eq 1 ]]; then
|
|
||||||
script image_set_group --board=${BOARD} \
|
|
||||||
--group=alpha \
|
|
||||||
--sign=buildbot@coreos.com \
|
|
||||||
--sign_digests=buildbot@coreos.com \
|
|
||||||
--upload_root=gs://builds.release.core-os.net/alpha \
|
|
||||||
--upload
|
|
||||||
script image_set_group --board=${BOARD} \
|
|
||||||
--group=beta \
|
|
||||||
--sign=buildbot@coreos.com \
|
|
||||||
--sign_digests=buildbot@coreos.com \
|
|
||||||
--upload_root=gs://builds.release.core-os.net/beta \
|
|
||||||
--upload
|
|
||||||
fi</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<hudson.tasks.test.AggregatedTestResultPublisher plugin="junit@1.9">
|
|
||||||
<includeFailedBuilds>false</includeFailedBuilds>
|
|
||||||
</hudson.tasks.test.AggregatedTestResultPublisher>
|
|
||||||
<hudson.tasks.Fingerprinter>
|
|
||||||
<targets>chroot/build/${BOARD}/var/lib/portage/pkgs/*/*.tbz2,chroot/var/lib/portage/pkgs/*/*.tbz2,src/build/images/${BOARD}/latest/*</targets>
|
|
||||||
</hudson.tasks.Fingerprinter>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.30">
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.CurrentBuildParameters/>
|
|
||||||
<hudson.plugins.parameterizedtrigger.matrix.MatrixSubsetBuildParameters>
|
|
||||||
<filter>BOARD=="${BOARD}"</filter>
|
|
||||||
</hudson.plugins.parameterizedtrigger.matrix.MatrixSubsetBuildParameters>
|
|
||||||
</configs>
|
|
||||||
<projects>os-board-vm-matrix,os-kola-qemu</projects>
|
|
||||||
<condition>UNSTABLE_OR_BETTER</condition>
|
|
||||||
<triggerWithNoParameters>false</triggerWithNoParameters>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
</configs>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTrigger>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper plugin="credentials-binding@1.5">
|
|
||||||
<bindings>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<credentialsId>9de82aed-ae50-4233-989f-d454b0449b96</credentialsId>
|
|
||||||
<variable>GOOGLE_APPLICATION_CREDENTIALS</variable>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<credentialsId>12e071a3-694f-40e8-8595-489236d943cc</credentialsId>
|
|
||||||
<variable>GPG_SECRET_KEY_FILE</variable>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
</bindings>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper>
|
|
||||||
</buildWrappers>
|
|
||||||
</project>
|
|
@ -1,156 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description>Build binary packages for a target board.</description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>30</daysToKeep>
|
|
||||||
<numToKeep>50</numToKeep>
|
|
||||||
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<hudson.model.ParametersDefinitionProperty>
|
|
||||||
<parameterDefinitions>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>BOARD</name>
|
|
||||||
<description>Target board to build</description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>amd64-usr</string>
|
|
||||||
<string>arm64-usr</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_URL</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>https://github.com/coreos/manifest-builds.git</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_REF</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>refs/tags/</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_NAME</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>release.xml</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>COREOS_OFFICIAL</name>
|
|
||||||
<description></description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>0</string>
|
|
||||||
<string>1</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
</parameterDefinitions>
|
|
||||||
</hudson.model.ParametersDefinitionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>false</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.scm.NullSCM"/>
|
|
||||||
<assignedNode>coreos</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers/>
|
|
||||||
<concurrentBuild>true</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifact plugin="copyartifact@1.37">
|
|
||||||
<project>os-mantle</project>
|
|
||||||
<filter></filter>
|
|
||||||
<target></target>
|
|
||||||
<excludes></excludes>
|
|
||||||
<selector class="hudson.plugins.copyartifact.TriggeredBuildSelector">
|
|
||||||
<fallbackToLastSuccessful>true</fallbackToLastSuccessful>
|
|
||||||
<upstreamFilterStrategy>UseGlobalSetting</upstreamFilterStrategy>
|
|
||||||
<allowUpstreamDependencies>true</allowUpstreamDependencies>
|
|
||||||
</selector>
|
|
||||||
<doNotFingerprintArtifacts>false</doNotFingerprintArtifacts>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifact>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>#!/bin/bash -ex
|
|
||||||
|
|
||||||
# build may not be started without a ref value
|
|
||||||
[[ -n "${MANIFEST_REF#refs/tags/}" ]]
|
|
||||||
|
|
||||||
# use a ccache dir that persists across sdk recreations
|
|
||||||
# XXX: alternatively use a ccache dir that is usable by all jobs on a given node.
|
|
||||||
mkdir -p .cache/ccache
|
|
||||||
|
|
||||||
enter() {
|
|
||||||
./bin/cork enter --experimental -- env \
|
|
||||||
CCACHE_DIR="/mnt/host/source/.cache/ccache" \
|
|
||||||
CCACHE_MAXSIZE="5G" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
script() {
|
|
||||||
local script="/mnt/host/source/src/scripts/${1}"; shift
|
|
||||||
enter "${script}" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
./bin/cork update --create --downgrade-replace --verify --verbose \
|
|
||||||
--manifest-url "${MANIFEST_URL}" \
|
|
||||||
--manifest-branch "${MANIFEST_REF}" \
|
|
||||||
--manifest-name "${MANIFEST_NAME}"
|
|
||||||
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
export COREOS_BUILD_ID
|
|
||||||
|
|
||||||
# figure out if ccache is doing us any good in this scheme
|
|
||||||
enter ccache --zero-stats
|
|
||||||
|
|
||||||
script update_chroot --toolchain_boards=${BOARD}
|
|
||||||
if [[ "${COREOS_OFFICIAL:-0}" -eq 1 ]]; then
|
|
||||||
script setup_board --board=${BOARD} \
|
|
||||||
--skip_chroot_upgrade \
|
|
||||||
--toolchainpkgonly \
|
|
||||||
--force
|
|
||||||
fi
|
|
||||||
script build_packages --board=${BOARD} \
|
|
||||||
--skip_chroot_upgrade \
|
|
||||||
--getbinpkgver=${COREOS_VERSION} \
|
|
||||||
--toolchainpkgonly \
|
|
||||||
--upload --upload_root gs://builds.developer.core-os.net
|
|
||||||
|
|
||||||
enter ccache --show-stats</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<hudson.tasks.test.AggregatedTestResultPublisher plugin="junit@1.9">
|
|
||||||
<includeFailedBuilds>false</includeFailedBuilds>
|
|
||||||
</hudson.tasks.test.AggregatedTestResultPublisher>
|
|
||||||
<hudson.tasks.Fingerprinter>
|
|
||||||
<targets>chroot/build/${BOARD}/var/lib/portage/pkgs/*/*.tbz2,chroot/var/lib/portage/pkgs/*/*.tbz2</targets>
|
|
||||||
</hudson.tasks.Fingerprinter>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.30">
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.CurrentBuildParameters/>
|
|
||||||
</configs>
|
|
||||||
<projects>os-board-image</projects>
|
|
||||||
<condition>UNSTABLE_OR_BETTER</condition>
|
|
||||||
<triggerWithNoParameters>false</triggerWithNoParameters>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
</configs>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTrigger>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper plugin="credentials-binding@1.5">
|
|
||||||
<bindings>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<credentialsId>9de82aed-ae50-4233-989f-d454b0449b96</credentialsId>
|
|
||||||
<variable>GOOGLE_APPLICATION_CREDENTIALS</variable>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
</bindings>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper>
|
|
||||||
</buildWrappers>
|
|
||||||
</project>
|
|
@ -1,132 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<matrix-project plugin="matrix-project@1.6">
|
|
||||||
<actions/>
|
|
||||||
<description>Shim of a job to build all production VM variants. This is independent from os-board-vm because I'm still figuring this stuff out</description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>30</daysToKeep>
|
|
||||||
<numToKeep>50</numToKeep>
|
|
||||||
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<hudson.model.ParametersDefinitionProperty>
|
|
||||||
<parameterDefinitions>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_URL</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>https://github.com/coreos/manifest-builds.git</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_REF</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>refs/tags/</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_NAME</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>release.xml</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>COREOS_OFFICIAL</name>
|
|
||||||
<description></description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>0</string>
|
|
||||||
<string>1</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
</parameterDefinitions>
|
|
||||||
</hudson.model.ParametersDefinitionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>false</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.scm.NullSCM"/>
|
|
||||||
<canRoam>true</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers/>
|
|
||||||
<concurrentBuild>true</concurrentBuild>
|
|
||||||
<axes>
|
|
||||||
<hudson.matrix.TextAxis>
|
|
||||||
<name>FORMAT</name>
|
|
||||||
<values>
|
|
||||||
<string>qemu</string>
|
|
||||||
<string>qemu_uefi</string>
|
|
||||||
<string>ami</string>
|
|
||||||
<string>ami_vmdk</string>
|
|
||||||
<string>pxe</string>
|
|
||||||
<string>iso</string>
|
|
||||||
<string>openstack</string>
|
|
||||||
<string>rackspace</string>
|
|
||||||
<string>rackspace_onmetal</string>
|
|
||||||
<string>rackspace_vhd</string>
|
|
||||||
<string>vagrant</string>
|
|
||||||
<string>vagrant_vmware_fusion</string>
|
|
||||||
<string>virtualbox</string>
|
|
||||||
<string>vmware</string>
|
|
||||||
<string>vmware_ova</string>
|
|
||||||
<string>vmware_insecure</string>
|
|
||||||
<string>xen</string>
|
|
||||||
<string>gce</string>
|
|
||||||
<string>brightbox</string>
|
|
||||||
<string>cloudstack</string>
|
|
||||||
<string>cloudstack_vhd</string>
|
|
||||||
<string>digitalocean</string>
|
|
||||||
<string>exoscale</string>
|
|
||||||
<string>azure</string>
|
|
||||||
<string>hyperv</string>
|
|
||||||
<string>niftycloud</string>
|
|
||||||
<string>cloudsigma</string>
|
|
||||||
<string>packet</string>
|
|
||||||
<string>interoute</string>
|
|
||||||
</values>
|
|
||||||
</hudson.matrix.TextAxis>
|
|
||||||
<hudson.matrix.TextAxis>
|
|
||||||
<name>GROUP</name>
|
|
||||||
<values>
|
|
||||||
<string>developer</string>
|
|
||||||
<string>alpha</string>
|
|
||||||
<string>beta</string>
|
|
||||||
<string>stable</string>
|
|
||||||
</values>
|
|
||||||
</hudson.matrix.TextAxis>
|
|
||||||
<hudson.matrix.TextAxis>
|
|
||||||
<name>BOARD</name>
|
|
||||||
<values>
|
|
||||||
<string>amd64-usr</string>
|
|
||||||
<string>arm64-usr</string>
|
|
||||||
</values>
|
|
||||||
</hudson.matrix.TextAxis>
|
|
||||||
</axes>
|
|
||||||
<combinationFilter>(BOARD == "amd64-usr" || ( BOARD == "arm64-usr" && (FORMAT == "qemu_uefi" || FORMAT == "pxe") )) && ((COREOS_OFFICIAL == "0" && GROUP == "developer") || (COREOS_OFFICIAL == "1" && GROUP != "developer"))</combinationFilter>
|
|
||||||
<builders>
|
|
||||||
<hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.30">
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.CurrentBuildParameters/>
|
|
||||||
<hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
|
|
||||||
<properties>FORMAT=${FORMAT}
|
|
||||||
GROUP=${GROUP}
|
|
||||||
BOARD=${BOARD}</properties>
|
|
||||||
</hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
|
|
||||||
</configs>
|
|
||||||
<projects>os-board-vm</projects>
|
|
||||||
<condition>ALWAYS</condition>
|
|
||||||
<triggerWithNoParameters>false</triggerWithNoParameters>
|
|
||||||
<buildAllNodesWithLabel>false</buildAllNodesWithLabel>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
|
||||||
</configs>
|
|
||||||
</hudson.plugins.parameterizedtrigger.TriggerBuilder>
|
|
||||||
</builders>
|
|
||||||
<publishers/>
|
|
||||||
<buildWrappers/>
|
|
||||||
<executionStrategy class="hudson.matrix.DefaultMatrixExecutionStrategyImpl">
|
|
||||||
<runSequentially>false</runSequentially>
|
|
||||||
</executionStrategy>
|
|
||||||
</matrix-project>
|
|
@ -1,209 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description></description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>30</daysToKeep>
|
|
||||||
<numToKeep>50</numToKeep>
|
|
||||||
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<hudson.model.ParametersDefinitionProperty>
|
|
||||||
<parameterDefinitions>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>BOARD</name>
|
|
||||||
<description>Target board to build</description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>amd64-usr</string>
|
|
||||||
<string>arm64-usr</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>GROUP</name>
|
|
||||||
<description>Update group the image should use</description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>developer</string>
|
|
||||||
<string>alpha</string>
|
|
||||||
<string>beta</string>
|
|
||||||
<string>stable</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>FORMAT</name>
|
|
||||||
<description>VM platform or image type to generate.</description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>qemu</string>
|
|
||||||
<string>qemu_uefi</string>
|
|
||||||
<string>ami</string>
|
|
||||||
<string>ami_vmdk</string>
|
|
||||||
<string>pxe</string>
|
|
||||||
<string>iso</string>
|
|
||||||
<string>openstack</string>
|
|
||||||
<string>qemu_uefi</string>
|
|
||||||
<string>rackspace</string>
|
|
||||||
<string>rackspace_onmetal</string>
|
|
||||||
<string>rackspace_vhd</string>
|
|
||||||
<string>vagrant</string>
|
|
||||||
<string>vagrant_vmware_fusion</string>
|
|
||||||
<string>virtualbox</string>
|
|
||||||
<string>vmware</string>
|
|
||||||
<string>vmware_ova</string>
|
|
||||||
<string>vmware_insecure</string>
|
|
||||||
<string>xen</string>
|
|
||||||
<string>gce</string>
|
|
||||||
<string>brightbox</string>
|
|
||||||
<string>cloudstack</string>
|
|
||||||
<string>cloudstack_vhd</string>
|
|
||||||
<string>digitalocean</string>
|
|
||||||
<string>exoscale</string>
|
|
||||||
<string>azure</string>
|
|
||||||
<string>hyperv</string>
|
|
||||||
<string>niftycloud</string>
|
|
||||||
<string>cloudsigma</string>
|
|
||||||
<string>packet</string>
|
|
||||||
<string>interoute</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_URL</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>https://github.com/coreos/manifest-builds.git</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_REF</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>refs/tags/</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_NAME</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>release.xml</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>COREOS_OFFICIAL</name>
|
|
||||||
<description></description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>0</string>
|
|
||||||
<string>1</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
</parameterDefinitions>
|
|
||||||
</hudson.model.ParametersDefinitionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>false</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
<com.synopsys.arc.jenkinsci.plugins.jobrestrictions.jobs.JobRestrictionProperty plugin="job-restrictions@0.4"/>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.scm.NullSCM"/>
|
|
||||||
<assignedNode>coreos</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers/>
|
|
||||||
<concurrentBuild>true</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifact plugin="copyartifact@1.37">
|
|
||||||
<project>os-mantle</project>
|
|
||||||
<filter></filter>
|
|
||||||
<target></target>
|
|
||||||
<excludes></excludes>
|
|
||||||
<selector class="hudson.plugins.copyartifact.StatusBuildSelector"/>
|
|
||||||
<doNotFingerprintArtifacts>false</doNotFingerprintArtifacts>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifact>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>#!/bin/bash -ex
|
|
||||||
|
|
||||||
# build may not be started without a ref value
|
|
||||||
[[ -n "${MANIFEST_REF#refs/tags/}" ]]
|
|
||||||
|
|
||||||
# check that the matrix didn't go bananas
|
|
||||||
if [[ "${COREOS_OFFICIAL}" -eq 1 ]]; then
|
|
||||||
[[ "${GROUP}" != developer ]]
|
|
||||||
else
|
|
||||||
[[ "${GROUP}" == developer ]]
|
|
||||||
fi
|
|
||||||
|
|
||||||
script() {
|
|
||||||
local script="/mnt/host/source/src/scripts/${1}"; shift
|
|
||||||
./bin/cork enter --experimental -- "${script}" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
enter() {
|
|
||||||
./bin/cork enter --experimental -- "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
./bin/cork update --create --downgrade-replace --verify --verbose \
|
|
||||||
--manifest-url "${MANIFEST_URL}" \
|
|
||||||
--manifest-branch "${MANIFEST_REF}" \
|
|
||||||
--manifest-name "${MANIFEST_NAME}"
|
|
||||||
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
export COREOS_BUILD_ID
|
|
||||||
|
|
||||||
# Set up GPG for signing images
|
|
||||||
export GNUPGHOME="${PWD}/.gnupg"
|
|
||||||
rm -rf "${GNUPGHOME}"
|
|
||||||
trap "rm -rf '${GNUPGHOME}'" EXIT
|
|
||||||
mkdir --mode=0700 "${GNUPGHOME}"
|
|
||||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
|
||||||
|
|
||||||
if [[ "${GROUP}" == developer ]]; then
|
|
||||||
root="gs://builds.developer.core-os.net"
|
|
||||||
dlroot=""
|
|
||||||
else
|
|
||||||
root="gs://builds.release.core-os.net/${GROUP}"
|
|
||||||
dlroot="--download_root https://${GROUP}.release.core-os.net"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p tmp
|
|
||||||
./bin/cork download-image --root="${root}/boards/${BOARD}/${COREOS_VERSION}" \
|
|
||||||
--json-key="${GOOGLE_APPLICATION_CREDENTIALS}" \
|
|
||||||
--cache-dir=./tmp \
|
|
||||||
--platform=qemu
|
|
||||||
enter lbunzip2 -k -f /mnt/host/source/tmp/coreos_production_image.bin.bz2
|
|
||||||
|
|
||||||
script image_to_vm.sh --board=${BOARD} \
|
|
||||||
--format=${FORMAT} \
|
|
||||||
--prod_image \
|
|
||||||
--getbinpkg \
|
|
||||||
--getbinpkgver=${COREOS_VERSION} \
|
|
||||||
--from=/mnt/host/source/tmp/ \
|
|
||||||
--to=/mnt/host/source/tmp/ \
|
|
||||||
--sign=buildbot@coreos.com \
|
|
||||||
--sign_digests=buildbot@coreos.com \
|
|
||||||
--upload_root="${root}" \
|
|
||||||
--upload ${dlroot}</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<hudson.tasks.Fingerprinter>
|
|
||||||
<targets>chroot/build/${BOARD}/var/lib/portage/pkgs/*/*.tbz2,chroot/var/lib/portage/pkgs/*/*.tbz2,tmp/*</targets>
|
|
||||||
</hudson.tasks.Fingerprinter>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper plugin="credentials-binding@1.5">
|
|
||||||
<bindings>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<credentialsId>9de82aed-ae50-4233-989f-d454b0449b96</credentialsId>
|
|
||||||
<variable>GOOGLE_APPLICATION_CREDENTIALS</variable>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<credentialsId>12e071a3-694f-40e8-8595-489236d943cc</credentialsId>
|
|
||||||
<variable>GPG_SECRET_KEY_FILE</variable>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
</bindings>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper>
|
|
||||||
</buildWrappers>
|
|
||||||
</project>
|
|
@ -1,152 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description></description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>30</daysToKeep>
|
|
||||||
<numToKeep>50</numToKeep>
|
|
||||||
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.14.0">
|
|
||||||
<projectUrl>os-kola-qemu/</projectUrl>
|
|
||||||
</com.coravy.hudson.plugins.github.GithubProjectProperty>
|
|
||||||
<hudson.model.ParametersDefinitionProperty>
|
|
||||||
<parameterDefinitions>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>BOARD</name>
|
|
||||||
<description>Target board to build</description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>amd64-usr</string>
|
|
||||||
<string>arm64-usr</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_URL</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>https://github.com/coreos/manifest-builds.git</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_REF</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>refs/tags/</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_NAME</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>release.xml</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>COREOS_OFFICIAL</name>
|
|
||||||
<description></description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>0</string>
|
|
||||||
<string>1</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
</parameterDefinitions>
|
|
||||||
</hudson.model.ParametersDefinitionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>false</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.scm.NullSCM"/>
|
|
||||||
<assignedNode>coreos && kvm</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers/>
|
|
||||||
<concurrentBuild>true</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifact plugin="copyartifact@1.37">
|
|
||||||
<project>os-mantle</project>
|
|
||||||
<filter></filter>
|
|
||||||
<target></target>
|
|
||||||
<excludes></excludes>
|
|
||||||
<selector class="hudson.plugins.copyartifact.StatusBuildSelector"/>
|
|
||||||
<doNotFingerprintArtifacts>false</doNotFingerprintArtifacts>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifact>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>#!/bin/bash -ex
|
|
||||||
|
|
||||||
# build may not be started without a ref value
|
|
||||||
[[ -n "${MANIFEST_REF#refs/tags/}" ]]
|
|
||||||
|
|
||||||
enter() {
|
|
||||||
./bin/cork enter --experimental -- "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
script() {
|
|
||||||
local script="/mnt/host/source/src/scripts/${1}"; shift
|
|
||||||
enter "${script}" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
./bin/cork update --create --downgrade-replace --verify --verbose \
|
|
||||||
--manifest-url "${MANIFEST_URL}" \
|
|
||||||
--manifest-branch "${MANIFEST_REF}" \
|
|
||||||
--manifest-name "${MANIFEST_NAME}"
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
|
|
||||||
if [[ "${COREOS_OFFICIAL}" -eq 1 ]]; then
|
|
||||||
root="gs://builds.release.core-os.net/stable"
|
|
||||||
else
|
|
||||||
root="gs://builds.developer.core-os.net"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p tmp
|
|
||||||
./bin/cork download-image --root="${root}/boards/${BOARD}/${COREOS_VERSION}" \
|
|
||||||
--json-key="${GOOGLE_APPLICATION_CREDENTIALS}" \
|
|
||||||
--cache-dir=./tmp \
|
|
||||||
--platform=qemu
|
|
||||||
enter lbunzip2 -k -f /mnt/host/source/tmp/coreos_production_image.bin.bz2
|
|
||||||
|
|
||||||
if [[ "${BOARD}" == arm64* ]]; then
|
|
||||||
script setup_board --board=${BOARD} \
|
|
||||||
--getbinpkgver="${COREOS_VERSION}" \
|
|
||||||
--regen_configs_only
|
|
||||||
enter emerge-arm64-usr --nodeps -qugKN sys-firmware/edk2-armvirt
|
|
||||||
fi
|
|
||||||
|
|
||||||
enter sudo kola run --board="${BOARD}" \
|
|
||||||
--parallel=2 \
|
|
||||||
--qemu-image="/mnt/host/source/tmp/coreos_production_image.bin" \
|
|
||||||
--tapfile="/mnt/host/source/tmp/${JOB_NAME##*/}.tap"</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<org.tap4j.plugin.TapPublisher plugin="tap@1.24">
|
|
||||||
<testResults>tmp/*.tap</testResults>
|
|
||||||
<failIfNoResults>true</failIfNoResults>
|
|
||||||
<failedTestsMarkBuildAsFailure>true</failedTestsMarkBuildAsFailure>
|
|
||||||
<outputTapToConsole>true</outputTapToConsole>
|
|
||||||
<enableSubtests>true</enableSubtests>
|
|
||||||
<discardOldReports>false</discardOldReports>
|
|
||||||
<todoIsFailure>false</todoIsFailure>
|
|
||||||
<includeCommentDiagnostics>true</includeCommentDiagnostics>
|
|
||||||
<validateNumberOfTests>true</validateNumberOfTests>
|
|
||||||
<planRequired>true</planRequired>
|
|
||||||
<verbose>true</verbose>
|
|
||||||
</org.tap4j.plugin.TapPublisher>
|
|
||||||
<hudson.tasks.Fingerprinter>
|
|
||||||
<targets>tmp/*,chroot/var/lib/portage/pkgs/*/*.tbz2</targets>
|
|
||||||
</hudson.tasks.Fingerprinter>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper plugin="credentials-binding@1.5">
|
|
||||||
<bindings>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<credentialsId>9de82aed-ae50-4233-989f-d454b0449b96</credentialsId>
|
|
||||||
<variable>GOOGLE_APPLICATION_CREDENTIALS</variable>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
</bindings>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper>
|
|
||||||
</buildWrappers>
|
|
||||||
</project>
|
|
@ -1,214 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description></description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>30</daysToKeep>
|
|
||||||
<numToKeep>50</numToKeep>
|
|
||||||
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.14.0">
|
|
||||||
<projectUrl>https://github.com/coreos/manifest/</projectUrl>
|
|
||||||
</com.coravy.hudson.plugins.github.GithubProjectProperty>
|
|
||||||
<hudson.model.ParametersDefinitionProperty>
|
|
||||||
<parameterDefinitions>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_REF</name>
|
|
||||||
<description>Branch or tag to build</description>
|
|
||||||
<defaultValue>master</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.TextParameterDefinition>
|
|
||||||
<name>LOCAL_MANIFEST</name>
|
|
||||||
<description>Amend the checked in manifest
|
|
||||||
|
|
||||||
https://wiki.cyanogenmod.org/w/Doc:_Using_manifests#The_local_manifest</description>
|
|
||||||
<defaultValue></defaultValue>
|
|
||||||
</hudson.model.TextParameterDefinition>
|
|
||||||
</parameterDefinitions>
|
|
||||||
</hudson.model.ParametersDefinitionProperty>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifactPermissionProperty plugin="copyartifact@1.37">
|
|
||||||
<projectNameList>
|
|
||||||
<string>os-*</string>
|
|
||||||
</projectNameList>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifactPermissionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>false</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
<com.synopsys.arc.jenkinsci.plugins.jobrestrictions.jobs.JobRestrictionProperty plugin="job-restrictions@0.4"/>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.plugins.git.GitSCM" plugin="git@2.4.0">
|
|
||||||
<configVersion>2</configVersion>
|
|
||||||
<userRemoteConfigs>
|
|
||||||
<hudson.plugins.git.UserRemoteConfig>
|
|
||||||
<name>origin</name>
|
|
||||||
<url>https://github.com/coreos/manifest.git</url>
|
|
||||||
</hudson.plugins.git.UserRemoteConfig>
|
|
||||||
</userRemoteConfigs>
|
|
||||||
<branches>
|
|
||||||
<hudson.plugins.git.BranchSpec>
|
|
||||||
<name>${MANIFEST_REF}</name>
|
|
||||||
</hudson.plugins.git.BranchSpec>
|
|
||||||
</branches>
|
|
||||||
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
|
|
||||||
<browser class="hudson.plugins.git.browser.GithubWeb">
|
|
||||||
<url>https://github.com/coreos/manifest</url>
|
|
||||||
</browser>
|
|
||||||
<submoduleCfg class="list"/>
|
|
||||||
<extensions>
|
|
||||||
<hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
|
|
||||||
<relativeTargetDir>manifest</relativeTargetDir>
|
|
||||||
</hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
|
|
||||||
<hudson.plugins.git.extensions.impl.CleanBeforeCheckout/>
|
|
||||||
</extensions>
|
|
||||||
</scm>
|
|
||||||
<assignedNode>coreos</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers/>
|
|
||||||
<concurrentBuild>false</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifact plugin="copyartifact@1.37">
|
|
||||||
<project>os-mantle</project>
|
|
||||||
<filter></filter>
|
|
||||||
<target></target>
|
|
||||||
<excludes></excludes>
|
|
||||||
<selector class="hudson.plugins.copyartifact.TriggeredBuildSelector">
|
|
||||||
<fallbackToLastSuccessful>true</fallbackToLastSuccessful>
|
|
||||||
<upstreamFilterStrategy>UseGlobalSetting</upstreamFilterStrategy>
|
|
||||||
<allowUpstreamDependencies>true</allowUpstreamDependencies>
|
|
||||||
</selector>
|
|
||||||
<doNotFingerprintArtifacts>false</doNotFingerprintArtifacts>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifact>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>#!/bin/bash -ex
|
|
||||||
|
|
||||||
COREOS_OFFICIAL=0
|
|
||||||
|
|
||||||
finish() {
|
|
||||||
local tag="$1"
|
|
||||||
git -C "${WORKSPACE}/manifest" push \
|
|
||||||
"ssh://git@github.com/coreos/manifest-builds.git" \
|
|
||||||
"refs/tags/${tag}:refs/tags/${tag}"
|
|
||||||
tee "${WORKSPACE}/manifest.properties" <<EOF
|
|
||||||
MANIFEST_URL = https://github.com/coreos/manifest-builds.git
|
|
||||||
MANIFEST_REF = refs/tags/${tag}
|
|
||||||
MANIFEST_NAME = release.xml
|
|
||||||
COREOS_OFFICIAL = ${COREOS_OFFICIAL:-0}
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
# Branches are of the form remote-name/branch-name. Tags are just tag-name.
|
|
||||||
# If we have a release tag use it, for branches we need to make a tag.
|
|
||||||
if [[ "${GIT_BRANCH}" != */* ]]; then
|
|
||||||
COREOS_OFFICIAL=1
|
|
||||||
finish "${GIT_BRANCH}"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
MANIFEST_BRANCH="${GIT_BRANCH##*/}"
|
|
||||||
MANIFEST_NAME="${MANIFEST_BRANCH}.xml"
|
|
||||||
[[ -f "manifest/${MANIFEST_NAME}" ]]
|
|
||||||
|
|
||||||
source manifest/version.txt
|
|
||||||
export COREOS_BUILD_ID="${MANIFEST_BRANCH}-${BUILD_NUMBER}"
|
|
||||||
|
|
||||||
# hack to get repo to set things up using the manifest repo we already have
|
|
||||||
# (amazing that it tolerates this considering it usually is so intolerant)
|
|
||||||
mkdir -p .repo
|
|
||||||
ln -sfT ../manifest .repo/manifests
|
|
||||||
ln -sfT ../manifest/.git .repo/manifests.git
|
|
||||||
|
|
||||||
# Cleanup/setup local manifests
|
|
||||||
rm -rf .repo/local_manifests
|
|
||||||
if [[ -n "${LOCAL_MANIFEST}" ]]; then
|
|
||||||
mkdir -p .repo/local_manifests
|
|
||||||
cat >.repo/local_manifests/local.xml <<<"${LOCAL_MANIFEST}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
./bin/cork update --create --downgrade-replace --verbose \
|
|
||||||
--manifest-url "${GIT_URL}" \
|
|
||||||
--manifest-branch "${GIT_COMMIT}" \
|
|
||||||
--manifest-name "${MANIFEST_NAME}" \
|
|
||||||
--new-version "${COREOS_VERSION}" \
|
|
||||||
--sdk-version "${COREOS_SDK_VERSION}"
|
|
||||||
|
|
||||||
./bin/cork enter --experimental -- sh -c \
|
|
||||||
"pwd; repo manifest -r > '/mnt/host/source/manifest/${COREOS_BUILD_ID}.xml'"
|
|
||||||
|
|
||||||
cd manifest
|
|
||||||
git add "${COREOS_BUILD_ID}.xml"
|
|
||||||
|
|
||||||
ln -sf "${COREOS_BUILD_ID}.xml" default.xml
|
|
||||||
ln -sf "${COREOS_BUILD_ID}.xml" release.xml
|
|
||||||
git add default.xml release.xml
|
|
||||||
|
|
||||||
tee version.txt <<EOF
|
|
||||||
COREOS_VERSION=${COREOS_VERSION_ID}+${COREOS_BUILD_ID}
|
|
||||||
COREOS_VERSION_ID=${COREOS_VERSION_ID}
|
|
||||||
COREOS_BUILD_ID=${COREOS_BUILD_ID}
|
|
||||||
COREOS_SDK_VERSION=${COREOS_SDK_VERSION}
|
|
||||||
EOF
|
|
||||||
git add version.txt
|
|
||||||
|
|
||||||
EMAIL="jenkins@jenkins.coreos.systems"
|
|
||||||
GIT_AUTHOR_NAME="CoreOS Jenkins"
|
|
||||||
GIT_COMMITTER_NAME="${GIT_AUTHOR_NAME}"
|
|
||||||
export EMAIL GIT_AUTHOR_NAME GIT_COMMITTER_NAME
|
|
||||||
git commit \
|
|
||||||
-m "${COREOS_BUILD_ID}: add build manifest" \
|
|
||||||
-m "Based on ${GIT_URL} branch ${MANIFEST_BRANCH}" \
|
|
||||||
-m "${BUILD_URL}"
|
|
||||||
git tag -m "${COREOS_BUILD_ID}" "${COREOS_BUILD_ID}" HEAD
|
|
||||||
|
|
||||||
# assert that what we just did will work, update symlink because verify doesn't have a --manifest-name option yet
|
|
||||||
cd "${WORKSPACE}"
|
|
||||||
ln -sf "manifests/${COREOS_BUILD_ID}.xml" .repo/manifest.xml
|
|
||||||
./bin/cork verify
|
|
||||||
|
|
||||||
finish "${COREOS_BUILD_ID}"</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<hudson.tasks.test.AggregatedTestResultPublisher plugin="junit@1.9">
|
|
||||||
<includeFailedBuilds>true</includeFailedBuilds>
|
|
||||||
</hudson.tasks.test.AggregatedTestResultPublisher>
|
|
||||||
<hudson.tasks.ArtifactArchiver>
|
|
||||||
<artifacts>manifest.properties</artifacts>
|
|
||||||
<allowEmptyArchive>false</allowEmptyArchive>
|
|
||||||
<onlyIfSuccessful>false</onlyIfSuccessful>
|
|
||||||
<fingerprint>false</fingerprint>
|
|
||||||
<defaultExcludes>true</defaultExcludes>
|
|
||||||
</hudson.tasks.ArtifactArchiver>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.30">
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.FileBuildParameters>
|
|
||||||
<propertiesFile>manifest.properties</propertiesFile>
|
|
||||||
<failTriggerOnMissing>true</failTriggerOnMissing>
|
|
||||||
<useMatrixChild>false</useMatrixChild>
|
|
||||||
<onlyExactRuns>false</onlyExactRuns>
|
|
||||||
</hudson.plugins.parameterizedtrigger.FileBuildParameters>
|
|
||||||
</configs>
|
|
||||||
<projects>os-toolchains,os-sdk</projects>
|
|
||||||
<condition>UNSTABLE_OR_BETTER</condition>
|
|
||||||
<triggerWithNoParameters>false</triggerWithNoParameters>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
</configs>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTrigger>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers>
|
|
||||||
<com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper plugin="ssh-agent@1.8">
|
|
||||||
<credentialIds>
|
|
||||||
<string>8b41f1e0-1ea9-4dc5-b64f-9b3b883b78c2</string>
|
|
||||||
</credentialIds>
|
|
||||||
<ignoreMissing>false</ignoreMissing>
|
|
||||||
</com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper>
|
|
||||||
</buildWrappers>
|
|
||||||
</project>
|
|
@ -1,75 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description>Build mantle binaries from master to be consumed as artifacts.</description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>20</daysToKeep>
|
|
||||||
<numToKeep>30</numToKeep>
|
|
||||||
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.14.0">
|
|
||||||
<projectUrl>https://github.com/coreos/mantle/</projectUrl>
|
|
||||||
</com.coravy.hudson.plugins.github.GithubProjectProperty>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifactPermissionProperty plugin="copyartifact@1.37">
|
|
||||||
<projectNameList>
|
|
||||||
<string>*</string>
|
|
||||||
</projectNameList>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifactPermissionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>false</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.plugins.git.GitSCM" plugin="git@2.4.0">
|
|
||||||
<configVersion>2</configVersion>
|
|
||||||
<userRemoteConfigs>
|
|
||||||
<hudson.plugins.git.UserRemoteConfig>
|
|
||||||
<name>origin</name>
|
|
||||||
<url>https://github.com/coreos/mantle/</url>
|
|
||||||
</hudson.plugins.git.UserRemoteConfig>
|
|
||||||
</userRemoteConfigs>
|
|
||||||
<branches>
|
|
||||||
<hudson.plugins.git.BranchSpec>
|
|
||||||
<name>refs/remotes/origin/master</name>
|
|
||||||
</hudson.plugins.git.BranchSpec>
|
|
||||||
</branches>
|
|
||||||
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
|
|
||||||
<submoduleCfg class="list"/>
|
|
||||||
<extensions/>
|
|
||||||
</scm>
|
|
||||||
<assignedNode>coreos</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers>
|
|
||||||
<hudson.triggers.SCMTrigger>
|
|
||||||
<spec>H/15 * * * *</spec>
|
|
||||||
<ignorePostCommitHooks>false</ignorePostCommitHooks>
|
|
||||||
</hudson.triggers.SCMTrigger>
|
|
||||||
</triggers>
|
|
||||||
<concurrentBuild>false</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOMAXPROCS=4 golang:1.6.2 ./build
|
|
||||||
</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOMAXPROCS=4 golang:1.6.2 ./test
|
|
||||||
</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<hudson.tasks.ArtifactArchiver>
|
|
||||||
<artifacts>bin/*</artifacts>
|
|
||||||
<allowEmptyArchive>false</allowEmptyArchive>
|
|
||||||
<onlyIfSuccessful>true</onlyIfSuccessful>
|
|
||||||
<fingerprint>true</fingerprint>
|
|
||||||
<defaultExcludes>true</defaultExcludes>
|
|
||||||
</hudson.tasks.ArtifactArchiver>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers/>
|
|
||||||
</project>
|
|
@ -1,134 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description>Build SDK tarball and binary packages.</description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>30</daysToKeep>
|
|
||||||
<numToKeep>50</numToKeep>
|
|
||||||
<artifactDaysToKeep>3</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>3</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<hudson.model.ParametersDefinitionProperty>
|
|
||||||
<parameterDefinitions>
|
|
||||||
<hudson.model.BooleanParameterDefinition>
|
|
||||||
<name>USE_CACHE</name>
|
|
||||||
<description>Enable use of any binary packages cached locally from previous builds.</description>
|
|
||||||
<defaultValue>true</defaultValue>
|
|
||||||
</hudson.model.BooleanParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_URL</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>https://github.com/coreos/manifest-builds.git</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_REF</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>refs/tags/</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_NAME</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>release.xml</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>COREOS_OFFICIAL</name>
|
|
||||||
<description></description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>0</string>
|
|
||||||
<string>1</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
</parameterDefinitions>
|
|
||||||
</hudson.model.ParametersDefinitionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>false</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.scm.NullSCM"/>
|
|
||||||
<assignedNode>coreos</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers/>
|
|
||||||
<concurrentBuild>false</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifact plugin="copyartifact@1.37">
|
|
||||||
<project>os-mantle</project>
|
|
||||||
<filter></filter>
|
|
||||||
<target></target>
|
|
||||||
<excludes></excludes>
|
|
||||||
<selector class="hudson.plugins.copyartifact.TriggeredBuildSelector">
|
|
||||||
<fallbackToLastSuccessful>true</fallbackToLastSuccessful>
|
|
||||||
<upstreamFilterStrategy>UseGlobalSetting</upstreamFilterStrategy>
|
|
||||||
<allowUpstreamDependencies>true</allowUpstreamDependencies>
|
|
||||||
</selector>
|
|
||||||
<doNotFingerprintArtifacts>false</doNotFingerprintArtifacts>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifact>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>#!/bin/bash -ex
|
|
||||||
|
|
||||||
# build may not be started without a ref value
|
|
||||||
[[ -n "${MANIFEST_REF#refs/tags/}" ]]
|
|
||||||
|
|
||||||
enter() {
|
|
||||||
./bin/cork enter --experimental -- "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# hack because catalyst leaves things chowned as root
|
|
||||||
[[ -d .cache/sdks ]] && sudo chown -R $USER .cache/sdks
|
|
||||||
|
|
||||||
./bin/cork update --create --downgrade-replace --verify --verbose \
|
|
||||||
--manifest-url "${MANIFEST_URL}" \
|
|
||||||
--manifest-branch "${MANIFEST_REF}" \
|
|
||||||
--manifest-name "${MANIFEST_NAME}"
|
|
||||||
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
export COREOS_BUILD_ID
|
|
||||||
|
|
||||||
# Set up GPG for signing images
|
|
||||||
export GNUPGHOME="${PWD}/.gnupg"
|
|
||||||
rm -rf "${GNUPGHOME}"
|
|
||||||
trap "rm -rf '${GNUPGHOME}'" EXIT
|
|
||||||
mkdir --mode=0700 "${GNUPGHOME}"
|
|
||||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
|
||||||
|
|
||||||
# Wipe all of catalyst or just clear out old tarballs taking up space
|
|
||||||
if [ "$USE_CACHE" = false ]; then
|
|
||||||
sudo rm -rf src/build/catalyst
|
|
||||||
fi
|
|
||||||
sudo rm -rf src/build/catalyst/builds
|
|
||||||
|
|
||||||
S=/mnt/host/source/src/scripts
|
|
||||||
enter ${S}/update_chroot
|
|
||||||
enter sudo emerge -uv --jobs=2 catalyst
|
|
||||||
enter sudo ${S}/bootstrap_sdk \
|
|
||||||
--sign buildbot@coreos.com --sign_digests buildbot@coreos.com \
|
|
||||||
--upload --upload_root gs://builds.developer.core-os.net</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<hudson.tasks.Fingerprinter>
|
|
||||||
<targets>src/build/catalyst/packages/coreos-sdk/**/*.tbz2,chroot/var/lib/portage/pkgs/*/*.tbz2</targets>
|
|
||||||
</hudson.tasks.Fingerprinter>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper plugin="credentials-binding@1.5">
|
|
||||||
<bindings>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<credentialsId>12e071a3-694f-40e8-8595-489236d943cc</credentialsId>
|
|
||||||
<variable>GPG_SECRET_KEY_FILE</variable>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<credentialsId>9de82aed-ae50-4233-989f-d454b0449b96</credentialsId>
|
|
||||||
<variable>GOOGLE_APPLICATION_CREDENTIALS</variable>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
</bindings>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper>
|
|
||||||
</buildWrappers>
|
|
||||||
</project>
|
|
@ -1,162 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description>Build cross compilers for all target boards.</description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>30</daysToKeep>
|
|
||||||
<numToKeep>50</numToKeep>
|
|
||||||
<artifactDaysToKeep>3</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>3</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<hudson.model.ParametersDefinitionProperty>
|
|
||||||
<parameterDefinitions>
|
|
||||||
<hudson.model.BooleanParameterDefinition>
|
|
||||||
<name>USE_CACHE</name>
|
|
||||||
<description>Enable use of any binary packages cached locally from previous builds.</description>
|
|
||||||
<defaultValue>true</defaultValue>
|
|
||||||
</hudson.model.BooleanParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_URL</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>https://github.com/coreos/manifest-builds.git</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_REF</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>refs/tags/</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.StringParameterDefinition>
|
|
||||||
<name>MANIFEST_NAME</name>
|
|
||||||
<description></description>
|
|
||||||
<defaultValue>release.xml</defaultValue>
|
|
||||||
</hudson.model.StringParameterDefinition>
|
|
||||||
<hudson.model.ChoiceParameterDefinition>
|
|
||||||
<name>COREOS_OFFICIAL</name>
|
|
||||||
<description></description>
|
|
||||||
<choices class="java.util.Arrays$ArrayList">
|
|
||||||
<a class="string-array">
|
|
||||||
<string>0</string>
|
|
||||||
<string>1</string>
|
|
||||||
</a>
|
|
||||||
</choices>
|
|
||||||
</hudson.model.ChoiceParameterDefinition>
|
|
||||||
</parameterDefinitions>
|
|
||||||
</hudson.model.ParametersDefinitionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>false</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.scm.NullSCM"/>
|
|
||||||
<assignedNode>coreos</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers/>
|
|
||||||
<concurrentBuild>false</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifact plugin="copyartifact@1.37">
|
|
||||||
<project>os-mantle</project>
|
|
||||||
<filter></filter>
|
|
||||||
<target></target>
|
|
||||||
<excludes></excludes>
|
|
||||||
<selector class="hudson.plugins.copyartifact.TriggeredBuildSelector">
|
|
||||||
<fallbackToLastSuccessful>true</fallbackToLastSuccessful>
|
|
||||||
<upstreamFilterStrategy>UseGlobalSetting</upstreamFilterStrategy>
|
|
||||||
<allowUpstreamDependencies>true</allowUpstreamDependencies>
|
|
||||||
</selector>
|
|
||||||
<doNotFingerprintArtifacts>false</doNotFingerprintArtifacts>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifact>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>#!/bin/bash -ex
|
|
||||||
|
|
||||||
# build may not be started without a ref value
|
|
||||||
[[ -n "${MANIFEST_REF#refs/tags/}" ]]
|
|
||||||
|
|
||||||
enter() {
|
|
||||||
./bin/cork enter --experimental -- "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# hack because catalyst leaves things chowned as root
|
|
||||||
[[ -d .cache/sdks ]] && sudo chown -R $USER .cache/sdks
|
|
||||||
|
|
||||||
./bin/cork update --create --downgrade-replace --verify --verbose \
|
|
||||||
--manifest-url "${MANIFEST_URL}" \
|
|
||||||
--manifest-branch "${MANIFEST_REF}" \
|
|
||||||
--manifest-name "${MANIFEST_NAME}"
|
|
||||||
|
|
||||||
source .repo/manifests/version.txt
|
|
||||||
export COREOS_BUILD_ID
|
|
||||||
|
|
||||||
# Set up GPG for signing images
|
|
||||||
export GNUPGHOME="${PWD}/.gnupg"
|
|
||||||
rm -rf "${GNUPGHOME}"
|
|
||||||
trap "rm -rf '${GNUPGHOME}'" EXIT
|
|
||||||
mkdir --mode=0700 "${GNUPGHOME}"
|
|
||||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
|
||||||
|
|
||||||
# Wipe all of catalyst or just clear out old tarballs taking up space
|
|
||||||
if [ "$USE_CACHE" = false ]; then
|
|
||||||
sudo rm -rf src/build/catalyst
|
|
||||||
fi
|
|
||||||
sudo rm -rf src/build/catalyst/builds
|
|
||||||
|
|
||||||
S=/mnt/host/source/src/scripts
|
|
||||||
enter sudo emerge -uv --jobs=2 catalyst
|
|
||||||
enter sudo ${S}/build_toolchains \
|
|
||||||
--sign buildbot@coreos.com --sign_digests buildbot@coreos.com \
|
|
||||||
--upload --upload_root gs://builds.developer.core-os.net</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<hudson.tasks.test.AggregatedTestResultPublisher plugin="junit@1.9">
|
|
||||||
<includeFailedBuilds>false</includeFailedBuilds>
|
|
||||||
</hudson.tasks.test.AggregatedTestResultPublisher>
|
|
||||||
<hudson.tasks.Fingerprinter>
|
|
||||||
<targets>src/build/catalyst/packages/coreos-toolchains/**/*.tbz2,chroot/var/lib/portage/pkgs/*/*.tbz2</targets>
|
|
||||||
</hudson.tasks.Fingerprinter>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.30">
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.CurrentBuildParameters/>
|
|
||||||
<hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
|
|
||||||
<properties>BOARD=amd64-usr</properties>
|
|
||||||
</hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
|
|
||||||
</configs>
|
|
||||||
<projects>os-board-packages</projects>
|
|
||||||
<condition>UNSTABLE_OR_BETTER</condition>
|
|
||||||
<triggerWithNoParameters>false</triggerWithNoParameters>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.CurrentBuildParameters/>
|
|
||||||
<hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
|
|
||||||
<properties>BOARD=arm64-usr</properties>
|
|
||||||
</hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
|
|
||||||
</configs>
|
|
||||||
<projects>os-board-packages</projects>
|
|
||||||
<condition>UNSTABLE_OR_BETTER</condition>
|
|
||||||
<triggerWithNoParameters>false</triggerWithNoParameters>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
</configs>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTrigger>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper plugin="credentials-binding@1.5">
|
|
||||||
<bindings>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<credentialsId>12e071a3-694f-40e8-8595-489236d943cc</credentialsId>
|
|
||||||
<variable>GPG_SECRET_KEY_FILE</variable>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
<credentialsId>9de82aed-ae50-4233-989f-d454b0449b96</credentialsId>
|
|
||||||
<variable>GOOGLE_APPLICATION_CREDENTIALS</variable>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.FileBinding>
|
|
||||||
</bindings>
|
|
||||||
</org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper>
|
|
||||||
</buildWrappers>
|
|
||||||
</project>
|
|
@ -1,125 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description></description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>5</daysToKeep>
|
|
||||||
<numToKeep>5</numToKeep>
|
|
||||||
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.14.0">
|
|
||||||
<projectUrl>https://github.com/coreos/coreos-overlay/</projectUrl>
|
|
||||||
</com.coravy.hudson.plugins.github.GithubProjectProperty>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifactPermissionProperty plugin="copyartifact@1.37">
|
|
||||||
<projectNameList>
|
|
||||||
<string>os-*</string>
|
|
||||||
</projectNameList>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifactPermissionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>true</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
<com.synopsys.arc.jenkinsci.plugins.jobrestrictions.jobs.JobRestrictionProperty plugin="job-restrictions@0.4">
|
|
||||||
<config>
|
|
||||||
<userIdCauseRestriction>
|
|
||||||
<prohibitManualLaunch>true</prohibitManualLaunch>
|
|
||||||
</userIdCauseRestriction>
|
|
||||||
</config>
|
|
||||||
</com.synopsys.arc.jenkinsci.plugins.jobrestrictions.jobs.JobRestrictionProperty>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.plugins.git.GitSCM" plugin="git@2.4.0">
|
|
||||||
<configVersion>2</configVersion>
|
|
||||||
<userRemoteConfigs>
|
|
||||||
<hudson.plugins.git.UserRemoteConfig>
|
|
||||||
<name>origin</name>
|
|
||||||
<url>https://github.com/coreos/coreos-overlay.git</url>
|
|
||||||
</hudson.plugins.git.UserRemoteConfig>
|
|
||||||
</userRemoteConfigs>
|
|
||||||
<branches>
|
|
||||||
<hudson.plugins.git.BranchSpec>
|
|
||||||
<name>origin/master</name>
|
|
||||||
</hudson.plugins.git.BranchSpec>
|
|
||||||
<hudson.plugins.git.BranchSpec>
|
|
||||||
<name>origin/build-*</name>
|
|
||||||
</hudson.plugins.git.BranchSpec>
|
|
||||||
</branches>
|
|
||||||
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
|
|
||||||
<browser class="hudson.plugins.git.browser.GithubWeb">
|
|
||||||
<url>https://github.com/coreos/coreos-overlay</url>
|
|
||||||
</browser>
|
|
||||||
<submoduleCfg class="list"/>
|
|
||||||
<extensions>
|
|
||||||
<hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
|
|
||||||
<relativeTargetDir>coreos-overlay</relativeTargetDir>
|
|
||||||
</hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
|
|
||||||
<hudson.plugins.git.extensions.impl.CleanBeforeCheckout/>
|
|
||||||
</extensions>
|
|
||||||
</scm>
|
|
||||||
<assignedNode>coreos</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers>
|
|
||||||
<hudson.triggers.SCMTrigger>
|
|
||||||
<spec>H/15 * * * *</spec>
|
|
||||||
<ignorePostCommitHooks>false</ignorePostCommitHooks>
|
|
||||||
</hudson.triggers.SCMTrigger>
|
|
||||||
</triggers>
|
|
||||||
<concurrentBuild>false</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>#!/bin/bash -ex
|
|
||||||
|
|
||||||
# This all assumes the manifest branch is the same as the
|
|
||||||
# scripts branch, e.g. "master" or "build-123" and so on.
|
|
||||||
UPSTREAM_REF="refs/heads/${GIT_BRANCH#origin/}"
|
|
||||||
MANIFEST_REF="${UPSTREAM_REF}"
|
|
||||||
|
|
||||||
cat >coreos-overlay.properties <<EOF
|
|
||||||
MANIFEST_REF = ${MANIFEST_REF}
|
|
||||||
LOCAL_MANIFEST = <?xml version="1.0" encoding="UTF-8"?>\
|
|
||||||
<manifest>\
|
|
||||||
<remove-project name="coreos/coreos-overlay" />\
|
|
||||||
<project name="coreos/coreos-overlay" \
|
|
||||||
path="src/third_party/coreos-overlay" \
|
|
||||||
revision="${GIT_COMMIT}" \
|
|
||||||
upstream="${UPSTREAM_REF}" />\
|
|
||||||
</manifest>
|
|
||||||
EOF</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<hudson.tasks.test.AggregatedTestResultPublisher plugin="junit@1.9">
|
|
||||||
<includeFailedBuilds>true</includeFailedBuilds>
|
|
||||||
</hudson.tasks.test.AggregatedTestResultPublisher>
|
|
||||||
<hudson.tasks.ArtifactArchiver>
|
|
||||||
<artifacts>coreos-overlay.properties</artifacts>
|
|
||||||
<allowEmptyArchive>false</allowEmptyArchive>
|
|
||||||
<onlyIfSuccessful>false</onlyIfSuccessful>
|
|
||||||
<fingerprint>false</fingerprint>
|
|
||||||
<defaultExcludes>true</defaultExcludes>
|
|
||||||
</hudson.tasks.ArtifactArchiver>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.30">
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.FileBuildParameters>
|
|
||||||
<propertiesFile>coreos-overlay.properties</propertiesFile>
|
|
||||||
<failTriggerOnMissing>true</failTriggerOnMissing>
|
|
||||||
<useMatrixChild>false</useMatrixChild>
|
|
||||||
<onlyExactRuns>false</onlyExactRuns>
|
|
||||||
</hudson.plugins.parameterizedtrigger.FileBuildParameters>
|
|
||||||
</configs>
|
|
||||||
<projects>os-manifest, </projects>
|
|
||||||
<condition>UNSTABLE_OR_BETTER</condition>
|
|
||||||
<triggerWithNoParameters>false</triggerWithNoParameters>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
</configs>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTrigger>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers/>
|
|
||||||
</project>
|
|
@ -1,125 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description></description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>5</daysToKeep>
|
|
||||||
<numToKeep>5</numToKeep>
|
|
||||||
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.14.0">
|
|
||||||
<projectUrl>https://github.com/coreos/portage-stable/</projectUrl>
|
|
||||||
</com.coravy.hudson.plugins.github.GithubProjectProperty>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifactPermissionProperty plugin="copyartifact@1.37">
|
|
||||||
<projectNameList>
|
|
||||||
<string>os-*</string>
|
|
||||||
</projectNameList>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifactPermissionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>true</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
<com.synopsys.arc.jenkinsci.plugins.jobrestrictions.jobs.JobRestrictionProperty plugin="job-restrictions@0.4">
|
|
||||||
<config>
|
|
||||||
<userIdCauseRestriction>
|
|
||||||
<prohibitManualLaunch>true</prohibitManualLaunch>
|
|
||||||
</userIdCauseRestriction>
|
|
||||||
</config>
|
|
||||||
</com.synopsys.arc.jenkinsci.plugins.jobrestrictions.jobs.JobRestrictionProperty>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.plugins.git.GitSCM" plugin="git@2.4.0">
|
|
||||||
<configVersion>2</configVersion>
|
|
||||||
<userRemoteConfigs>
|
|
||||||
<hudson.plugins.git.UserRemoteConfig>
|
|
||||||
<name>origin</name>
|
|
||||||
<url>https://github.com/coreos/portage-stable.git</url>
|
|
||||||
</hudson.plugins.git.UserRemoteConfig>
|
|
||||||
</userRemoteConfigs>
|
|
||||||
<branches>
|
|
||||||
<hudson.plugins.git.BranchSpec>
|
|
||||||
<name>origin/master</name>
|
|
||||||
</hudson.plugins.git.BranchSpec>
|
|
||||||
<hudson.plugins.git.BranchSpec>
|
|
||||||
<name>origin/build-*</name>
|
|
||||||
</hudson.plugins.git.BranchSpec>
|
|
||||||
</branches>
|
|
||||||
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
|
|
||||||
<browser class="hudson.plugins.git.browser.GithubWeb">
|
|
||||||
<url>https://github.com/coreos/portage-stable</url>
|
|
||||||
</browser>
|
|
||||||
<submoduleCfg class="list"/>
|
|
||||||
<extensions>
|
|
||||||
<hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
|
|
||||||
<relativeTargetDir>portage-stable</relativeTargetDir>
|
|
||||||
</hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
|
|
||||||
<hudson.plugins.git.extensions.impl.CleanBeforeCheckout/>
|
|
||||||
</extensions>
|
|
||||||
</scm>
|
|
||||||
<assignedNode>coreos</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers>
|
|
||||||
<hudson.triggers.SCMTrigger>
|
|
||||||
<spec>H/15 * * * *</spec>
|
|
||||||
<ignorePostCommitHooks>false</ignorePostCommitHooks>
|
|
||||||
</hudson.triggers.SCMTrigger>
|
|
||||||
</triggers>
|
|
||||||
<concurrentBuild>false</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>#!/bin/bash -ex
|
|
||||||
|
|
||||||
# This all assumes the manifest branch is the same as the
|
|
||||||
# scripts branch, e.g. "master" or "build-123" and so on.
|
|
||||||
UPSTREAM_REF="refs/heads/${GIT_BRANCH#origin/}"
|
|
||||||
MANIFEST_REF="${UPSTREAM_REF}"
|
|
||||||
|
|
||||||
cat >portage-stable.properties <<EOF
|
|
||||||
MANIFEST_REF = ${MANIFEST_REF}
|
|
||||||
LOCAL_MANIFEST = <?xml version="1.0" encoding="UTF-8"?>\
|
|
||||||
<manifest>\
|
|
||||||
<remove-project name="coreos/portage-stable" />\
|
|
||||||
<project name="coreos/portage-stable" \
|
|
||||||
path="src/third_party/portage-stable" \
|
|
||||||
revision="${GIT_COMMIT}" \
|
|
||||||
upstream="${UPSTREAM_REF}" />\
|
|
||||||
</manifest>
|
|
||||||
EOF</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<hudson.tasks.test.AggregatedTestResultPublisher plugin="junit@1.9">
|
|
||||||
<includeFailedBuilds>true</includeFailedBuilds>
|
|
||||||
</hudson.tasks.test.AggregatedTestResultPublisher>
|
|
||||||
<hudson.tasks.ArtifactArchiver>
|
|
||||||
<artifacts>portage-stable.properties</artifacts>
|
|
||||||
<allowEmptyArchive>false</allowEmptyArchive>
|
|
||||||
<onlyIfSuccessful>false</onlyIfSuccessful>
|
|
||||||
<fingerprint>false</fingerprint>
|
|
||||||
<defaultExcludes>true</defaultExcludes>
|
|
||||||
</hudson.tasks.ArtifactArchiver>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.30">
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.FileBuildParameters>
|
|
||||||
<propertiesFile>portage-stable.properties</propertiesFile>
|
|
||||||
<failTriggerOnMissing>true</failTriggerOnMissing>
|
|
||||||
<useMatrixChild>false</useMatrixChild>
|
|
||||||
<onlyExactRuns>false</onlyExactRuns>
|
|
||||||
</hudson.plugins.parameterizedtrigger.FileBuildParameters>
|
|
||||||
</configs>
|
|
||||||
<projects>os-manifest, </projects>
|
|
||||||
<condition>UNSTABLE_OR_BETTER</condition>
|
|
||||||
<triggerWithNoParameters>false</triggerWithNoParameters>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
</configs>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTrigger>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers/>
|
|
||||||
</project>
|
|
@ -1,125 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<project>
|
|
||||||
<actions/>
|
|
||||||
<description></description>
|
|
||||||
<logRotator class="hudson.tasks.LogRotator">
|
|
||||||
<daysToKeep>5</daysToKeep>
|
|
||||||
<numToKeep>5</numToKeep>
|
|
||||||
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
||||||
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
||||||
</logRotator>
|
|
||||||
<keepDependencies>false</keepDependencies>
|
|
||||||
<properties>
|
|
||||||
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.14.0">
|
|
||||||
<projectUrl>https://github.com/coreos/scripts/</projectUrl>
|
|
||||||
</com.coravy.hudson.plugins.github.GithubProjectProperty>
|
|
||||||
<hudson.plugins.copyartifact.CopyArtifactPermissionProperty plugin="copyartifact@1.37">
|
|
||||||
<projectNameList>
|
|
||||||
<string>os-*</string>
|
|
||||||
</projectNameList>
|
|
||||||
</hudson.plugins.copyartifact.CopyArtifactPermissionProperty>
|
|
||||||
<com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
|
|
||||||
<autoRebuild>false</autoRebuild>
|
|
||||||
<rebuildDisabled>true</rebuildDisabled>
|
|
||||||
</com.sonyericsson.rebuild.RebuildSettings>
|
|
||||||
<com.synopsys.arc.jenkinsci.plugins.jobrestrictions.jobs.JobRestrictionProperty plugin="job-restrictions@0.4">
|
|
||||||
<config>
|
|
||||||
<userIdCauseRestriction>
|
|
||||||
<prohibitManualLaunch>true</prohibitManualLaunch>
|
|
||||||
</userIdCauseRestriction>
|
|
||||||
</config>
|
|
||||||
</com.synopsys.arc.jenkinsci.plugins.jobrestrictions.jobs.JobRestrictionProperty>
|
|
||||||
</properties>
|
|
||||||
<scm class="hudson.plugins.git.GitSCM" plugin="git@2.4.0">
|
|
||||||
<configVersion>2</configVersion>
|
|
||||||
<userRemoteConfigs>
|
|
||||||
<hudson.plugins.git.UserRemoteConfig>
|
|
||||||
<name>origin</name>
|
|
||||||
<url>https://github.com/coreos/scripts.git</url>
|
|
||||||
</hudson.plugins.git.UserRemoteConfig>
|
|
||||||
</userRemoteConfigs>
|
|
||||||
<branches>
|
|
||||||
<hudson.plugins.git.BranchSpec>
|
|
||||||
<name>origin/master</name>
|
|
||||||
</hudson.plugins.git.BranchSpec>
|
|
||||||
<hudson.plugins.git.BranchSpec>
|
|
||||||
<name>origin/build-*</name>
|
|
||||||
</hudson.plugins.git.BranchSpec>
|
|
||||||
</branches>
|
|
||||||
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
|
|
||||||
<browser class="hudson.plugins.git.browser.GithubWeb">
|
|
||||||
<url>https://github.com/coreos/scripts</url>
|
|
||||||
</browser>
|
|
||||||
<submoduleCfg class="list"/>
|
|
||||||
<extensions>
|
|
||||||
<hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
|
|
||||||
<relativeTargetDir>scripts</relativeTargetDir>
|
|
||||||
</hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
|
|
||||||
<hudson.plugins.git.extensions.impl.CleanBeforeCheckout/>
|
|
||||||
</extensions>
|
|
||||||
</scm>
|
|
||||||
<assignedNode>coreos</assignedNode>
|
|
||||||
<canRoam>false</canRoam>
|
|
||||||
<disabled>false</disabled>
|
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
||||||
<triggers>
|
|
||||||
<hudson.triggers.SCMTrigger>
|
|
||||||
<spec>H/15 * * * *</spec>
|
|
||||||
<ignorePostCommitHooks>false</ignorePostCommitHooks>
|
|
||||||
</hudson.triggers.SCMTrigger>
|
|
||||||
</triggers>
|
|
||||||
<concurrentBuild>false</concurrentBuild>
|
|
||||||
<builders>
|
|
||||||
<hudson.tasks.Shell>
|
|
||||||
<command>#!/bin/bash -ex
|
|
||||||
|
|
||||||
# This all assumes the manifest branch is the same as the
|
|
||||||
# scripts branch, e.g. "master" or "build-123" and so on.
|
|
||||||
UPSTREAM_REF="refs/heads/${GIT_BRANCH#origin/}"
|
|
||||||
MANIFEST_REF="${UPSTREAM_REF}"
|
|
||||||
|
|
||||||
cat >scripts.properties <<EOF
|
|
||||||
MANIFEST_REF = ${MANIFEST_REF}
|
|
||||||
LOCAL_MANIFEST = <?xml version="1.0" encoding="UTF-8"?>\
|
|
||||||
<manifest>\
|
|
||||||
<remove-project name="coreos/scripts" />\
|
|
||||||
<project name="coreos/scripts" \
|
|
||||||
path="src/scripts" \
|
|
||||||
revision="${GIT_COMMIT}" \
|
|
||||||
upstream="${UPSTREAM_REF}" />\
|
|
||||||
</manifest>
|
|
||||||
EOF</command>
|
|
||||||
</hudson.tasks.Shell>
|
|
||||||
</builders>
|
|
||||||
<publishers>
|
|
||||||
<hudson.tasks.test.AggregatedTestResultPublisher plugin="junit@1.9">
|
|
||||||
<includeFailedBuilds>true</includeFailedBuilds>
|
|
||||||
</hudson.tasks.test.AggregatedTestResultPublisher>
|
|
||||||
<hudson.tasks.ArtifactArchiver>
|
|
||||||
<artifacts>scripts.properties</artifacts>
|
|
||||||
<allowEmptyArchive>false</allowEmptyArchive>
|
|
||||||
<onlyIfSuccessful>false</onlyIfSuccessful>
|
|
||||||
<fingerprint>false</fingerprint>
|
|
||||||
<defaultExcludes>true</defaultExcludes>
|
|
||||||
</hudson.tasks.ArtifactArchiver>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.30">
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
<configs>
|
|
||||||
<hudson.plugins.parameterizedtrigger.FileBuildParameters>
|
|
||||||
<propertiesFile>scripts.properties</propertiesFile>
|
|
||||||
<failTriggerOnMissing>true</failTriggerOnMissing>
|
|
||||||
<useMatrixChild>false</useMatrixChild>
|
|
||||||
<onlyExactRuns>false</onlyExactRuns>
|
|
||||||
</hudson.plugins.parameterizedtrigger.FileBuildParameters>
|
|
||||||
</configs>
|
|
||||||
<projects>os-manifest,</projects>
|
|
||||||
<condition>UNSTABLE_OR_BETTER</condition>
|
|
||||||
<triggerWithNoParameters>false</triggerWithNoParameters>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
|
|
||||||
</configs>
|
|
||||||
</hudson.plugins.parameterizedtrigger.BuildTrigger>
|
|
||||||
</publishers>
|
|
||||||
<buildWrappers/>
|
|
||||||
</project>
|
|
Loading…
Reference in New Issue
Block a user