Skip to content

build openwrt images #137

build openwrt images

build openwrt images #137

Workflow file for this run

# Action to build openwrt images
---
name: build openwrt images
on:
# Allows manual workflow run (must in default branch to work)
workflow_dispatch:
# Allows workflow be reusable
workflow_call:
inputs:
commit_long_sha:
required: true
type: string
# push:
# branches:
# - main
# paths:
# - 'custom-feed/**'
jobs:
build-openwrt-image:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
images:
# W
- "x86 64 generic"
- "ath79 generic tplink_archer-c7-v4"
- "mediatek filogic xiaomi_mi-router-ax3000t-ubootmod"
# P
- "ramips mt7621 totolink_x5000r"
- "mediatek filogic bananapi_bpi-r3"
steps:
- name: Checkout
uses: actions/checkout@v4
#with:
# ref: ${{ inputs.commit_long_sha }}
- name: Prepare build environment variables
run: |
printf '%s' "target=$(cut -d' ' -f1 <<< ${{ matrix.images }})" >> "${GITHUB_ENV}"
printf '%s' "subtarget=$(cut -d' ' -f2 <<< ${{ matrix.images }})" >> "${GITHUB_ENV}"
printf '%s' "profile=$(cut -d' ' -f3 <<< ${{ matrix.images }})" >> "${GITHUB_ENV}"
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6
with:
build-args: |
TARGET=${{ env.target }}
SUBTARGET=${{ env.subtarget }}
IMAGE_PROFILE=${{ env.profile }}
outputs: type=local,dest=${{ env.profile }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ env.profile }}
path: openwrt-*