Skip to content

build toolchain cache #1

build toolchain cache

build toolchain cache #1

name: build toolchain cache
on:
workflow_dispatch:
inputs:
openwrt_version:
description: "OpenWrt version"
type: string
required: true
default: "23.05.3"
openwrt_arch:
description: "OpenWrt arch"
type: string
required: true
default: "mips_24kc"
openwrt_target:
description: "OpenWrt target"
type: string
required: true
default: "ath79"
openwrt_subtarget:
description: "OpenWrt subtarget"
type: string
required: true
default: "generic"
openwrt_vermagic:
description: "OpenWrt vermagic"
type: string
required: true
default: "auto"
jobs:
build:
name: "v${{ matrix.build_env.tag }} - ${{ matrix.build_env.pkgarch }} :: ${{ matrix.build_env.target }}/${{ matrix.build_env.subtarget }} openwrt build"
runs-on: ubuntu-22.04
strategy:
matrix:
build_env:
- tag: ${{ inputs.openwrt_version }}
pkgarch: ${{ inputs.openwrt_arch }}
target: ${{ inputs.openwrt_target }}
subtarget: ${{ inputs.openwrt_subtarget }}
vermagic: ${{ inputs.openwrt_vermagic }}
env:
OPENWRT_RELEASE: ${{ matrix.build_env.tag }}
OPENWRT_ARCH: ${{ matrix.build_env.pkgarch }}
OPENWRT_TARGET: ${{ matrix.build_env.target }}
OPENWRT_SUBTARGET: ${{ matrix.build_env.subtarget }}
OPENWRT_VERMAGIC: ${{ matrix.build_env.vermagic }}
steps:
- name: checkout openwrt-loki-exporter
uses: actions/checkout@v4
with:
path: openwrt-loki-exporter
fetch-depth: 0
- name: checkout openwrt
uses: actions/checkout@v4
with:
path: openwrt
repository: openwrt/openwrt
ref: v${{ matrix.build_env.tag }}
fetch-depth: 0
- name: building openwrt toolchain
id: build-toolchain
run: |
set -x
cd openwrt-loki-exporter
make show-env
time -p make build-toolchain
make purge-circular-symlinks
- name: save toolchain cache
id: save-toolchain-cache
uses: actions/cache/save@v4
with:
key: ${{ runner.os }}-openwrt-cache-toolchain-${{ matrix.build_env.tag }}-${{ matrix.build_env.pkgarch }}-${{ matrix.build_env.target }}-${{ matrix.build_env.subtarget }}
path: |
openwrt/.config
openwrt/.config.old
openwrt/feeds.conf
openwrt/bin/**
openwrt/build_dir/**
openwrt/dl/**
openwrt/feeds/**
openwrt/package/**
openwrt/staging_dir/**
openwrt/tmp/**