summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/auto-author-assign.yml2
-rw-r--r--Jenkinsfile2
-rw-r--r--data/architectures/amd64.toml9
-rw-r--r--data/architectures/arm64.toml1
-rw-r--r--data/build-types/development.toml1
-rw-r--r--data/defaults.toml8
-rwxr-xr-xdata/live-build-config/hooks/live/41-init-podman-images.chroot8
-rw-r--r--docker/Dockerfile3
-rw-r--r--packages/frr/Jenkinsfile2
-rwxr-xr-xscripts/build-vyos-image31
10 files changed, 30 insertions, 37 deletions
diff --git a/.github/workflows/auto-author-assign.yml b/.github/workflows/auto-author-assign.yml
index 81134206..a769145f 100644
--- a/.github/workflows/auto-author-assign.yml
+++ b/.github/workflows/auto-author-assign.yml
@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Request review based on files changes and/or groups the author belongs to
- uses: shufo/auto-assign-reviewer-by-files@v1.1.1
+ uses: shufo/auto-assign-reviewer-by-files@v1.1.4
with:
token: ${{ secrets.GITHUB_TOKEN }}
config: .github/reviewers.yml
diff --git a/Jenkinsfile b/Jenkinsfile
index 80b97c16..9d6e6539 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -176,7 +176,7 @@ pipeline {
// Trigger GitHub action which will re-build the static community website which
// also holds the AWS download links to the generated ISO images
- withCredentials([string(credentialsId: 'GitHub-API-Token', variable: 'TOKEN')]) {
+ withCredentials([string(credentialsId: 'vyos.net-build-trigger-token', variable: 'TOKEN')]) {
sh '''
curl -X POST --header "Accept: application/vnd.github.v3+json" \
--header "authorization: Bearer $TOKEN" --data '{"ref": "production"}' \
diff --git a/data/architectures/amd64.toml b/data/architectures/amd64.toml
index 02027aa6..abfec53a 100644
--- a/data/architectures/amd64.toml
+++ b/data/architectures/amd64.toml
@@ -1,3 +1,10 @@
+additional_repositories = [
+ "deb [arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/3004 bullseye main",
+ "deb [arch=amd64] http://repo.powerdns.com/debian bullseye-rec-48 main"
+]
+
+kernel_flavor = "amd64-vyos"
+
# Packages added to images for x86 by default
packages = [
"grub2",
@@ -6,5 +13,3 @@ packages = [
"vyos-intel-qat",
"telegraf"
]
-
-kernel_flavor = "amd64-vyos"
diff --git a/data/architectures/arm64.toml b/data/architectures/arm64.toml
index fbd30008..8ba3805a 100644
--- a/data/architectures/arm64.toml
+++ b/data/architectures/arm64.toml
@@ -1,2 +1,3 @@
# Packages included in ARM64 images by default
packages = ["grub-efi-arm"]
+bootloaders = "grub-efi" \ No newline at end of file
diff --git a/data/build-types/development.toml b/data/build-types/development.toml
index 31c50522..f0207a6a 100644
--- a/data/build-types/development.toml
+++ b/data/build-types/development.toml
@@ -2,7 +2,6 @@ packages = [
"gdb",
"strace",
"apt-rdepends",
- "skopeo",
"tshark",
"vim",
"vyos-1x-smoketest"
diff --git a/data/defaults.toml b/data/defaults.toml
index 28db3067..bb14458c 100644
--- a/data/defaults.toml
+++ b/data/defaults.toml
@@ -12,12 +12,8 @@ vyos_mirror = "http://dev.packages.vyos.net/repositories/current"
vyos_branch = "current"
release_train = "current"
-kernel_version = "5.15.76"
-
-additional_repositories = [
- "deb [arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/3004 bullseye main",
- "deb [arch=amd64] http://repo.powerdns.com/debian bullseye-rec-48 main"
-]
+kernel_version = "5.15.79"
+bootloaders = "syslinux,grub-efi"
website_url = "https://vyos.io"
support_url = "https://support.vyos.io"
diff --git a/data/live-build-config/hooks/live/41-init-podman-images.chroot b/data/live-build-config/hooks/live/41-init-podman-images.chroot
deleted file mode 100755
index 1915a40f..00000000
--- a/data/live-build-config/hooks/live/41-init-podman-images.chroot
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Download busybox container image for smoketests (only ~1MB)
-# Skopeo only added on development builds
-
-if command -v skopeo &>/dev/null; then
- skopeo copy --additional-tag docker.io/library/busybox:stable docker://docker.io/library/busybox:stable docker-archive://usr/share/vyos/busybox-stable.tar
-fi
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 71ba81ad..9845574e 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -135,7 +135,8 @@ RUN eval $(opam env --root=/opt/opam --set-root) && opam install -y \
ctypes \
ctypes-foreign \
ctypes-build \
- containers
+ containers \
+ fileutils
# Build VyConf which is required to build libvyosconfig
RUN eval $(opam env --root=/opt/opam --set-root) && \
diff --git a/packages/frr/Jenkinsfile b/packages/frr/Jenkinsfile
index 7971bb4c..d74244d6 100644
--- a/packages/frr/Jenkinsfile
+++ b/packages/frr/Jenkinsfile
@@ -30,7 +30,7 @@ def pkgList = [
'scmUrl': 'https://github.com/rtrlib/rtrlib.git',
'buildCmd': 'dpkg-buildpackage -uc -us -tc -b'],
['name': 'frr',
- 'scmCommit': 'stable/8.3',
+ 'scmCommit': 'stable/8.4',
'scmUrl': 'https://github.com/FRRouting/frr.git',
'buildCmd': 'cd ..; ./build-frr.sh'],
]
diff --git a/scripts/build-vyos-image b/scripts/build-vyos-image
index 1406aec9..f09791d9 100755
--- a/scripts/build-vyos-image
+++ b/scripts/build-vyos-image
@@ -71,7 +71,7 @@ def merge_dicts(source, destination):
if key not in tmp:
tmp[key] = value
elif isinstance(source[key], dict):
- tmp[key] = dict_merge(source[key], tmp[key])
+ tmp[key] = merge_dicts(source[key], tmp[key])
elif isinstance(source[key], list):
tmp[key] = source[key] + tmp[key]
else:
@@ -164,9 +164,9 @@ if __name__ == "__main__":
parser.add_argument('--dry-run', help='Check build configuration and exit', action='store_true')
# Custom APT entry and APT key options can be used multiple times
- parser.add_argument('--custom-apt-entry', help="Custom APT entry", action='append')
- parser.add_argument('--custom-apt-key', help="Custom APT key file", action='append')
- parser.add_argument('--custom-package', help="Custom package to install from repositories", action='append')
+ parser.add_argument('--custom-apt-entry', help="Custom APT entry", action='append', default=[])
+ parser.add_argument('--custom-apt-key', help="Custom APT key file", action='append', default=[])
+ parser.add_argument('--custom-package', help="Custom package to install from repositories", action='append', default=[])
# Build flavor is a positional argument
parser.add_argument('build_flavor', help='Build flavor', nargs='?', action='store')
@@ -206,29 +206,25 @@ if __name__ == "__main__":
print("Use --build-type=release option if you want to set version number")
sys.exit(1)
- if not args['custom_apt_entry']:
- args['custom_apt_entry'] = []
- args['custom_apt_entry'] = args['custom_apt_entry'] + build_defaults['additional_repositories']
-
## Inject some useful hardcoded options
args['build_dir'] = defaults.BUILD_DIR
args['pbuilder_config'] = os.path.join(defaults.BUILD_DIR, defaults.PBUILDER_CONFIG)
## Combine the arguments with non-configurable defaults
- build_config = merge_dicts(build_defaults, args)
+ build_config = merge_dicts(args, build_defaults)
## Load the flavor file and mix-ins
with open(make_toml_path(defaults.BUILD_TYPES_DIR, build_config["build_type"]), 'r') as f:
build_type_config = toml.load(f)
- build_config = merge_dicts(build_config, build_type_config)
+ build_config = merge_dicts(build_type_config, build_config)
with open(make_toml_path(defaults.BUILD_ARCHES_DIR, build_config["architecture"]), 'r') as f:
build_arch_config = toml.load(f)
- build_config = merge_dicts(build_config, build_arch_config)
+ build_config = merge_dicts(build_arch_config, build_config)
with open(make_toml_path(defaults.BUILD_FLAVORS_DIR, build_config["build_flavor"]), 'r') as f:
flavor_config = toml.load(f)
- build_config = merge_dicts(build_config, flavor_config)
+ build_config = merge_dicts(flavor_config, build_config)
## Rename and merge some fields for simplicity
## E.g. --custom-packages is for the user, but internally
@@ -385,7 +381,10 @@ if __name__ == "__main__":
f.write(vyos_repo_entry)
# Add custom APT entries
- if build_config['custom_apt_entry']:
+ if build_config.get('additional_repositories', False):
+ build_config['custom_apt_entry'] += build_config['additional_repositories']
+
+ if build_config.get('custom_apt_entry', False):
custom_apt_file = defaults.CUSTOM_REPO_FILE
entries = "\n".join(build_config['custom_apt_entry'])
if debug:
@@ -397,7 +396,7 @@ if __name__ == "__main__":
# Add custom APT keys
if has_nonempty_key(build_config, 'custom_apt_key'):
- key_dir = ARCHIVES_DIR
+ key_dir = defaults.ARCHIVES_DIR
for k in build_config['custom_apt_key']:
dst_name = '{0}.key.chroot'.format(os.path.basename(k))
shutil.copy(k, os.path.join(key_dir, dst_name))
@@ -412,7 +411,7 @@ if __name__ == "__main__":
## Create includes
if has_nonempty_key(build_config, "includes_chroot"):
for i in build_config["includes_chroot"]:
- file_path = os.path.join(includes_chroot_dir, i["path"])
+ file_path = os.path.join(chroot_includes_dir, i["path"])
os.makedirs(os.path.dirname(file_path), exist_ok=True)
with open(file_path, 'w') as f:
f.write(i["data"])
@@ -426,7 +425,7 @@ if __name__ == "__main__":
--bootappend-live-failsafe "live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal console=ttyS0,115200 console=tty0 net.ifnames=0 biosdevname=0" \
--linux-flavours {{kernel_flavor}} \
--linux-packages linux-image-{{kernel_version}} \
- --bootloader syslinux,grub-efi \
+ --bootloader {{ bootloaders }} \
--binary-images iso-hybrid \
--checksums 'sha256 md5' \
--debian-installer none \