123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- compute_engine_instance:
- image_project: freebsd-org-cloud-dev
- image: family/freebsd-15-0-snap
- platform: freebsd
- cpu: 8
- memory: 16G
- disk: 80
- base_task:
- timeout_in: 120m
- environment:
- PKG_CONFIG_PATH: /usr/libdata/pkgconfig:/usr/local/libdata/pkgconfig
- IGNORE_OSVERSION: yes
- clone_script: |
- pkg update
- pkg install -yf git-tiny bison
- if [ -z "$CIRRUS_PR" ]; then
- git clone --recursive --branch=$CIRRUS_BRANCH https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git $CIRRUS_WORKING_DIR
- git reset --hard $CIRRUS_CHANGE_IN_REPO
- else
- git clone --recursive https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git $CIRRUS_WORKING_DIR
- git fetch origin pull/$CIRRUS_PR/head:pull/$CIRRUS_PR
- git reset --hard $CIRRUS_CHANGE_IN_REPO
- fi
- setup_script:
- - pkg install -fy python311 python3 py311-pip py311-setuptools
- - pip install --upgrade cloudsmith-cli
- - echo "PLATFORM=$(uname -m).$(uname -p)" >> ${CIRRUS_ENV}
- sys_cache:
- folder: /usr/obj/${CIRRUS_WORKING_DIR}/*/sys
- fingerprint_key: ${CIRRUS_BUILD_ID}_sys
- reupload_on_changes: false
- tmp_cache:
- folder: /usr/obj/${CIRRUS_WORKING_DIR}/*/tmp
- fingerprint_key: ${CIRRUS_BUILD_ID}_tmp
- reupload_on_changes: true
- release_cache:
- folder: /usr/obj/${CIRRUS_WORKING_DIR}/*/release
- fingerprint_key: ${CIRRUS_BUILD_ID}_release
- reupload_on_changes: true
- base_build_script:
- - mkdir -p /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}
- - cp -afv ${CIRRUS_WORKING_DIR}/usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/ /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/
- - mkdir -p /usr/obj/${CIRRUS_WORKING_DIR}
- - ${CIRRUS_WORKING_DIR}/tools/ravynOS/build.sh base basepkg
- - cloudsmith push raw -k $KEY ravynsoft/ravynOS --name base_${CIRRUS_BRANCH%/*}.txz /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/release/base.txz
- - rm -rfv /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/release/dist/base/usr/share/locale/nn_NO.*
- upload_caches:
- - tmp
- - release
- only_if: $CIRRUS_BRANCH == 'main' || $CIRRUS_BRANCH == 'staging'
- depends_on:
- - kernel
- kernel_task:
- environment:
- PKG_CONFIG_PATH: /usr/libdata/pkgconfig:/usr/local/libdata/pkgconfig
- IGNORE_OSVERSION: yes
- clone_script: |
- pkg update
- pkg install -yf git-tiny
- if [ -z "$CIRRUS_PR" ]; then
- git clone --recursive --branch=$CIRRUS_BRANCH https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git $CIRRUS_WORKING_DIR
- git reset --hard $CIRRUS_CHANGE_IN_REPO
- else
- git clone --recursive https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git $CIRRUS_WORKING_DIR
- git fetch origin pull/$CIRRUS_PR/head:pull/$CIRRUS_PR
- git reset --hard $CIRRUS_CHANGE_IN_REPO
- fi
- setup_script:
- - pkg install -fy python311 python3 py311-pip py311-setuptools
- - pip install --upgrade cloudsmith-cli
- - echo "PLATFORM=$(uname -m).$(uname -p)" >> ${CIRRUS_ENV}
- - git clone https://github.com/ravynsoft/drm-kmod.git
- sys_cache:
- folder: /usr/obj/${CIRRUS_WORKING_DIR}/*/sys
- fingerprint_key: ${CIRRUS_BUILD_ID}_sys
- reupload_on_changes: true
- release_cache:
- folder: /usr/obj/${CIRRUS_WORKING_DIR}/*/release
- fingerprint_key: ${CIRRUS_BUILD_ID}_release
- reupload_on_changes: true
- kernel_build_script:
- - mkdir -p /usr/obj/${CIRRUS_WORKING_DIR}
- - ${CIRRUS_WORKING_DIR}/tools/ravynOS/build.sh kernel drm kernelpkg
- - cloudsmith push raw -k $KEY ravynsoft/ravynOS --name kernel_${CIRRUS_BRANCH%/*}.txz /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/release/kernel.txz
- upload_caches:
- - sys
- - release
- only_if: $CIRRUS_BRANCH == 'main' || $CIRRUS_BRANCH == 'staging'
- system_task:
- environment:
- PKG_CONFIG_PATH: /usr/libdata/pkgconfig:/usr/local/libdata/pkgconfig
- IGNORE_OSVERSION: yes
- id_rsa_priv_file:
- path: /root/.ssh/id_rsa
- variable_name: MIRROR2_SSH_PRIVKEY
- id_rsa_pub_file:
- path: /root/.ssh/id_rsa.pub
- variable_name: MIRROR2_SSH_PUBKEY
- clone_script: |
- pkg update
- pkg install -yf git-tiny bison
- if [ -z "$CIRRUS_PR" ]; then
- git clone --recursive --branch=$CIRRUS_BRANCH https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git $CIRRUS_WORKING_DIR
- git reset --hard $CIRRUS_CHANGE_IN_REPO
- else
- git clone --recursive https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git $CIRRUS_WORKING_DIR
- git fetch origin pull/$CIRRUS_PR/head:pull/$CIRRUS_PR
- git reset --hard $CIRRUS_CHANGE_IN_REPO
- fi
- setup_script:
- - pkg install -fy python311 python3 py311-pip py311-setuptools
- - echo "PLATFORM=$(uname -m).$(uname -p)" >> ${CIRRUS_ENV}
- sys_cache:
- folder: /usr/obj/${CIRRUS_WORKING_DIR}/*/sys
- fingerprint_key: ${CIRRUS_BUILD_ID}_sys
- reupload_on_changes: false
- tmp_cache:
- folder: /usr/obj/${CIRRUS_WORKING_DIR}/*/tmp
- fingerprint_key: ${CIRRUS_BUILD_ID}_tmp
- reupload_on_changes: false
- release_cache:
- folder: /usr/obj/${CIRRUS_WORKING_DIR}/*/release
- fingerprint_key: ${CIRRUS_BUILD_ID}_release
- reupload_on_changes: false
- system_build_script:
- - mkdir -p /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}
- - cp -afv ${CIRRUS_WORKING_DIR}/usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/ /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/
- - ln -sf ${CIRRUS_WORKING_DIR}/sys /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/tmp/sys
- - ${CIRRUS_WORKING_DIR}/tools/ravynOS/build.sh system extras systempkg
- iso_script:
- - echo >> /root/.ssh/id_rsa
- - chmod 600 /root/.ssh/id_rsa
- - pkg install -y sshpass
- - cp -fv version.txt ISO/overlays/ramdisk/version
- - mkdir -p /usr/local/furybsd/$(uname -m)/cache/$(head -1 version.txt)/base
- - cp -fv /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/release/base.txz /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/release/kernel.txz ${CIRRUS_WORKING_DIR}/dist/ravynOS.txz /usr/local/furybsd/$(uname -m)/cache/$(head -1 version.txt)/base/
- - cd ISO; IGNORE_OSVERSION=yes RAVYNOS=${CIRRUS_WORKING_DIR} ./build.sh ravynOS ravynOS_$(head -1 ../version.txt)
- - SSHPASS="${MIRROR1_PASS}" sshpass -e scp -o StrictHostKeyChecking=no ${CIRRUS_WORKING_DIR}/artifacts/*.iso* ${MIRROR1_USER}@${MIRROR1_HOST}:www/nightly/
- - #scp -P2200 -o StrictHostKeyChecking=no ${CIRRUS_WORKING_DIR}/artifacts/*.iso* ${MIRROR1_USER}@${MIRROR2_HOST}:nightly/
- - date -u +'%s' > timestamp
- - SSHPASS="${MIRROR1_PASS}" sshpass -e scp -o StrictHostKeyChecking=no timestamp ${MIRROR1_USER}@${MIRROR1_HOST}:www/
- - #scp -P2200 -o StrictHostKeyChecking=no timestamp ${MIRROR1_USER}@${MIRROR2_HOST}:
- only_if: $CIRRUS_BRANCH == 'main' || $CIRRUS_BRANCH == 'staging'
- depends_on:
- - base
- - kernel
- ravynOS_artifacts:
- path: dist/ravynOS.txz
|