Skip to content

Build

Build #2537

Workflow file for this run

name: Build
on:
push:
branches:
- main
workflow_dispatch:
inputs:
debug_with_ssh:
description: "Debug with SSH"
required: false
type: boolean
default: false
upload_to_server:
description: "Upload firmware to file server"
required: false
type: boolean
default: false
schedule:
- cron: 0 0/6 * * *
jobs:
lede-x86_64:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@main
- name: Prepare Environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
bash prenv.sh
- name: Checkout repo
uses: actions/checkout@main
with:
repository: coolsnowwolf/lede
fetch-depth: 0
ref: master
- name: Cache
uses: stupidloud/cachewrtbuild@main
with:
ccache: "true"
- name: Download and Load custom configuration
run: |
curl -fsSL https://raw.githubusercontent.com/1orz/My-action/main/lede/x86_64 >.config
echo -e 'CONFIG_DEVEL=y\nCONFIG_CCACHE=y' >> .config; make defconfig
./scripts/feeds update -a && ./scripts/feeds install -a
- name: Try to Build When Multi-core compile failure will be rollback to Single core compile
run: |
echo -e "Will be use $(nproc) thread compile"
sudo df -h
make defconfig clean
make -j$(nproc) || make -j1 V=99
sudo df -h
- name: Setup upterm session
if: ${{ github.event.inputs.debug_with_ssh }}
uses: lhotari/action-upterm@main
- name: Upload Artifact
uses: actions/upload-artifact@main
if: success()
with:
name: LEDE-x86_64
path: |
bin/targets/*/*.gz
bin/targets/*/sha256sums
bin/targets/*/packages/*.apk
- name: Upload firmware to Download Station
if: ${{ github.event.inputs.upload_to_server }}
run: |
cd bin/targets/*/*
zip -r -o -q -9 file.zip . -i *.gz
curl -F "token=${{ secrets.UPLOAD_TOKEN }}" -F "location=Router/lede/x86_64" -F "file=@file.zip" ${{ secrets.MAIN_UPLOAD_PROCESSOR }}
- name: Delete workflow runs
uses: Mattraks/delete-workflow-runs@main
with:
token: ${{ github.token }}
repository: ${{ github.repository }}
retain_days: 7
keep_minimum_runs: 4
openwrt-x86_64:
runs-on: ubuntu-latest
steps:
- name: Prepare Environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
bash <(curl -fsSL https://raw.githubusercontent.com/1orz/My-action/refs/heads/main/prenv.sh)
- name: Checkout repo
uses: actions/checkout@main
with:
repository: openwrt/openwrt
fetch-depth: 0
ref: main
- name: Cache
uses: stupidloud/cachewrtbuild@main
with:
ccache: "true"
mixkey: "openwrt_x86_64"
- name: Download and Load custom configuration
run: |
curl -fsSL https://raw.githubusercontent.com/1orz/My-action/main/openwrt/x86_64 >.config
echo -e 'CONFIG_DEVEL=y\nCONFIG_CCACHE=y' >> .config; make defconfig
rm -rf package/helloworld
git clone --depth=1 https://github.com/fw876/helloworld.git package/helloworld
./scripts/feeds update -a && ./scripts/feeds install -a
- name: Try to Build When Multi-core compile failure will be rollback to Single core compile
run: |
echo -e "Will be use $(nproc) thread compile"
sudo df -h
make defconfig clean
make -j$(nproc) || make -j1 V=99
sudo df -h
- name: Setup upterm session
if: ${{ github.event.inputs.debug_with_ssh }}
uses: lhotari/action-upterm@main
- name: Upload Artifact
uses: actions/upload-artifact@main
if: success()
with:
name: Openwrt-x86_64
path: |
bin/targets/x86/64/*.gz
bin/targets/x86/64/sha256sums
bin/targets/x86/64/packages/*.apk
- name: Upload firmware to Download Station
if: ${{ github.event.inputs.upload_to_server }}
run: |
cd bin/targets/*/*
zip -r -o -q -9 file.zip . -i *.gz
curl -F "token=${{ secrets.UPLOAD_TOKEN }}" -F "location=Router/openwrt/x86_64" -F "file=@file.zip" ${{ secrets.MAIN_UPLOAD_PROCESSOR }}
- name: Delete workflow runs
uses: Mattraks/delete-workflow-runs@main
with:
token: ${{ github.token }}
repository: ${{ github.repository }}
retain_days: 7
keep_minimum_runs: 4
immortalwrt-x86_64:
runs-on: ubuntu-latest
steps:
- name: Prepare Environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
bash <(curl -fsSL https://raw.githubusercontent.com/1orz/My-action/refs/heads/main/prenv.sh)
- name: Checkout repo
uses: actions/checkout@main
with:
repository: immortalwrt/immortalwrt
fetch-depth: 0
ref: master
- name: Cache
uses: stupidloud/cachewrtbuild@main
with:
ccache: "true"
mixkey: "immortalwrt_x86_64"
- name: Download and Load custom configuration
run: |
curl -fsSL https://raw.githubusercontent.com/1orz/My-action/main/immortalwrt/x86_64 >.config
echo -e 'CONFIG_DEVEL=y\nCONFIG_CCACHE=y' >> .config; make defconfig
rm -rf package/helloworld
git clone --depth=1 https://github.com/fw876/helloworld.git package/helloworld
./scripts/feeds update -a && ./scripts/feeds install -a
- name: Try to Build When Multi-core compile failure will be rollback to Single core compile
run: |
echo -e "Will be use $(nproc) thread compile"
sudo df -h
make defconfig clean
make -j$(nproc) || make -j1 V=99
sudo df -h
- name: Setup upterm session
if: ${{ github.event.inputs.debug_with_ssh }}
uses: lhotari/action-upterm@main
- name: Upload Artifact Images
uses: actions/upload-artifact@main
if: success()
with:
name: Immortalwrt-x86_64
path: |
bin/targets/x86/64/*.gz
bin/targets/x86/64/sha256sums
bin/targets/x86/64/packages/*.apk
- name: Upload firmware to Download Station
if: ${{ github.event.inputs.upload_to_server }}
run: |
cd bin/targets/*/*
zip -r -o -q -9 file.zip . -i *.gz
curl -F "token=${{ secrets.UPLOAD_TOKEN }}" -F "location=Router/immortalwrt/x86_64" -F "file=@file.zip" ${{ secrets.MAIN_UPLOAD_PROCESSOR }}
- name: Delete workflow runs
uses: Mattraks/delete-workflow-runs@main
with:
token: ${{ github.token }}
repository: ${{ github.repository }}
retain_days: 7
keep_minimum_runs: 4
immortalwrt-rm2100:
runs-on: ubuntu-latest
steps:
- name: Prepare Environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
bash <(curl -fsSL https://raw.githubusercontent.com/1orz/My-action/refs/heads/main/prenv.sh)
- name: Checkout repo
uses: actions/checkout@main
with:
repository: immortalwrt/immortalwrt
fetch-depth: 0
ref: master
- name: Cache
uses: stupidloud/cachewrtbuild@main
with:
ccache: "true"
mixkey: "ramips"
- name: Download and Load custom configuration
run: |
curl -fsSL https://raw.githubusercontent.com/1orz/My-action/main/immortalwrt/rm2100 >.config
echo -e 'CONFIG_DEVEL=y\nCONFIG_CCACHE=y' >> .config; make defconfig
./scripts/feeds update -a && ./scripts/feeds install -a
- name: Try to Build When Multi-core compile failure will be rollback to Single core compile
run: |
echo -e "Will be use $(nproc) thread compile"
sudo df -h
make defconfig clean
make -j$(nproc) || make -j1 V=99
sudo df -h
- name: Upload Artifact
uses: actions/upload-artifact@main
if: success()
with:
name: Immortalwrt-RM2100
path: |
bin/targets/ramips/mt7621/*.bin
bin/targets/ramips/mt7621/sha256sums
bin/targets/ramips/mt7621/packages/*.apk
- name: Upload firmware to Download Station
if: ${{ github.event.inputs.upload_to_server }}
run: |
cd bin/targets/*/*
zip -r -o -q -9 file.zip . -i *.gz
curl -F "token=${{ secrets.UPLOAD_TOKEN }}" -F "location=Router/immortalwrt/RM2100" -F "file=@file.zip" ${{ secrets.MAIN_UPLOAD_PROCESSOR }}
- name: Delete workflow runs
uses: Mattraks/delete-workflow-runs@main
with:
token: ${{ github.token }}
repository: ${{ github.repository }}
retain_days: 7
keep_minimum_runs: 4