Skip to content

Commit

Permalink
Add workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
trinidude4 committed Dec 16, 2024
1 parent 25268f7 commit 6ee9f4f
Show file tree
Hide file tree
Showing 4 changed files with 266 additions and 0 deletions.
58 changes: 58 additions & 0 deletions .github/workflows/build_image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Build image

on: [workflow_dispatch]

permissions: write-all

env:
BUILD_TARGET: 24.10.0-rc2

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@main

- name: Initialize environment
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk gcc-multilib g++-multilib \
gettext git libncurses5-dev libssl-dev python3-distutils rsync unzip zlib1g-dev \
file wget
- name: Download Image-Builder
run: |
wget https://downloads.openwrt.org/releases/$BUILD_TARGET/targets/mvebu/cortexa9/openwrt-imagebuilder-$BUILD_TARGET-mvebu-cortexa9.Linux-x86_64.tar.xz
tar -J -x -f openwrt-imagebuilder-*.tar.xz
- name: Build Image
run: |
cd $GITHUB_WORKSPACE/openwrt-imagebuilder-*/
make image PROFILE="linksys_wrt32x" PACKAGES="base-files busybox ca-bundle dnsmasq dropbear \
firewall4 fstools iwinfo kmod-btmrvl kmod-gpio-button-hotplug kmod-mwifiex-sdio kmod-mwlwifi \
kmod-nft-offload libc libgcc libustream-mbedtls logd mtd mwlwifi-firmware-88w8964 netifd \
nftables-json odhcp6c odhcpd-ipv6only opkg ppp ppp-mod-pppoe procd procd-seccomp procd-ujail \
uboot-envtools uci uclient-fetch urandom-seed urngd wpad-basic-mbedtls luci block-mount \
ca-certificates curl kmod-fs-vfat kmod-usb-storage luci-app-adblock luci-app-advanced-reboot \
luci-app-commands luci-app-ddns luci-app-https-dns-proxy luci-app-minidlna luci-app-samba4 \
luci-app-wireguard nano procps-ng-watch qosify tcpdump-mini git git-http irqbalance \
mariadb-server mariadb-client -nftables"
- name: Upload directories
uses: actions/upload-artifact@main
with:
name: build_upload
path: |
openwrt-imagebuilder-*/bin/*
- name: Upload files
uses: maggie44/actions/packages/automatic-releases@built-packages
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: ${{ env.BUILD_TARGET }}-latest
prerelease: false
title: Latest ${{ env.BUILD_TARGET }}
files: |
openwrt-imagebuilder-*/bin/targets/mvebu/cortexa9/*
67 changes: 67 additions & 0 deletions .github/workflows/build_mwlwifi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Build mwlwifi

on: [workflow_dispatch]

permissions: write-all

env:
BUILD_TARGET: 24.10.0-rc2

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@main

- name: Initialize environment
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk gcc-multilib g++-multilib \
gettext git libncurses5-dev libssl-dev python3-distutils rsync unzip zlib1g-dev \
file wget
- name: Install sdk
run: |
cd $GITHUB_WORKSPACE
wget https://downloads.openwrt.org/releases/$BUILD_TARGET/targets/mvebu/cortexa9/config.buildinfo -O .config
wget https://downloads.openwrt.org/releases/$BUILD_TARGET/targets/mvebu/cortexa9/openwrt-sdk-$BUILD_TARGET-mvebu-cortexa9_gcc-13.3.0_musl_eabi.Linux-x86_64.tar.xz
tar -xhf openwrt-sdk-*.tar.xz
rsync -a openwrt-sdk-$BUILD_TARGET-mvebu-cortexa9_gcc-13.3.0_musl_eabi.Linux-x86_64/* .
- name: Update feeds
run: cd $GITHUB_WORKSPACE && ./scripts/feeds update -a

- name: Install feeds
run: cd $GITHUB_WORKSPACE && ./scripts/feeds install -a

- name: Make defconfig
run: |
cd $GITHUB_WORKSPACE
rsync -a feeds/base/package/* feeds/base/.
make defconfig
- name: Build Image
run: |
cd $GITHUB_WORKSPACE
make -j$(nproc) package/kernel/mwlwifi/compile V=s
- name: Upload directories
uses: actions/upload-artifact@main
with:
name: build_upload
path: |
bin
- name: Upload files
uses: maggie44/actions/packages/automatic-releases@built-packages
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: mwlwifi-${{ env.BUILD_TARGET }}
prerelease: false
title: jbsky ${{ env.BUILD_TARGET }} mwlwifi
files: |
bin/targets/mvebu/cortexa9/packages/kmod-mwlwifi_*.ipk
bin/targets/mvebu/cortexa9/packages/mwlwifi-firmware-*.ipk
86 changes: 86 additions & 0 deletions .github/workflows/build_sdk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Build sdk

on: [workflow_dispatch]

permissions: write-all

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@main

- name: Initialize environment
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk gcc-multilib g++-multilib \
gettext git libncurses5-dev libssl-dev python3-distutils rsync unzip zlib1g-dev \
file wget
- name: Update feeds
run: cd $GITHUB_WORKSPACE && ./scripts/feeds update -a

- name: Install feeds
run: cd $GITHUB_WORKSPACE && ./scripts/feeds install -a

- name: Install toolchain
run: |
cd $GITHUB_WORKSPACE
wget https://github.com/trinidude4/openwrt/releases/download/toolchain-latest/toolchain.tar.xz
tar -xhf toolchain.tar.xz
./scripts/ext-toolchain.sh \
--toolchain staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-13.3.0_musl_eabi \
--config mvebu/cortexa9
./scripts/ext-tools.sh --refresh
- name: Make defconfig
run: |
cd $GITHUB_WORKSPACE
wget https://downloads.openwrt.org/snapshots/targets/mvebu/cortexa9/config.buildinfo -O .config
echo "CONFIG_BUILD_NLS=y" >> .config
echo "CONFIG_EXTERNAL_TOOLCHAIN=y" >> .config
echo "CONFIG_EXTERNAL_TOOLCHAIN_LIBC_USE_MUSL=y" >> .config
echo "CONFIG_LIBC_FILE_SPEC=\"./arm-openwrt-linux-muslgnueabi/lib/ld-musl-armhf.so.1 ./arm-openwrt-linux-muslgnueabi/lib/libc.so\"" >> .config
echo "CONFIG_LIBC_ROOT_DIR=\"/home/runner/work/openwrt/openwrt/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-13.3.0_musl_eabi\"" >> .config
echo "CONFIG_LIBGCC_FILE_SPEC=\"./arm-openwrt-linux-muslgnueabi/lib/libgcc_s.so ./arm-openwrt-linux-muslgnueabi/lib/libgcc_s.so.1\"" >> .config
echo "CONFIG_LIBGCC_ROOT_DIR=\"/home/runner/work/openwrt/openwrt/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-13.3.0_musl_eabi\"" >> .config
echo "CONFIG_LIBPTHREAD_FILE_SPEC=\"./lib/libpthread{-*.so,.so.*}\"" >> .config
echo "CONFIG_LIBPTHREAD_ROOT_DIR=\"/home/runner/work/openwrt/openwrt/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-13.3.0_musl_eabi\"" >> .config
echo "CONFIG_LIBRT_FILE_SPEC=\"./lib/librt{-*.so,.so.*}\"" >> .config
echo "CONFIG_LIBRT_ROOT_DIR=\"/home/runner/work/openwrt/openwrt/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-13.3.0_musl_eabi\"" >> .config
echo "CONFIG_LIBSTDCPP_FILE_SPEC=\"./arm-openwrt-linux-muslgnueabi/lib/libstdc++.so ./arm-openwrt-linux-muslgnueabi/lib/libstdc++.so.6 ./arm-openwrt-linux-muslgnueabi/lib/libstdc++.so.6.0.30 ./arm-openwrt-linux-muslgnueabi/lib/libstdc++.so.6.0.30-gdb.py\"" >> .config
echo "CONFIG_LIBSTDCPP_ROOT_DIR=\"/home/runner/work/openwrt/openwrt/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-13.3.0_musl_eabi\"" >> .config
echo "CONFIG_PACKAGE_libstdcpp=y" >> .config
echo "CONFIG_TARGET_NAME=\"arm-openwrt-linux-muslgnueabi\"" >> .config
echo "CONFIG_TOOLCHAIN_BIN_PATH=\"./usr/bin ./bin\"" >> .config
echo "CONFIG_TOOLCHAIN_INC_PATH=\"./usr/include ./include/fortify ./include\"" >> .config
echo "CONFIG_TOOLCHAIN_LIBC=\"musl\"" >> .config
echo "CONFIG_TOOLCHAIN_LIB_PATH=\"./usr/lib ./lib\"" >> .config
echo "CONFIG_TOOLCHAIN_PREFIX=\"arm-openwrt-linux-muslgnueabi-\"" >> .config
echo "CONFIG_TOOLCHAIN_ROOT=\"/home/runner/work/openwrt/openwrt/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-13.3.0_musl_eabi\"" >> .config
echo "CONFIG_USE_EXTERNAL_LIBC=y" >> .config
make defconfig
- name: Compile linux
run: |
cd $GITHUB_WORKSPACE
make -j$(nproc) target/linux/compile
tar -cJf sdk.tar.xz build_dir staging_dir
- name: Upload directories
uses: actions/upload-artifact@main
with:
name: build_upload
path: |
sdk.tar.xz
- name: Upload files
uses: maggie44/actions/packages/automatic-releases@built-packages
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: sdk-latest
prerelease: false
title: Latest sdk
files: |
sdk.tar.xz
55 changes: 55 additions & 0 deletions .github/workflows/build_tools-toolchain.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Build tools and toolchain

on: [workflow_dispatch]

permissions: write-all

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@main

- name: Initialize environment
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk gcc-multilib g++-multilib \
gettext git libncurses5-dev libssl-dev python3-distutils rsync unzip zlib1g-dev \
file wget
- name: Update feeds
run: cd $GITHUB_WORKSPACE && ./scripts/feeds update -a

- name: Install feeds
run: cd $GITHUB_WORKSPACE && ./scripts/feeds install -a

- name: Make defconfig
run: |
cd $GITHUB_WORKSPACE
wget https://downloads.openwrt.org/snapshots/targets/mvebu/cortexa9/config.buildinfo -O .config
make defconfig
- name: Compile tools and toolchain
run: |
cd $GITHUB_WORKSPACE
make -j$(nproc) tools/compile
make -j$(nproc) toolchain/compile
tar -cJf toolchain.tar.xz build_dir staging_dir
- name: Upload directories
uses: actions/upload-artifact@main
with:
name: build_upload
path: |
toolchain.tar.xz
- name: Upload files
uses: maggie44/actions/packages/automatic-releases@built-packages
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: toolchain-latest
prerelease: false
title: Latest toolchain
files: |
toolchain.tar.xz

0 comments on commit 6ee9f4f

Please sign in to comment.