diff --git a/.github/workflows/generate.yml b/.github/workflows/generate.yml new file mode 100644 index 000000000000..8c0fd23e478e --- /dev/null +++ b/.github/workflows/generate.yml @@ -0,0 +1,122 @@ +name: Recreate Matrix (push) +on: + push: + branches: + - 'main' + paths: + - "config/boards/*" + - ".github/workflows/generate.yml" + workflow_dispatch: +jobs: + + build: + name: Recreate action + runs-on: ubuntu-latest + steps: + + - name: Checkout Armbian Framework + uses: actions/checkout@v4 + with: + repository: armbian/build + fetch-depth: 0 + clean: false + + - name: "Generate builds lists" + run: | + + cat <<- EOF > .github/workflows/generated.yml + name: Generated + on: + workflow_dispatch: + inputs: + + armbian_target: + type: choice + description: 'Build' + required: false + options: + - kernel + - build + default: build + + armbian_kernel_branch: + type: choice + description: 'Kernel branch' + options: + - legacy + - current + - edge + default: 'current' + + armbian_release: + type: choice + description: 'Userspace' + options: + - jammy + - bookworm + - trixie + default: 'jammy' + + armbian_ui: + type: choice + description: 'User interface (not all works)' + options: + - minimal + - server + - xfce + - gnome + - cinnamon + - i3-wm + - kde-plasma + default: 'minimal' + + armbian_version: + description: 'Version' + required: false + default: '' + + armbian_board: + type: choice + description: 'Board' + options: + EOF + # generate lists to include them + ls -1 config/boards/*.conf | cut -d"/" -f4 | cut -d"." -f1 | uniq | sed 's/.*/ - &/' >> .github/workflows/generated.yml + + cat <<- EOF >> .github/workflows/generated.yml + jobs: + + build: + name: "Build Armbian" + runs-on: ubuntu-latest + steps: + + - uses: armbian/build@AR-1459 + with: + armbian_token: "${{ '\${{secrets.GITHUB_TOKEN}}' }}" + armbian_target: "${{ '\${{inputs.armbian_target}}' }}" + armbian_release: "${{ '\${{inputs.armbian_release}}' }}" + armbian_kernel_branch: "${{ '\${{inputs.armbian_kernel_branch}}' }}" + armbian_ui: "${{ '\${{inputs.armbian_ui}}' }}" + armbian_board: "${{ '\${{inputs.armbian_board}}' }}" + armbian_release_tittle: "Armbian SDK" + armbian_release_body: "Virtual images for x86 and arm64" + armbian_pgp_key: "${{ '\${{secrets.GPG_KEY1}}' }}" + armbian_pgp_password: "${{ '\${{secrets.GPG_PASSPHRASE1}}' }}" + EOF + + - name: Create Pull Request + id: cpr + uses: peter-evans/create-pull-request@v5 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: '`Automatic` build actions update' + signoff: true + branch: update-actions + delete-branch: true + title: '`Automatic` board configs status synchronise' + body: | + Update board list in actions + labels: | + Needs review + draft: false