* Remove workflow cancellation We should be able to run multiple images build jobs at once. * Leave 32 releases
535 lines
17 KiB
YAML
535 lines
17 KiB
YAML
name: Build Images
|
|
#
|
|
# Generates beta, stable or RC images. You can select build runners. By default it generates all images, but you can build images only for one target
|
|
# Images are placed at www.arnmbian.com and nighly beta also at https://github.com/armbian/build/releases/tag/latest
|
|
#
|
|
|
|
on:
|
|
|
|
# workflow_run:
|
|
# workflows: ["Build train"]
|
|
# types:
|
|
# - completed
|
|
|
|
schedule:
|
|
- cron: "30 0 * * *"
|
|
|
|
workflow_dispatch:
|
|
|
|
inputs:
|
|
|
|
choice:
|
|
type: choice
|
|
description: Build targets
|
|
options:
|
|
- beta
|
|
- stable
|
|
- rc
|
|
|
|
runner:
|
|
type: choice
|
|
description: Build runners for CLI
|
|
options:
|
|
- small
|
|
- ubuntu-latest
|
|
|
|
sourcerepo:
|
|
description: Source repository
|
|
required: false
|
|
default: 'nightly'
|
|
|
|
packagesrepo:
|
|
type: choice
|
|
description: Beta packages repository
|
|
options:
|
|
- "yes"
|
|
- "no"
|
|
|
|
fromsources:
|
|
type: choice
|
|
description: Build from sources
|
|
options:
|
|
- "no"
|
|
- "yes"
|
|
|
|
advanced:
|
|
description: 'Single board (grep -w tinkerboard |)'
|
|
required: false
|
|
default: ''
|
|
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
jobs:
|
|
|
|
clean:
|
|
|
|
if: ${{ github.repository_owner == 'Armbian' }}
|
|
name: Purge older releases
|
|
runs-on: [ubuntu-latest]
|
|
steps:
|
|
|
|
- name: Purge old releases of trunk build
|
|
uses: Vucko130/delete-older-releases@v0.2.1
|
|
with:
|
|
keep_latest: 32
|
|
delete_tag_pattern: trunk
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Purge action workflow logs
|
|
uses: igorjs/gh-actions-clean-workflow@v3
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
days_old: 14
|
|
|
|
fake:
|
|
if: ${{ github.repository_owner == 'Armbian' }}
|
|
runs-on: small
|
|
needs: [ clean ]
|
|
name: Source changes
|
|
outputs:
|
|
changes: ${{steps.list_releases.outputs.changes}}
|
|
version: ${{steps.list_releases.outputs.version}}
|
|
steps:
|
|
- run: |
|
|
echo "not empty" > changes
|
|
|
|
- uses: actions/checkout@v3
|
|
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
|
|
with:
|
|
fetch-depth: 1
|
|
path: build
|
|
clean: false
|
|
ref: nightly
|
|
|
|
- name: "Get latest release version"
|
|
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
|
|
id: list_releases
|
|
run: |
|
|
|
|
RELE=$(curl -ks https://api.github.com/repos/armbian/build/releases/latest ^| grep "browser_download_url" | grep -o -P '(?<=Armbian.).*(?=_)' | cut -d"_" -f1 | sort | uniq | head -1)
|
|
SOUR=$(cat build/VERSION)
|
|
|
|
# skip if version in git is the same as at release
|
|
if [[ "$RELE" == "$SOUR" ]]; then
|
|
echo "changes=true" >> $GITHUB_OUTPUT
|
|
fi
|
|
# output version
|
|
echo "version=${SOUR}" >> $GITHUB_OUTPUT
|
|
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
path: changes
|
|
name: changes
|
|
if-no-files-found: ignore
|
|
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
path: changes
|
|
name: changes
|
|
if-no-files-found: ignore
|
|
|
|
|
|
generaterelease:
|
|
|
|
needs: [ fake ]
|
|
if: ${{ github.repository_owner == 'Armbian' && needs.fake.outputs.changes != 'true' }}
|
|
runs-on: ubuntu-latest
|
|
name: "Update latest release"
|
|
steps:
|
|
|
|
- run: |
|
|
|
|
echo "Env: ${{ github.event.inputs.choice }}"
|
|
echo "Env: ${{ github.event.inputs.runner }}"
|
|
echo "Env: ${{ github.event.inputs.sourcerepo }}"
|
|
echo "Branch: ${{ github.event.inputs.branch }}"
|
|
echo "Version: ${{ needs.fake.outputs.version }}"
|
|
|
|
- uses: actions/checkout@v3
|
|
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- uses: ClementTsang/delete-tag-and-release@v0.3.1
|
|
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
|
|
with:
|
|
delete_release: true
|
|
tag_name: latest
|
|
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- uses: ncipollo/release-action@v1
|
|
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
|
|
with:
|
|
artifacts: "LICENSE"
|
|
tag: "${{ needs.fake.outputs.version }}"
|
|
name: "Build in progress"
|
|
bodyFile: ".github/Releases-wip.md"
|
|
allowUpdates: true
|
|
removeArtifacts: true
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
merge:
|
|
|
|
needs: [ generaterelease ]
|
|
uses: armbian/scripts/.github/workflows/merge-from-branch.yml@master
|
|
|
|
with:
|
|
branch: 'nightly'
|
|
runner: small
|
|
|
|
secrets:
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
|
|
x86:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
|
|
variant: 'cli:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
runner: ubuntu-latest
|
|
part: 1
|
|
of: 1
|
|
include: 'grep uefi-x86 | ${{ github.event.inputs.advanced }}'
|
|
exclude: ''
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
x86-desktop:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
|
|
variant: 'desktop:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
runner: "big"
|
|
part: 1
|
|
of: 1
|
|
include: 'grep uefi-x86 | ${{ github.event.inputs.advanced }}'
|
|
exclude: ''
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
x86-minimal:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
|
|
variant: 'minimal:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
runner: "big"
|
|
part: 1
|
|
of: 1
|
|
include: 'grep uefi-x86 | ${{ github.event.inputs.advanced }}'
|
|
exclude: ''
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
cli1:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
|
|
variant: 'cli:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
runner: ubuntu-latest
|
|
part: 1
|
|
of: 2
|
|
include: '${{ github.event.inputs.advanced }}'
|
|
exclude: 'grep -v uefi-x86 | grep -v uefi-riscv64 | '
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
|
|
cli2:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
|
|
variant: 'cli:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
runner: '${{ github.event.inputs.runner }}'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
part: 2
|
|
of: 2
|
|
include: '${{ github.event.inputs.advanced }}'
|
|
exclude: 'grep -v uefi-x86 | grep -v uefi-riscv64 | '
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
minimal:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
|
|
variant: 'minimal:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
runner: '${{ github.event.inputs.runner }}'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
part: 1
|
|
of: 1
|
|
include: '${{ github.event.inputs.advanced }}'
|
|
exclude: 'grep -v uefi-x86 | grep -v uefi-riscv64 | '
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
desktop1:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
variant: 'desktop:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
runner: "big"
|
|
part: 1
|
|
of: 2
|
|
include: '${{ github.event.inputs.advanced }}'
|
|
exclude: 'grep -v uefi-x86 | grep -v uefi-riscv64 | '
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
desktop2:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
variant: 'desktop:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
runner: "big"
|
|
part: 2
|
|
of: 2
|
|
include: '${{ github.event.inputs.advanced }}'
|
|
exclude: 'grep -v uefi-x86 | grep -v uefi-riscv64 | '
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
riscv64:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
|
|
variant: 'cli:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
runner: 'igor'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
part: 1
|
|
of: 1
|
|
include: '${{ github.event.inputs.advanced }}'
|
|
exclude: 'grep uefi-riscv64 | '
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
riscv64-min:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
|
|
variant: 'minimal:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
runner: 'igor'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
part: 1
|
|
of: 1
|
|
include: '${{ github.event.inputs.advanced }}'
|
|
exclude: 'grep uefi-riscv64 | '
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
riscv64-x:
|
|
|
|
needs: [ merge ]
|
|
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
|
|
|
|
with:
|
|
variant: 'desktop:${{ github.event.inputs.choice }}'
|
|
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
|
|
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
|
|
fromsources: '${{ github.event.inputs.fromsources }}'
|
|
runner: 'igor'
|
|
part: 1
|
|
of: 1
|
|
include: '${{ github.event.inputs.advanced }}'
|
|
exclude: 'grep uefi-riscv64 | '
|
|
uploading: false
|
|
|
|
secrets:
|
|
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
|
|
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
|
|
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
|
|
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
|
|
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
|
|
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
|
|
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
|
|
|
jobsend:
|
|
|
|
name: finish
|
|
needs: [x86,x86-desktop,x86-minimal,minimal,cli1,desktop1,cli2,desktop2,riscv64,riscv64-min,riscv64-x]
|
|
runs-on: [ubuntu-latest]
|
|
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
|
|
steps:
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 1
|
|
ref: nightly
|
|
|
|
- name: Make build list
|
|
run: |
|
|
|
|
sudo npm install --location=global json || true
|
|
truncate README.me --size=0 || true
|
|
echo "VERSION=$(cat VERSION)" >> $GITHUB_ENV
|
|
cat ".github/Releases.md" >> README.tmp
|
|
echo -en " \n\n" >> README.tmp
|
|
echo "| Image | GPG | SHA | Release | Branch | Variant | Size | Kernel |" >> README.tmp
|
|
echo "| --- | :--: | :--: | :--: | :--: | :--: | --: | --: |" >> README.tmp
|
|
gh release view --json assets 2>/dev/null | python3 -mjson.tool | sed '1,2d;$d' | json -ga name url size -d, | sort | (
|
|
while read -r line; do
|
|
name=$(echo $line | cut -d"," -f1 | awk '{print tolower($0)}')
|
|
url=$(echo $line | cut -d"," -f2)
|
|
size=$(echo $line | cut -d"," -f3)
|
|
if [ "${name: -3}" == ".xz" ]; then
|
|
board_name=$(echo $name | cut -d"_" -f3)
|
|
source config/boards/$board_name.*
|
|
out_release=$(echo $name | cut -d"_" -f4)
|
|
out_branch=$(echo $name | cut -d"_" -f5)
|
|
out_kernel=$(echo $name | cut -d"_" -f6-7 | cut -d"." -f1-3 | cut -d"_" -f1)
|
|
out_desktop=$(echo $name | cut -d"_" -f7- | cut -d"." -f1 | cut -d"_" -f1)
|
|
out_desktop=${out_desktop:-cli}
|
|
out_size=$(echo "scale=2; $size/1024/1024" | bc -l)" Mb"
|
|
echo -ne "| [$BOARD_NAME]($url) | [:file_folder:]($url".asc") | [:file_folder:]($url".sha") | $out_release | $out_branch | $out_desktop | $out_size | $out_kernel |\n" >> README.tmp
|
|
fi
|
|
done
|
|
)
|
|
echo -en "\n \n" >> README.tmp
|
|
cat README.tmp
|
|
|
|
- uses: ncipollo/release-action@v1
|
|
with:
|
|
tag: "${{ env.VERSION }}"
|
|
bodyFile: "README.tmp"
|
|
name: "Armbian ${{ env.VERSION }}"
|
|
allowUpdates: true
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|