CI: add PR focused workflow

Add workflow that will build the branch that is aimed at finally making
a PR to get the target into OpenWrt.

Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Robert Marko 2022-05-19 23:24:29 +02:00
parent dcc323f4d6
commit 964130e11f

84
.github/workflows/ipq807x.yaml vendored Normal file
View File

@ -0,0 +1,84 @@
name: Build IPQ807x
on: [push]
jobs:
build:
name: Prepare and build IPQ807x generic images
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Update and install feeds
run: |
./scripts/feeds update -a
./scripts/feeds install -a
- name: Generate config for IPQ807x Generic
run: |
echo "CONFIG_TARGET_ipq807x=y" > .config
echo "CONFIG_TARGET_ipq807x_generic=y\n" >> .config
echo "CONFIG_TARGET_MULTI_PROFILE=y\n" >> .config
echo "CONFIG_TARGET_ALL_PROFILES=y\n" >> .config
echo "CONFIG_TARGET_PER_DEVICE_ROOTFS=y\n" >> .config
echo "CONFIG_TARGET_ROOTFS_INITRAMFS=y\n" >> .config
echo "CONFIG_TARGET_INITRAMFS_COMPRESSION_ZSTD=y\n" >> .config
echo "CONFIG_PACKAGE_luci=y\n" >> .config
echo "CONFIG_PACKAGE_wpad-basic-wolfssl=m\n" >> .config
echo "CONFIG_PACKAGE_wpad-wolfssl=y\n" >> .config
make defconfig
- name: Download package sources
run: make download V=s
- name: Build tools
run: |
make tools/install -j$(nproc) V=s || \
make tools/install V=s
- name: Build toolchain
run: |
make toolchain/install -j$(nproc) V=s || \
make toolchain/install V=s
- name: Build target images
run: |
make -j$(nproc) V=s || \
make V=s
- name: TAR output
run: tar -cvf ipq807xx-images.tar bin/targets/ipq807x/generic
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ipq807x-images
path: ipq807xx-images.tar
release:
name: Make a release
runs-on: ubuntu-latest
needs: build
steps:
- name: Download the image artifacts
uses: actions/download-artifact@v2
with:
name: ipq807x-images
- name: Extract the image artifacts
run: tar xf ipq807xx-images.tar
- name: Get the current date
run: echo "NOW=$(date +%F-%H%M)" >> $GITHUB_ENV
- name: Create a release
uses: "lauravuo/action-automatic-releases@test-changes"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: true
title: "Updated prebuilt images ${{ env.NOW }}"
automatic_release_tag: "ipq807x-${{ env.NOW }}"
auto_generate_release_notes: true
files: bin/targets/ipq807x/generic/*