DietPi-Build #1596
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: DietPi-Build | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| buildargs: | |
| description: 'DietPi-Build arguments' | |
| required: true | |
| testkernel: | |
| description: 'Install test kernel' | |
| type: boolean | |
| default: false | |
| testuboot: | |
| description: 'Install test U-Boot' | |
| type: boolean | |
| default: false | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.inputs.buildargs }} | |
| cancel-in-progress: true | |
| permissions: {} | |
| jobs: | |
| prep: | |
| outputs: | |
| buildargs: ${{ steps.buildargs.outputs.buildargs }} | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - id: buildargs | |
| run: | | |
| if [ "${{ github.event.inputs.buildargs }}" = 'all' ] | |
| then | |
| echo buildargs=[\ | |
| '"-m 10 -d 7", "-m 10 -d 8", "-m 10 -d 9",'\ | |
| '"-m 11 -d 7", "-m 11 -d 8", "-m 11 -d 9",'\ | |
| '"-m 12 -d 7", "-m 12 -d 8", "-m 12 -d 9",'\ | |
| '"-m 15 -d 7", "-m 15 -d 8", "-m 15 -d 9",'\ | |
| '"-m 16 -d 7", "-m 16 -d 8", "-m 16 -d 9",'\ | |
| '"-m 17 -d 7", "-m 17 -d 8", "-m 17 -d 9",'\ | |
| '"-m 20 -d 7 -v all", "-m 20 -d 8 -v all", "-m 20 -d 9 -v all",'\ | |
| '"-m 20 -d 7 -v all -p gpt", "-m 20 -d 8 -v all -p gpt", "-m 20 -d 9 -v all -p gpt",'\ | |
| '"-m 21 -d 7 -v all", "-m 21 -d 8 -v all", "-m 21 -d 9 -v all",'\ | |
| '"-m 21 -d 7 -v all -p gpt", "-m 21 -d 8 -v all -p gpt", "-m 21 -d 9 -v all -p gpt",'\ | |
| '"-m 40 -d 7", "-m 40 -d 8", "-m 40 -d 9",'\ | |
| '"-m 42 -d 7", "-m 42 -d 8", "-m 42 -d 9",'\ | |
| '"-m 43 -d 7", "-m 43 -d 8", "-m 43 -d 9",'\ | |
| '"-m 44 -d 7", "-m 44 -d 8", "-m 44 -d 9",'\ | |
| '"-m 45 -d 7", "-m 45 -d 8", "-m 45 -d 9",'\ | |
| '"-m 46 -d 7", "-m 46 -d 8", "-m 46 -d 9",'\ | |
| '"-m 47 -d 7", "-m 47 -d 8", "-m 47 -d 9",'\ | |
| '"-m 48 -d 7", "-m 48 -d 8", "-m 48 -d 9",'\ | |
| '"-m 49.1 -d 7", "-m 49.1 -d 8", "-m 49.1 -d 9",'\ | |
| '"-m 49.2 -d 7", "-m 49.2 -d 8", "-m 49.2 -d 9",'\ | |
| '"-m 49.3 -d 7", "-m 49.3 -d 8", "-m 49.3 -d 9",'\ | |
| '"-m 52 -d 7", "-m 52 -d 8", "-m 52 -d 9",'\ | |
| '"-m 54 -d 7", "-m 54 -d 8", "-m 54 -d 9",'\ | |
| '"-m 55 -d 7", "-m 55 -d 8", "-m 55 -d 9",'\ | |
| '"-m 56 -d 7", "-m 56 -d 8", "-m 56 -d 9",'\ | |
| '"-m 57 -d 7", "-m 57 -d 8", "-m 57 -d 9",'\ | |
| '"-m 58 -d 7", "-m 58 -d 8", "-m 58 -d 9",'\ | |
| '"-m 59 -d 7", "-m 59 -d 8", "-m 59 -d 9",'\ | |
| '"-m 60 -d 7", "-m 60 -d 8", "-m 60 -d 9",'\ | |
| '"-m 61 -d 6",'\ | |
| '"-m 62.1 -d 6", "-m 62.2 -d 6",'\ | |
| '"-m 63 -d 7", "-m 63 -d 8", "-m 63 -d 9",'\ | |
| '"-m 64 -d 7", "-m 64 -d 8", "-m 64 -d 9",'\ | |
| '"-m 65.1 -d 7", "-m 65.1 -d 8", "-m 65.1 -d 9",'\ | |
| '"-m 65.2 -d 7", "-m 65.2 -d 8", "-m 65.2 -d 9",'\ | |
| '"-m 66 -d 7", "-m 66 -d 8", "-m 66 -d 9",'\ | |
| '"-m 67 -d 7", "-m 67 -d 8", "-m 67 -d 9",'\ | |
| '"-m 68.1 -d 7", "-m 68.1 -d 8", "-m 68.1 -d 9",'\ | |
| '"-m 68.2 -d 7", "-m 68.2 -d 8", "-m 68.2 -d 9",'\ | |
| '"-m 68.3 -d 7", "-m 68.3 -d 8", "-m 68.3 -d 9",'\ | |
| '"-m 70 -d 6 -e all",'\ | |
| '"-m 72.1 -d 7", "-m 72.1 -d 8", "-m 72.1 -d 9",'\ | |
| '"-m 72.2 -d 7", "-m 72.2 -d 8", "-m 72.2 -d 9",'\ | |
| '"-m 72.3 -d 7", "-m 72.3 -d 8", "-m 72.3 -d 9",'\ | |
| '"-m 73 -d 7", "-m 73 -d 8", "-m 73 -d 9",'\ | |
| '"-m 74 -d 7", "-m 74 -d 8", "-m 74 -d 9",'\ | |
| '"-m 75 -a 1 -d 6", "-m 75 -a 2 -d 6", "-m 75 -a 3 -d 6", "-m 75 -a 10 -d 6",'\ | |
| '"-m 75 -a 1 -d 7", "-m 75 -a 2 -d 7", "-m 75 -a 3 -d 7", "-m 75 -a 10 -d 7",'\ | |
| '"-m 75 -a 1 -d 8", "-m 75 -a 2 -d 8", "-m 75 -a 3 -d 8", "-m 75 -a 10 -d 8", "-m 75 -a 11 -d 8",'\ | |
| '"-m 75 -a 2 -d 9", "-m 75 -a 3 -d 9", "-m 75 -a 10 -d 9", "-m 75 -a 11 -d 9",'\ | |
| '"-m 76.1 -d 7", "-m 76.1 -d 8", "-m 76.1 -d 9",'\ | |
| '"-m 76.2 -d 7", "-m 76.2 -d 8", "-m 76.2 -d 9",'\ | |
| '"-m 77 -d 7", "-m 77 -d 8", "-m 77 -d 9",'\ | |
| '"-m 78 -d 7", "-m 78 -d 8", "-m 78 -d 9", "-m 78 -d 8 --rk35xx-mainline",'\ | |
| '"-m 79.1 -d 7", "-m 79.1 -d 8", "-m 79.1 -d 9", "-m 79.1 -d 8 --rk35xx-mainline",'\ | |
| '"-m 79.2 -d 7", "-m 79.2 -d 8", "-m 79.2 -d 9", "-m 79.2 -d 8 --rk35xx-mainline",'\ | |
| '"-m 79.3 -d 7", "-m 79.3 -d 8", "-m 79.3 -d 9", "-m 79.3 -d 8 --rk35xx-mainline",'\ | |
| '"-m 80 -d 7", "-m 80 -d 8", "-m 80 -d 9", "-m 80 -d 8 --rk35xx-mainline",'\ | |
| '"-m 81 -d 8", "-m 81 -d 9",'\ | |
| '"-m 82 -d 7", "-m 82 -d 8", "-m 82 -d 9", "-m 82 -d 8 --rk35xx-mainline",'\ | |
| '"-m 83 -d 7", "-m 83 -d 8", "-m 83 -d 9",'\ | |
| '"-m 84 -d 8", "-m 84 -d 9",'\ | |
| '"-m 85 -d 7", "-m 85 -d 8", "-m 85 -d 9", "-m 85 -d 8 --rk35xx-mainline",'\ | |
| '"-m 86 -d 7", "-m 86 -d 8", "-m 86 -d 9",'\ | |
| '"-m 87 -d 7", "-m 87 -d 8", "-m 87 -d 9",'\ | |
| '"-m 88 -d 7", "-m 88 -d 8", "-m 88 -d 9",'\ | |
| '"-m 89 -d 7", "-m 89 -d 8", "-m 89 -d 9",'\ | |
| '"-m 90 -d 7", "-m 90 -d 8", "-m 90 -d 9",'\ | |
| '"-m 91 -d 7", "-m 91 -d 8", "-m 91 -d 9", "-m 91 -d 8 --rk35xx-mainline",'\ | |
| '"-m 92 -d 7", "-m 92 -d 8", "-m 92 -d 9", "-m 92 -d 8 --rk35xx-mainline",'\ | |
| '"-m 93 -d 7", "-m 93 -d 8", "-m 93 -d 9", "-m 93 -d 8 --rk35xx-mainline",'\ | |
| '"-m 94 -d 7", "-m 94 -d 8", "-m 94 -d 9", "-m 94 -d 8 --rk35xx-mainline",'\ | |
| '"-m 95 -d 7", "-m 95 -d 8", "-m 95 -d 9",'\ | |
| '"-m 99 -d 7", "-m 99 -d 8", "-m 99 -d 9",'\ | |
| '"-m 100 -d 7", "-m 100 -d 8", "-m 100 -d 9",'\ | |
| '"-m 101 -d 7", "-m 101 -d 8", "-m 101 -d 9",'\ | |
| '"-m 102 -d 7", "-m 102 -d 8", "-m 102 -d 9", "-m 102 -d 8 --rk35xx-mainline",'\ | |
| '"-m 103 -d 7", "-m 103 -d 8", "-m 103 -d 9", "-m 103 -d 8 --rk35xx-mainline"]' >> "$GITHUB_OUTPUT" | |
| elif [ "${{ github.event.inputs.buildargs }}" = 'quartz64' ] | |
| then | |
| echo buildargs=[\ | |
| '"-m 49.1 -d 7", "-m 49.1 -d 8", "-m 49.1 -d 9",'\ | |
| '"-m 49.2 -d 7", "-m 49.2 -d 8", "-m 49.2 -d 9",'\ | |
| '"-m 49.3 -d 7", "-m 49.3 -d 8", "-m 49.3 -d 9"]' >> "$GITHUB_OUTPUT" | |
| elif [ "${{ github.event.inputs.buildargs }}" = 'rpi' ] | |
| then | |
| echo buildargs=[\ | |
| '"-m 1 -d 7 -e all", "-m 1 -d 8 -e all",'\ | |
| '"-m 2 -d 7 -e all", "-m 2 -d 8 -e all", "-m 2 -d 9 -e all",'\ | |
| '"-m 4 -d 7 -e all", "-m 4 -d 8 -e all", "-m 4 -d 9 -e all",'\ | |
| '"-m 5 -d 7 -e all", "-m 5 -d 8 -e all", "-m 5 -d 9 -e all"]' >> "$GITHUB_OUTPUT" | |
| elif [ "${{ github.event.inputs.buildargs }}" = 'containers' ] | |
| then | |
| echo buildargs=[\ | |
| '"-m 75 -a 1 -d 6", "-m 75 -a 2 -d 6", "-m 75 -a 3 -d 6", "-m 75 -a 10 -d 6",'\ | |
| '"-m 75 -a 1 -d 7", "-m 75 -a 2 -d 7", "-m 75 -a 3 -d 7", "-m 75 -a 10 -d 7",'\ | |
| '"-m 75 -a 1 -d 8", "-m 75 -a 2 -d 8", "-m 75 -a 3 -d 8", "-m 75 -a 10 -d 8", "-m 75 -a 11 -d 8",'\ | |
| '"-m 75 -a 2 -d 9", "-m 75 -a 3 -d 9", "-m 75 -a 10 -d 9", "-m 75 -a 11 -d 9"]' >> "$GITHUB_OUTPUT" | |
| elif [ "${{ github.event.inputs.buildargs }}" = 'pc' ] | |
| then | |
| echo buildargs=[\ | |
| '"-m 21 -d 7 -v all", "-m 21 -d 8 -v all", "-m 21 -d 9 -v all",'\ | |
| '"-m 21 -d 7 -v all -p gpt", "-m 21 -d 8 -v all -p gpt", "-m 21 -d 9 -v all -p gpt"]' >> "$GITHUB_OUTPUT" | |
| else | |
| echo buildargs='["${{ github.event.inputs.buildargs }}"]' >> "$GITHUB_OUTPUT" | |
| fi | |
| build: | |
| needs: prep | |
| strategy: | |
| matrix: | |
| buildargs: ${{ fromJson(needs.prep.outputs.buildargs) }} | |
| fail-fast: false | |
| name: "Build: ${{ matrix.buildargs }}" | |
| runs-on: ${{ ( contains(matrix.buildargs, '-m 20') || contains(matrix.buildargs, '-m 21') || contains(matrix.buildargs, '-a 10') ) && 'ubuntu-24.04' || 'ubuntu-24.04-arm' }} | |
| steps: | |
| - name: Generate upload script | |
| run: | | |
| sudo dash -c 'umask 377; echo '\''${{ secrets.KNOWN_HOSTS }}'\'' > /root/.ssh/known_hosts; echo '\''${{ secrets.SSH_KEY }}'\'' > /root/.ssh/id_ed25519; > upload.sh; chmod 0711 upload.sh' | |
| echo '#!/bin/dash | |
| set -e | |
| urls="\"https://dietpi.com/downloads/images/testing/\"" | |
| for i in "$@"; do urls="$urls,\"https://dietpi.com/downloads/images/testing/${i##*/}\""; done | |
| IFS=, | |
| curl -T "{$*}" --key /root/.ssh/id_ed25519 '\''${{ secrets.UPLOAD_URL }}testing/'\'' | |
| curl -H '\''Authorization: Bearer ${{ secrets.CF_TOKEN }}'\'' -H '\''Content-Type: application/json'\'' -d "{\"files\":[$urls]}" '\''https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE }}/purge_cache'\'' | |
| echo' | sudo tee upload.sh > /dev/null | |
| sudo gpg --batch --import << _EOF_ | |
| ${{ secrets.GPG_KEY }} | |
| _EOF_ | |
| - name: Run DietPi-Build | |
| run: | | |
| sudo systemctl --now mask ssh ssh.socket systemd-resolved | |
| echo 'nameserver 1.1.1.1' | sudo tee /etc/resolv.conf > /dev/null | |
| buildargs='${{ matrix.buildargs }}' | |
| [ "${{ github.event.inputs.testkernel }}" == 'true' ] && buildargs="$buildargs --test-kernel" | |
| [ "${{ github.event.inputs.testuboot }}" == 'true' ] && buildargs="$buildargs --test-uboot" | |
| sudo bash -c "G_GITOWNER=$GITHUB_REPOSITORY_OWNER G_GITBRANCH=$GITHUB_REF_NAME; $(curl -sSf "https://raw.githubusercontent.com/$GITHUB_REPOSITORY_OWNER/DietPi/$GITHUB_REF_NAME/.build/images/dietpi-build" || echo false)" -- $buildargs --sign '${{ secrets.GPG_PASS }}' --upload-script 'upload.sh' |