Actually, split into 3, sysc is too long

This commit is contained in:
fosslinux 2023-05-03 08:48:40 +10:00
parent f124bc86be
commit ce33a6e9f9
4 changed files with 47 additions and 5 deletions

View File

@ -57,11 +57,11 @@ jobs:
- name: Archive sysc_image - name: Archive sysc_image
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: sysc_image name: internal_sysc_image
path: sysc_image.tar path: sysc_image.tar
sysc: sysc1:
name: Run sysc under bubblewrap name: Run sysc (part 1) under bubblewrap
needs: sysa needs: sysa
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -77,11 +77,46 @@ jobs:
- name: Get sysc_image - name: Get sysc_image
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: sysc_image name: internal_sysc_image
- name: Extract sysc_image - name: Extract sysc_image
run: tar -xf sysc_image.tar run: tar -xf sysc_image.tar
- name: Run bootstrap - name: Run bootstrap
run: ./rootfs.py --bwrap --external-sources --build-kernels --preserve --cores 2 --internal-ci pass2 run: ./rootfs.py --bwrap --external-sources --build-kernels --preserve --cores 2 --internal-ci pass2
- name: Archive created packages
if: always() # archive failed builds progress
uses: actions/upload-artifact@v3
with:
name: internal_packages_sysc1
path: tmp/sysa/sysc_image/usr/src/repo/**
sysc2:
name: Run sysc (part 2) under bubblewrap
needs: sysc1
runs-on: ubuntu-latest
steps:
- name: Install bubblewrap
run: sudo apt install bubblewrap
- name: Checkout repo
uses: actions/checkout@v3
with:
submodules: recursive
# There is a strange bug(?) in nongnu, when you clone a git repository
# against a commit != HEAD with depth=1, it errors out.
fetch-depth: 0
- name: Get sysc_image
uses: actions/download-artifact@v3
with:
name: internal_sysc_image
- name: Extract sysc_image
run: tar -xf sysc_image.tar
# By doing this, all packages that have already been compiled will come from the preseed.
- name: Get packages repo progress
uses: actions/download-artifact@v3
with:
name: internal_packages_sysc1
path: tmp/sysa/sysc_image/usr/src/repo-preseeded/
- name: Run bootstrap
run: ./rootfs.py --bwrap --external-sources --build-kernels --preserve --cores 2 --internal-ci pass3
- name: Archive created packages - name: Archive created packages
if: always() # archive failed builds if: always() # archive failed builds
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3

View File

@ -15,6 +15,7 @@ you can run bootstap inside chroot.
import argparse import argparse
import os import os
import shutil
from sysa import SysA from sysa import SysA
from sysc import SysC from sysc import SysC
@ -35,6 +36,7 @@ def create_configuration_file(args):
config.write(f"UPDATE_CHECKSUMS={args.update_checksums}\n") config.write(f"UPDATE_CHECKSUMS={args.update_checksums}\n")
config.write(f"JOBS={args.cores}\n") config.write(f"JOBS={args.cores}\n")
config.write("DISK=sda1\n") config.write("DISK=sda1\n")
config.write(f"INTERNAL_CI={args.internal_ci}\n")
if (args.bare_metal or args.qemu) and not args.kernel: if (args.bare_metal or args.qemu) and not args.kernel:
config.write("KERNEL_BOOTSTRAP=True\n") config.write("KERNEL_BOOTSTRAP=True\n")
else: else:
@ -198,7 +200,9 @@ print(shutil.which('chroot'))
'--dev-bind', '/dev/urandom', '/dev/urandom', '--dev-bind', '/dev/urandom', '/dev/urandom',
init) init)
if not args.internal_ci or args.internal_ci == "pass2": if not args.internal_ci or args.internal_ci == "pass2" or args.internal_ci == "pass3":
shutil.copy2(os.path.join('sysa', 'bootstrap.cfg'),
os.path.join('tmp', 'sysa', 'sysc_image', 'usr', 'src', 'bootstrap.cfg'))
run('bwrap', '--unshare-user', run('bwrap', '--unshare-user',
'--uid', '0', '--uid', '0',
'--gid', '0', '--gid', '0',

View File

@ -78,6 +78,7 @@ DESTDIR=${DESTDIR}
DISTFILES=${DISTFILES} DISTFILES=${DISTFILES}
SRCDIR=${SRCDIR} SRCDIR=${SRCDIR}
MAKEJOBS=${MAKEJOBS} MAKEJOBS=${MAKEJOBS}
INTERNAL_CI=${INTERNAL_CI}
EOF EOF
exec ./run.sh exec ./run.sh

View File

@ -120,6 +120,8 @@ build python-3.8.16
build python-3.11.1 build python-3.11.1
[ "${INTERNAL_CI}" = "pass2" ] && exit 0
build gcc-10.4.0 build gcc-10.4.0
build binutils-2.38 pass2.sh build binutils-2.38 pass2.sh