Skip to content

update

update #110

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: OpenWRT
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
tags:
- '*'
jobs:
build_openwrt:
name: Build OpenWrt and release
runs-on: ubuntu-latest
steps:
- name: Space cleanup and Initialization environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
docker rmi `docker images -q`
sudo -E rm -rf /usr/share/dotnet /etc/mysql /etc/php /etc/apt/sources.list.d /usr/local/lib/android
sudo -E apt-mark hold grub-efi-amd64-signed
sudo -E apt update
sudo -E apt -y purge azure-cli* docker* ghc* zulu* llvm* firefox google* dotnet* powershell* openjdk* mysql* php* mongodb* dotnet* snap*
sudo -E apt -y full-upgrade
sudo -E apt -y install ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python3 python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
sudo -E systemctl daemon-reload
sudo -E apt -y autoremove --purge
sudo -E apt clean
sudo -E timedatectl set-timezone "Asia/Shanghai"
- name: Checkout
uses: actions/checkout@v4
with:
ref: master
- name: Cache and free disk space
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
android: true
dotnet: true
haskell: true
large-packages: true
swap-storage: true
- name: Git clone lede and plugins
run: |
git clone --depth=1 https://github.com/coolsnowwolf/lede
cat feeds >> lede/feeds.conf.default
- name: Update feeds
run: |
cd lede
./scripts/feeds update -a
./scripts/feeds install -a
- name: Generate configuration file
run: |
cd lede
rm -f ./.config*
touch ./.config
cat ../seed_simple.config > .config
make defconfig
- name: Make download
run: |
cd lede
make download -j8
- name: Compile firmware
run: |
cd lede
make -j$(nproc) || make -j1 V=s
echo "======================="
echo "Space usage:"
echo "======================="
df -h
echo "======================="
du -h --max-depth=1 ./ --exclude=build_dir --exclude=bin
du -h --max-depth=1 ./build_dir
du -h --max-depth=1 ./bin
- name: Prepare artifact
run: |
cd lede
mkdir -p ./artifact/package
mkdir -p ./artifact/buildinfo
rm -rf $(find ./bin/targets/ -type d -name "packages")
cp -rf $(find ./bin/packages/ -type f -name "*.ipk") ./artifact/package/
cp -rf $(find ./bin/targets/ -type f -name "*.buildinfo" -o -name "*.manifest") ./artifact/buildinfo/
- name: Upload buildinfo
uses: actions/upload-artifact@v4
with:
name: OpenWrt_buildinfo
path: ./lede/artifact/buildinfo/
- name: Upload package
uses: actions/upload-artifact@v4
with:
name: OpenWrt_package
path: ./lede/artifact/package/
- name: Upload firmware
uses: actions/upload-artifact@v4
with:
name: OpenWrt_firmware
path: ./lede/bin/targets/