diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9b772364c0ba1aa6c7b17e0b25008df57f8a9336..4f8cdc0a69f93e8a1cabfb01ee85fd8bbce6a6ab 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,8 +23,8 @@ emulab-grub2-x86: - grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-efi-sio1 - grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-efi-sio2 - for tdir in /tftpboot/grub2pxe-{bios,native}-* ; do cp -p $tdir/i386-pc/core.0 $tdir/grub2pxe ; rm -rf $tdir/{i386-pc,fonts,locale} ; cd $tdir && ln -s ../grub2.0/locale . && ln -s ../grub2.0/i386-pc . && ln -s ../grub2.0/fonts . ; done - - for tdir in /tftpboot/grub2pxe-efi-* ; do cp -p $tdir/x86_64-efi/core.efi $tdir/grub2pxe ; rm -rf $tdir/{x86_64-efi,fonts,locale} ; cd $tdir && ln -s ../grub2.0/locale . && ln -s ../grub2.0/x86_64-efi . && ln -s ../grub2.0/fonts . ; done - - for tdir in /tftpboot/grub2pxe* ; do cp -p $CI_PROJECT_DIR/emulab/grub.cfg $tdir ; btype=`basename $tdir | cut -d- -f2` ; ctype=`basename $tdir | cut -d- -f3` ; ntype=pxe ; if [ $ctype = "efi" ]; then ntype=efi ; fi ; echo $btype $ctype $ntype ; sed -ie "s/^set console=.*$/set console=$ctype/" $tdir/grub.cfg ; sed -ie "s/^set diskdrivers=.*$/set diskdrivers=$btype/" $tdir/grub.cfg ; sed -ie "s/^set netdrivers=.*$/set netdrivers=$ntype/" $tdir/grub.cfg ; done + - for tdir in /tftpboot/grub2pxe-efi-* ; do cp -p $tdir/x86_64-efi/core.efi $tdir/grub2pxe ; rm -rf $tdir/{i386-pc,x86_64-efi,fonts,locale} ; cd $tdir && ln -s ../grub2.0/locale . && ln -s ../grub2.0/x86_64-efi . && ln -s ../grub2.0/fonts . ; done + - for tdir in /tftpboot/grub2pxe* ; do cp -p $CI_PROJECT_DIR/emulab/grub.cfg $tdir ; btype=`basename $tdir | cut -d- -f2` ; ctype=`basename $tdir | cut -d- -f3` ; ntype=pxe ; if [ $ctype = "efi" ]; then ntype=efi ; fi ; echo $btype $ctype $ntype ; sed -i -e "s/^set console=.*$/set console=$ctype/" $tdir/grub.cfg ; sed -i -e "s/^set diskdrivers=.*$/set diskdrivers=$btype/" $tdir/grub.cfg ; sed -i -e "s/^set netdrivers=.*$/set netdrivers=$ntype/" $tdir/grub.cfg ; done - rsync -a /tftpboot/ $CI_PROJECT_DIR/$CI_JOB_NAME-$CI_COMMIT_REF_NAME/tftpboot/ artifacts: paths: @@ -51,6 +51,7 @@ deploy_testing: extends: .deploy_template script: - echo 'put ./emulab-grub2-x86-master' | sftp -o StrictHostKeyChecking=no -r $GRUB_UPLOAD_USER@$GRUB_UPLOAD_HOST:$GRUB_TESTING_DIR + - for file in `find emulab-grub2-x86-master -type l`; do dir=`dirname $file`; fname=`basename $file`; rlink=`readlink $file`; echo cd $GRUB_TESTING_DIR/$dir; echo symlink $rlink $fname ; done | sftp -o StrictHostKeyChecking=no -r $GRUB_UPLOAD_USER@$GRUB_UPLOAD_HOST:$GRUB_TESTING_DIR environment: name: testing @@ -58,6 +59,7 @@ deploy_production: extends: .deploy_template script: - echo 'put ./emulab-grub2-x86-master' | sftp -o StrictHostKeyChecking=no -r $GRUB_UPLOAD_USER@$GRUB_UPLOAD_HOST:$GRUB_PROD_DIR + - for file in `find emulab-grub2-x86-master -type l`; do dir=`dirname $file`; fname=`basename $file`; rlink=`readlink $file`; echo cd $GRUB_TESTING_DIR/$dir; echo symlink $rlink $fname ; done | sftp -o StrictHostKeyChecking=no -r $GRUB_UPLOAD_USER@$GRUB_UPLOAD_HOST:$GRUB_PROD_DIR environment: name: production when: manual