diff --git a/.github/workflows/build-beta-desktop.yml b/.github/workflows/build-beta-desktop.yml deleted file mode 100644 index d2431af0ee..0000000000 --- a/.github/workflows/build-beta-desktop.yml +++ /dev/null @@ -1,133 +0,0 @@ -name: Beta Desktop - -on: - workflow_dispatch: - -jobs: - - Prepare: - - name: Find desktop variants - runs-on: ubuntu-latest - if: ${{ github.repository_owner == 'Armbian' && github.event.workflow_run.conclusion == 'success' }} || github.event_name == 'workflow_dispatch' - outputs: - matrix: ${{steps.list_dirs.outputs.matrix}} - steps: - - - uses: ahmadnassri/action-workflow-run-wait@v1 - - - name: Checkout repository - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - ref: nightly - - - name: Build desktops - id: list_dirs - run: | - - MATRIX=$( - set +e - releases=($(find config/distributions -mindepth 1 -maxdepth 1 -type d | sed 's/.*\///' )) - for i in ${releases[@]} - do - environments=($([[ -d config/desktop/$i/environments ]] && ls -1 config/desktop/$i/environments)) - for j in ${environments[@]} - do - echo "$i:$j" - done - done) - echo ::set-output name=matrix::$(for x in $(echo "${MATRIX}"); do echo $x; done|jq -cnR '[inputs | select(length>0)]' | jq) - - Desktop: - - name: "Build package" - needs: [ Prepare ] - runs-on: ubuntu-latest - timeout-minutes: 480 - strategy: - fail-fast: false - matrix: - node: ${{fromJson(needs.Prepare.outputs.matrix)}} - - steps: - - - name: Checkout repository - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: nightly - clean: true - - - name: Checkout support scripts - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - path: scripts - clean: true - - - name: Pull Docker image - run: | - - sudo docker pull ghcr.io/armbian/build:$(cat build/VERSION | sed 's/trunk.*/trunk/')"-$(dpkg --print-architecture)" - - - name: Build package - run: | - - mkdir -p build/userpatches - cp scripts/configs/* build/userpatches/ - cd build - CHUNK="${{ matrix.node }}" - RELEASE=$(echo $CHUNK | cut -d":" -f1) - DE=$(echo $CHUNK | cut -d":" -f2) - echo "RELEASE=${RELEASE}" >> $GITHUB_ENV - echo "DE=${DE}" >> $GITHUB_ENV - sed -i "s/-it --rm/-i --rm/" userpatches/config-docker.conf - - ./compile.sh docker \ - BSP_BUILD="yes" \ - BETA="yes" \ - RELEASE="${RELEASE}" \ - DESKTOP_ENVIRONMENT_CONFIG_NAME="config_base" \ - BUILD_DESKTOP="yes" \ - DESKTOP_ENVIRONMENT="${DE}" \ - KERNEL_ONLY="yes" \ - KERNEL_CONFIGURE="no" \ - BOARD="uefi-x86" \ - BRANCH="current" \ - SKIP_EXTERNAL_TOOLCHAINS="yes" \ - OFFLINE_WORK="yes" \ - REPOSITORY_INSTALL="u-boot,kernel,armbian-config,armbian-firmware" \ - DESKTOP_APPGROUPS_SELECTED="" \ - EXPERT="yes" - - if [[ $? -eq 0 ]]; then - echo "UPLOAD=true" >> $GITHUB_ENV - fi - - - name: Upload build artifacts - if: ${{ matrix.node != 'none:none' }} - uses: actions/upload-artifact@v2 - with: - name: armbian-${{ env.RELEASE }}-desktop-${{ env.DE }} - path: build/output/debs-beta/${{ env.RELEASE }}/armbian-${{ env.RELEASE }}-desktop-${{ env.DE }}_*.deb - if-no-files-found: ignore - retention-days: 10 - - - name: Install SSH key for storage - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - if: ${{ matrix.node != 'none:none' }} && {{ env.UPLOAD == true }} - run: | - - sudo apt-get -y -qq install lftp - lftp -u upload, -e "set net:timeout 10;set net:max-retries 16;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --include-glob=armbian-${{ env.RELEASE }}-desktop-${{ env.DE }}_*.deb --no-perms $(pwd)/build/output/debs-beta/ debs-beta/ ;bye" sftp://users.armbian.com diff --git a/.github/workflows/build-cache.yml b/.github/workflows/build-cache.yml index 9f74354905..9a10804e17 100644 --- a/.github/workflows/build-cache.yml +++ b/.github/workflows/build-cache.yml @@ -1,6 +1,3 @@ -# This composite actions calls build rootfs action from git@github.com:armbian/scripts.git three times so we -# can run all rootfs combinations at once - depending of available runners - name: Rootfs Caches on: diff --git a/.github/workflows/build-kernel-on-merge-request.yml b/.github/workflows/build-kernel-on-merge-request.yml index 444f7e1107..a84ecca794 100644 --- a/.github/workflows/build-kernel-on-merge-request.yml +++ b/.github/workflows/build-kernel-on-merge-request.yml @@ -4,24 +4,13 @@ on: workflow_dispatch: pull_request: types: [review_requested, ready_for_review] + paths-ignore: + - .github/workflows jobs: - Merge: - if: ${{ success() && github.repository_owner == 'Armbian' }} - uses: armbian/scripts/.github/workflows/merge-from-branch.yml@master - - with: - runner: "ubuntu-latest" - branch: 'nightly' - - secrets: - GPG_KEY2: ${{ secrets.GPG_KEY2 }} - GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }} - Check: name: Checking - needs: Merge if: ${{ success() && github.repository_owner == 'Armbian' }} uses: armbian/scripts/.github/workflows/check-for-changes.yml@master diff --git a/.github/workflows/build-single.yml b/.github/workflows/build-single.yml deleted file mode 100644 index c547e0b43d..0000000000 --- a/.github/workflows/build-single.yml +++ /dev/null @@ -1,228 +0,0 @@ -name: Build Selected Image - -on: - - workflow_dispatch: - - inputs: - - boards: - description: 'Comma delimited list' - required: true - default: 'bananapi' - - repository: - description: 'Packages from repository' - required: true - default: 'yes' - -jobs: - - prepare: - - name: Build image(s) for download section - runs-on: [self-hosted, Linux, X64, cache, big] - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - if [[ $(curl -s http://ifconfig.me) == "93.103.15.56" ]]; then - sudo mountpoint -q build/cache/rootfs && sudo fusermount -u build/cache/rootfs || true - sudo mountpoint -q build/cache/toolchain && sudo fusermount -u build/cache/toolchain || true - fi - sudo mountpoint -q build/output/images && sudo fusermount -u build/output/images || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 && $(sudo mountpoint -q build/output/images; echo $?) -eq 1 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - [[ -d build/output/debug ]] && rm -rf build/output/debug/* || true - [[ -d build/.git ]] && sudo chown -R $USER:$USER build/.git || true - [[ -d build/output/images ]] && sudo rm -rf build/output/images/* || true - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: master - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: true - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: build - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Prepare - env: - - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - REBUILD_IMAGES: ${{ github.event.inputs.boards }} - REPOSITORY: ${{ github.event.inputs.repository }} - - run: | - - cd build - - [[ "${REPOSITORY}" == "yes" ]] && REPOSITORY_INSTALL="u-boot,kernel,armbian-config,armbian-zsh,armbian-firmware" - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - if [[ $(curl -s http://ifconfig.me) == "93.103.15.56" ]]; then - sudo mkdir -p cache/toolchain cache/rootfs || true - # umount - sudo umount cache/toolchain || true - # erase below - sudo mountpoint -q cache/toolchain && sudo rm -rf cache/toolchain/* - ! sudo mountpoint -q cache/toolchain && sudo rm -rf cache/toolchain/* && sudo mount nas:/tank/armbian/toolchain.armbian.com cache/toolchain -o rsize=32768,wsize=32768,timeo=5,retrans=2,actimeo=60,retry=15 || true - ! sudo mountpoint -q cache/rootfs && sudo rm -rf cache/rootfs/* && sudo mount nas:/tank/armbian/dl.armbian.com/_rootfs cache/rootfs -o rsize=32768,wsize=32768,timeo=5,retrans=2,actimeo=60,retry=15 || true - else - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ || true - fi - - # mount deploy target - sudo apt-get -y -qq install sshfs - sudo mkdir -p /root/.ssh/ - sudo cp ~/.ssh/known_hosts /root/.ssh/ - sudo mkdir -p output/images || true - sudo sshfs upload@users.armbian.com:/images output/images -o IdentityFile=~/.ssh/id_rsa - - # use prepared configs - sudo cp ../scripts/configs/* userpatches/ - - # use version from scripts - sudo cp ../scripts/VERSION . - - # cleaning leftovers if any - sudo rm -rf output/debs/* - sudo rm -f userpatches/targets.conf - - [[ "${REPOSITORY}" != "yes" ]] && ./compile.sh single IGNORE_HASH="yes" REPOSITORY_INSTALL="${REPOSITORY_INSTALL}" REBUILD_IMAGES="${REBUILD_IMAGES}" KERNEL_ONLY="yes" BETA="no" BUILD_ALL="yes" BSP_BUILD="yes" MAKE_ALL_BETA="yes" GPG_PASS="${GPG_PASS}" - ./compile.sh single MULTITHREAD="${PARALLEL_BUILDS}" REPOSITORY_INSTALL="${REPOSITORY_INSTALL}" IGNORE_HASH="yes" IGNORE_UPDATES="yes" REBUILD_IMAGES="${REBUILD_IMAGES}" KERNEL_ONLY="no" BETA="no" BUILD_ALL="yes" GPG_PASS="${GPG_PASS}" - - # umount - while mountpoint output/images -q - do - sudo umount output/images || true - echo "Trying to unmount ..." - sleep 10 - done - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY2 }} - passphrase: ${{ secrets.GPG_PASSPHRASE2 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Make BSP packages if we build from sources - - if: ${{ success() && github.event.inputs.repository != 'yes' }} - - env: - - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - - run: | - - cd build - sudo rm -f .tmp/bump - if [[ $(cat .tmp/n 2> /dev/null) -ne 0 ]]; then - ./compile.sh all-new-stable-bsp GPG_PASS="${GPG_PASS}" - sudo touch .tmp/bump - # wait until it finishes - while : - do - [[ $(sudo ps -uax | grep compile.sh | wc -l) -le 1 ]] && exit - echo "Waiting for background processes to finish." - sleep 10 - done - fi - - - name: Bump stable version if we build from sources - - if: ${{ success() && github.event.inputs.repository != 'yes' }} - - run: | - - cd scripts - sudo git clean -ffdx && git reset --hard HEAD - git config pull.rebase false - VERSION=$(cat VERSION | cut -d. -f1,2) - PATCH=$(cat VERSION | cut -d. -f3,3) - echo $VERSION"."$(($PATCH + 1)) | tee VERSION - git config --global user.email "info@armbian.com" - git config --global user.name "Armbianworker" - git pull --allow-unrelated-histories - git add VERSION - git commit -m "Bump stable version" -m "" -m "Adding following kernels:" -m "$(find output/debs/ -type f -name "linux-image*.deb" -printf "%f\n" | sort)" - git push - - - name: Install SSH key for storage - uses: shimataro/ssh-key-action@v2 - with: - - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy packages to server - if: ${{ success() && github.event.inputs.repository != 'yes' }} - - run: | - - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/debs/ debs/ ;bye" sftp://users.armbian.com - - repository: - - # - # Rebuilds package repository - # - - name: Update package repository - needs: [prepare] - if: ${{ github.event.inputs.repository != 'yes' && github.repository_owner == 'Armbian' }} - runs-on: [self-hosted, Linux, local] - steps: - - - name: Install SSH key for repository - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_REPOSITORY }} - name: id_repository # optional - known_hosts: ${{ secrets.KNOWN_HOSTS_REPOSITORY }} - if_key_exists: replace - - - name: Update repository - - run: ssh -T -i ~/.ssh/id_repository ${{ secrets.USER_REPOSITORY }}@${{ secrets.HOST_REPOSITORY }} diff --git a/.github/workflows/build-stable-images.yml b/.github/workflows/build-stable-images.yml deleted file mode 100644 index fc20bfd2e4..0000000000 --- a/.github/workflows/build-stable-images.yml +++ /dev/null @@ -1,4443 +0,0 @@ -name: Build Stable Images - -on: - - workflow_dispatch: - - inputs: - branch: - description: 'Branch to pull from' - required: true - default: 'v21.08-RC' - - buildconfig: - description: 'Build config' - required: false - default: 'all-new-RC-images' - -jobs: - - worker-1: - - name: Worker 1/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-00.conf userpatches/targets.conf # Building chunk 1 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-2: - - name: Worker 2/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-01.conf userpatches/targets.conf # Building chunk 2 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-3: - - name: Worker 3/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-02.conf userpatches/targets.conf # Building chunk 3 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-4: - - name: Worker 4/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-03.conf userpatches/targets.conf # Building chunk 4 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-5: - - name: Worker 5/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-04.conf userpatches/targets.conf # Building chunk 5 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-6: - - name: Worker 6/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-05.conf userpatches/targets.conf # Building chunk 6 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-7: - - name: Worker 7/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-06.conf userpatches/targets.conf # Building chunk 7 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-8: - - name: Worker 8/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-07.conf userpatches/targets.conf # Building chunk 8 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-9: - - name: Worker 9/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-08.conf userpatches/targets.conf # Building chunk 9 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-10: - - name: Worker 10/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-09.conf userpatches/targets.conf # Building chunk 10 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-11: - - name: Worker 11/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-10.conf userpatches/targets.conf # Building chunk 11 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-12: - - name: Worker 12/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-11.conf userpatches/targets.conf # Building chunk 12 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-13: - - name: Worker 13/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-12.conf userpatches/targets.conf # Building chunk 13 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-14: - - name: Worker 14/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-13.conf userpatches/targets.conf # Building chunk 14 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-15: - - name: Worker 15/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-14.conf userpatches/targets.conf # Building chunk 15 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-16: - - name: Worker 16/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-15.conf userpatches/targets.conf # Building chunk 16 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-17: - - name: Worker 17/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-16.conf userpatches/targets.conf # Building chunk 17 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-18: - - name: Worker 18/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-17.conf userpatches/targets.conf # Building chunk 18 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-19: - - name: Worker 19/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-18.conf userpatches/targets.conf # Building chunk 19 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-20: - - name: Worker 20/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-19.conf userpatches/targets.conf # Building chunk 20 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-21: - - name: Worker 21/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-20.conf userpatches/targets.conf # Building chunk 21 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-22: - - name: Worker 22/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-21.conf userpatches/targets.conf # Building chunk 22 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-23: - - name: Worker 23/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-22.conf userpatches/targets.conf # Building chunk 23 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-24: - - name: Worker 24/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-23.conf userpatches/targets.conf # Building chunk 24 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-25: - - name: Worker 25/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-24.conf userpatches/targets.conf # Building chunk 25 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-26: - - name: Worker 26/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-25.conf userpatches/targets.conf # Building chunk 26 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-27: - - name: Worker 27/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-26.conf userpatches/targets.conf # Building chunk 27 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-28: - - name: Worker 28/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-27.conf userpatches/targets.conf # Building chunk 28 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-29: - - name: Worker 29/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-28.conf userpatches/targets.conf # Building chunk 29 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-30: - - name: Worker 30/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-29.conf userpatches/targets.conf # Building chunk 30 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-31: - - name: Worker 31/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-30.conf userpatches/targets.conf # Building chunk 31 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-32: - - name: Worker 32/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-31.conf userpatches/targets.conf # Building chunk 32 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-33: - - name: Worker 33/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-32.conf userpatches/targets.conf # Building chunk 33 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-34: - - name: Worker 34/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-33.conf userpatches/targets.conf # Building chunk 34 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-35: - - name: Worker 35/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-34.conf userpatches/targets.conf # Building chunk 35 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-36: - - name: Worker 36/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-35.conf userpatches/targets.conf # Building chunk 36 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-37: - - name: Worker 37/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-36.conf userpatches/targets.conf # Building chunk 37 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-38: - - name: Worker 38/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-37.conf userpatches/targets.conf # Building chunk 38 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-39: - - name: Worker 39/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-38.conf userpatches/targets.conf # Building chunk 39 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - worker-40: - - name: Worker 40/40 - runs-on: [self-hosted, Linux, images] - timeout-minutes: 720 - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Fix permissions - run: | - - # make sure no temporally dirs are mounted from previous runs - while : - do - sudo pkill compile.sh || true - sudo pkill arm-binfmt-P || true - sudo pkill aarch64-binfmt-P || true - sudo pkill pixz || true - [[ "$(df | grep "/.tmp" | wc -l)" -eq 0 ]] && sudo rm -rf build/.tmp && break - echo "Mounted temp directories. Trying to unmount." - df | grep ".tmp" | awk '{print $6}' | xargs sudo umount 2>/dev/null || true - sleep 10 - done - - sudo chown -R $USER:$USER . - - - name: Checkout Armbian build script - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/build - path: build - ref: ${{ github.event.inputs.branch }} - clean: false - - - name: Checkout Armbian support scripts - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - repository: armbian/scripts - token: ${{ secrets.SCRIPTS_ACCESS_TOKEN }} - path: scripts - clean: false - - - name: Import GPG key - - uses: crazy-max/ghaction-import-gpg@v3 - with: - gpg-private-key: ${{ secrets.GPG_KEY1 }} - passphrase: ${{ secrets.GPG_PASSPHRASE1 }} - workdir: scripts - git-user-signingkey: true - git-commit-gpgsign: true - - - name: Build stable images - env: - GPG_PASS: ${{ secrets.GPG_PASSPHRASE1 }} - BUILD_CONFIG: ${{ github.event.inputs.buildconfig }} - - run: | - - cd build - - # use prepared configs - sudo mkdir -p userpatches - sudo cp ../scripts/configs/* userpatches/ - - # prepare host - [[ ! -f .ignore_changes ]] && sudo touch .ignore_changes - ./compile.sh KERNEL_ONLY="yes" BOARD="bananapi" BRANCH="current" KERNEL_CONFIGURE="no" USE_TORRENT="yes" REPOSITORY_INSTALL="kernel" 'prepare_host' - - # sync rootfs - mkdir -p cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/dl/_rootfs/. cache/rootfs/ - sudo rsync --size-only --delete -avr rsync://rsync.armbian.com/debs/. output/debs/ - - # calculate how many images we can build in parallel - PARALLEL_BUILDS=$(awk '{printf("%d",$1/8000)}' <<<$(($(LC_ALL=C free -w 2>/dev/null | grep "^Mem" | awk '{print $2}' || LC_ALL=C free | grep "^Mem"| awk '{print $2}')/1024))) - - # cleaning leftovers if any - rm -rf output/images/* - - # split into 40 build chunks - cat config/targets.conf | grep -v "^$" | grep -v "^#" > userpatches/split.conf - split -d --number=l/40 --additional-suffix=.conf --suffix-length=2 userpatches/split.conf userpatches/split- - - sudo ln -sf split-39.conf userpatches/targets.conf # Building chunk 40 - - ./compile.sh "${BUILD_CONFIG}" MULTITHREAD="${PARALLEL_BUILDS}" GPG_PASS="${GPG_PASS}" - - - name: Install SSH key for storage - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }} - if_key_exists: replace - - - name: Deploy to server - - if: ${{ success() }} - - run: | - - sudo apt-get -y -qq install lftp - sudo chown -R $USER:$USER $(pwd)/build/output/images/ - lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms $(pwd)/build/output/images/ images/ ;bye" sftp://users.armbian.com - - torrents: - - # - # Rebuilt torrent files for rootfs cache - # - - name: Update download infrastructure - needs: [worker-1, worker-2, worker-3, worker-4, worker-5, worker-6, worker-7, worker-8, worker-9, worker-10,worker-11, worker-12, worker-13, worker-14, worker-15, worker-16, worker-17, worker-18, worker-19, worker-20,worker-21, worker-22, worker-23, worker-24, worker-25, worker-26, worker-27, worker-28, worker-29, worker-30,worker-31, worker-32, worker-33, worker-34, worker-35, worker-36, worker-37, worker-38, worker-39, worker-40] - runs-on: [self-hosted, Linux, local] - if: ${{ github.repository_owner == 'Armbian' }} - steps: - - - name: Install SSH key for torrent - - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.KEY_TORRENTS }} - name: id_torrent # optional - known_hosts: ${{ secrets.KNOWN_HOSTS_TORRENTS }} - if_key_exists: replace - - - name: Create torrents - - run: ssh -T -i ~/.ssh/id_torrent ${{ secrets.USER_TORRENTS }}@${{ secrets.HOST_TORRENTS }} diff --git a/.github/workflows/build-train.yml b/.github/workflows/build-train.yml index ff52ffe8f3..d4361b3b6c 100644 --- a/.github/workflows/build-train.yml +++ b/.github/workflows/build-train.yml @@ -104,6 +104,7 @@ jobs: include: 'grep legacy | ' exclude: '' uploading: false + destref: 'nightly' secrets: GPG_KEY1: ${{ secrets.GPG_KEY1 }} @@ -125,6 +126,7 @@ jobs: include: 'grep current | ' exclude: '' uploading: false + destref: 'nightly' secrets: GPG_KEY1: ${{ secrets.GPG_KEY1 }} @@ -147,6 +149,7 @@ jobs: include: 'grep edge | ' exclude: '' uploading: false + destref: 'nightly' secrets: GPG_KEY1: ${{ secrets.GPG_KEY1 }} diff --git a/.github/workflows/build-u-boot.yml b/.github/workflows/build-u-boot.yml index 6a048216fb..652dc5a733 100644 --- a/.github/workflows/build-u-boot.yml +++ b/.github/workflows/build-u-boot.yml @@ -1,11 +1,31 @@ -name: Beta Bootloader +name: Build u-boot & BSP on: workflow_dispatch: - + inputs: + destref: + type: choice + description: Beta builds + options: + - nightly + - master jobs: + fake: + runs-on: small + name: Source changes + if: ${{ github.repository_owner == 'Armbian' }} + steps: + - run: | + echo "not empty" > changes + - uses: actions/upload-artifact@v2 + with: + path: changes + name: changes + if-no-files-found: ignore + legacy: + needs: [ fake ] uses: armbian/scripts/.github/workflows/build-u-boot-with-docker.yml@master with: @@ -14,6 +34,7 @@ jobs: include: 'grep legacy | ' exclude: '' uploading: false + destref: ${{ github.event.inputs.destref }} secrets: GPG_KEY1: ${{ secrets.GPG_KEY1 }} @@ -25,6 +46,7 @@ jobs: KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }} current: + needs: [ fake ] uses: armbian/scripts/.github/workflows/build-u-boot-with-docker.yml@master with: @@ -33,6 +55,7 @@ jobs: include: 'grep current | ' exclude: '' uploading: false + destref: ${{ github.event.inputs.destref }} secrets: GPG_KEY1: ${{ secrets.GPG_KEY1 }} @@ -45,6 +68,7 @@ jobs: edge: + needs: [ fake ] uses: armbian/scripts/.github/workflows/build-u-boot-with-docker.yml@master with: @@ -53,6 +77,7 @@ jobs: include: 'grep edge | ' exclude: '' uploading: false + destref: ${{ github.event.inputs.destref }} secrets: GPG_KEY1: ${{ secrets.GPG_KEY1 }} diff --git a/.github/workflows/build-docker.yml b/.github/workflows/update-docker.yml similarity index 100% rename from .github/workflows/build-docker.yml rename to .github/workflows/update-docker.yml