forked from ophub/amlogic-s9xxx-armbian
-
Notifications
You must be signed in to change notification settings - Fork 0
114 lines (105 loc) · 4.54 KB
/
use-releases-file-to-build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#==========================================================================
# Description: Build Armbian For Amlogic s9xxx tv box
# Copyright (C) 2021 https://github.com/ophub/amlogic-s9xxx-armbian
#==========================================================================
name: Use Releases file to build armbian
on:
repository_dispatch:
workflow_dispatch:
inputs:
sel_tags_keywords:
description: "Release: jammy / focal / bullseye"
required: false
default: "jammy"
armbian_soc:
description: "Set Amlogic SoC."
required: false
default: "all"
armbian_kernel:
description: "Set kernel version."
required: false
default: "5.15.25_5.10.100"
armbian_size:
description: "Set armbian rootfs size(Unit: MiB)."
required: false
default: "2748"
armbian_fstype:
description: "Set armbian rootfs type: ext4 / btrfs"
required: false
default: "ext4"
env:
TZ: Asia/Shanghai
jobs:
build:
runs-on: ubuntu-22.04
if: github.event.repository.owner.id == github.event.sender.id
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Initialization environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc
sudo -E apt-get -qq update
sudo -E apt-get -qq install -y $(curl -fsSL https://is.gd/depend_ubuntu2204_armbian)
sudo -E apt-get -qq autoremove --purge
sudo -E apt-get -qq clean
sudo timedatectl set-timezone "$TZ"
echo "COMPILE_STARTINGTIME=$(date +"%m.%d.%H%M")" >> $GITHUB_ENV
- name: Download Armbian from Releases
id: down
if: (!cancelled())
run: |
armbian_buildpath="build/output/images"
[ -d "${armbian_buildpath}" ] || mkdir -p "${armbian_buildpath}"
down_repo="https://api.github.com/repos/${GITHUB_REPOSITORY}/releases"
down_path="Armbian_Aml_${{ github.event.inputs.sel_tags_keywords }}.*/Armbian_.*-trunk_.*.img.gz"
#
# down_filename: Armbian_Aml_bullseye_gnome_desktop_05.17.1924/Armbian_22.05.0-trunk_Odroidn2_bullseye_current_5.10.110.img.gz
down_filename="$(curl -s "${down_repo}" | grep -oE "${down_path}" | head -n 1)"
down_file="https://github.com/${GITHUB_REPOSITORY}/releases/download/${down_filename}"
[ -z "${down_file}" ] && echo "Invalid download file." && exit 1
wget -q -P "${armbian_buildpath}" "${down_file}" && sync
cd "${armbian_buildpath}" && gzip -df *.img.gz && sync
#
# down_tag: Armbian_Aml_bullseye_gnome_desktop
down_tag="${down_filename%%/*}" && down_tag="${down_tag%_*}"
echo "ARMBIAN_RELEASE=${down_tag}" >> $GITHUB_ENV
#
# down_board: bullseye
down_board="$(echo ${down_tag} | cut -d"_" -f3)"
echo "ARMBIAN_BOARD=${down_board}" >> $GITHUB_ENV
#
# down_edition: gnome_desktop
down_edition="$(echo ${down_tag} | cut -d"_" -f4-)"
echo "ARMBIAN_DESKTOP_OPT=${down_edition}" >> $GITHUB_ENV
#
echo "::set-output name=status::success"
- name: Rebuild Armbian [ Board is ${{ env.ARMBIAN_BOARD }} / Edition is ${{ env.ARMBIAN_DESKTOP_OPT }} ]
uses: ophub/amlogic-s9xxx-armbian@main
if: steps.down.outputs.status == 'success' && !cancelled()
with:
build_target: armbian
armbian_path: build/output/images/*.img
armbian_soc: ${{ github.event.inputs.armbian_soc }}
armbian_kernel: ${{ github.event.inputs.armbian_kernel }}
armbian_size: ${{ github.event.inputs.armbian_size }}
armbian_fstype: ${{ github.event.inputs.armbian_fstype }}
armbian_sign: _${{ env.ARMBIAN_DESKTOP_OPT }}
- name: Upload Armbian image to Release
uses: ncipollo/release-action@main
if: env.PACKAGED_STATUS == 'success' && !cancelled()
with:
tag: ${{ env.ARMBIAN_RELEASE }}_${{ env.PACKAGED_OUTPUTDATE }}
artifacts: ${{ env.PACKAGED_OUTPUTPATH }}/*
allowUpdates: true
token: ${{ secrets.GH_TOKEN }}
body: |
This is Armbian image for Amlogic s9xxx tv box
* Firmware information
Default username: root
Default password: 1234
Install command: armbian-install
Update command: armbian-update
Edition: ${{ env.ARMBIAN_DESKTOP_OPT }}