generated from P3TERX/Actions-OpenWrt
-
Notifications
You must be signed in to change notification settings - Fork 80
141 lines (130 loc) · 5.59 KB
/
ARMv8_Docker_BuildX.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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
name: ARMv8_Docker_BuildX
on:
workflow_dispatch:
repository_dispatch:
# release:
# types: published
push:
branches:
- master
paths:
- 'docker/buildImageX.sh'
schedule:
- cron: 30 23 * * *
# watch:
# types: started
env:
REPO_URL: https://github.com/coolsnowwolf/lede
REPO_BRANCH: master
FEEDS_CONF: feeds.conf.default
CONFIG_FILE: aarch64/ARMv8_Docker.config
DIY_P1_SH: diy-part1.sh
DIY_P2_SH: diy-part2.sh
MRG_ADD_SH: aarch64/ARMv8.sh
DOCKER_BUILD_SH: buildImageX.sh
TZ: Asia/Shanghai
FILE_NAME: ARMv8Docker
PRODUCT_NAME: ARMv8_Docker
jobs:
build:
runs-on: ubuntu-20.04
# if: github.event.repository.owner.id == github.event.sender.id
steps:
#- name: WeChat notification
# run: curl https://sc.ftqq.com/${{ secrets.ServerChan }}.send?text=${{ env.FILE_NAME }}开始编译
- name: Checkout
uses: actions/checkout@master
- name: Check server performance
run: |
echo "警告⚠"
echo "若分配的服务器性能不足,务必及时取消,重新运行!"
echo "已知编译成功CPU型号:8370C,8171M"
echo "已知性能不足CPU型号:8272CL"
echo -e "-------------- ------------CPU信息------------------------------------------\n"
echo "CPU物理数量:$(cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l)"
echo -e "CPU核心及版本信息:$(cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c) \n"
echo "-------------------------------内存信息-------------------------------------------"
echo "已安装内存详细信息:"
sudo lshw -short -C memory | grep GiB
echo -e "\n"
echo "-----------------------------硬盘信息---------------------------------------------"
echo -e "硬盘数量:$(ls /dev/sd* | grep -v [1-9] | wc -l) \n"
echo "硬盘详情:"
df -Th
- 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 $(curl -fsSL git.io/depends-ubuntu-1804)
sudo -E apt-get -qq install time
sudo -E apt-get -qq autoremove --purge
sudo -E apt-get -qq clean
sudo timedatectl set-timezone "$TZ"
sudo mkdir -p /workdir
sudo chown $USER:$GROUPS /workdir
- name: CheckEnv
working-directory: /workdir
run: |
echo "docker buildx version"
docker buildx version
echo "ls -l /proc/sys/fs/binfmt_misc"
ls -l /proc/sys/fs/binfmt_misc
echo "docker run --privileged --rm tonistiigi/binfmt --install all"
docker run --privileged --rm tonistiigi/binfmt --install all
echo "ls -l /proc/sys/fs/binfmt_misc"
ls -l /proc/sys/fs/binfmt_misc
echo "docker buildx ls"
docker buildx ls
- name: Clone source code
working-directory: /workdir
run: |
df -hT $PWD
git clone --depth 1 $REPO_URL -b $REPO_BRANCH openwrt
ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt
cd openwrt
useVersionInfo=$(git show -s --date=short --format="Author: %an<br/>date: %cd<br/>commit: %s<br/>commit hash: %H")
echo "useVersionInfo=$useVersionInfo" >> $GITHUB_ENV
echo "DATE=$(date "+%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV
echo "DATE1=$(date "+%Y-%m-%d")" >> $GITHUB_ENV
- name: Build and push docker image
id: push
run: |
sudo wget https://github.com/HoldOnBro/Actions-OpenWrt/releases/download/Files4Build/Docker-openwrt-armvirt-64-generic-rootfs.tar.gz
cp ./Docker-openwrt-armvirt-64-generic-rootfs.tar.gz $GITHUB_WORKSPACE/docker/openwrt-armvirt-64-generic-rootfs.tar.gz
cd $GITHUB_WORKSPACE/docker
chmod +x $DOCKER_BUILD_SH
./$DOCKER_BUILD_SH
gzip -dc dockerimgs/docker/*.gz | docker load
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker tag minirailgun/openwrt-aarch64 minirailgun/openwrt-aarch64:R${{ env.DATE_YMD }}
docker push minirailgun/openwrt-aarch64
echo "status=success" >> "$GITHUB_OUTPUT"
- name: Check performance again
run: |
echo "警告⚠"
echo "若分配的服务器性能不足,务必及时取消,重新运行!"
echo "已知编译成功CPU型号:8370C,8171M"
echo "已知性能不足CPU型号:8272CL"
echo -e "-------------- ------------CPU信息------------------------------------------\n"
echo "CPU物理数量:$(cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l)"
echo -e "CPU核心及版本信息:$(cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c) \n"
echo "-------------------------------内存信息-------------------------------------------"
echo "已安装内存详细信息:"
sudo lshw -short -C memory | grep GiB
echo -e "\n"
echo "-----------------------------硬盘信息---------------------------------------------"
echo -e "硬盘数量:$(ls /dev/sd* | grep -v [1-9] | wc -l) \n"
echo "硬盘详情:"
df -Th
- name: Telegram notification
uses: appleboy/telegram-action@master
if: steps.push.outputs.status == 'success' && !cancelled()
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message: |
编译时间:${{ env.DATE }}
lede更新信息:${{ env.useVersionInfo }}
${{ env.FILE_NAME }}推送成功