diff options
-rw-r--r-- | .github/workflows/auto-author-assign.yml | 2 | ||||
-rw-r--r-- | Jenkinsfile | 2 | ||||
-rw-r--r-- | data/architectures/amd64.toml | 9 | ||||
-rw-r--r-- | data/architectures/arm64.toml | 1 | ||||
-rw-r--r-- | data/build-types/development.toml | 1 | ||||
-rw-r--r-- | data/defaults.toml | 8 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/41-init-podman-images.chroot | 8 | ||||
-rw-r--r-- | docker/Dockerfile | 3 | ||||
-rw-r--r-- | packages/frr/Jenkinsfile | 2 | ||||
-rwxr-xr-x | scripts/build-vyos-image | 31 |
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 \ |