Skip to content

Build dae release.apk #49

Build dae release.apk

Build dae release.apk #49

Workflow file for this run

name: Build dae release.apk
on:
workflow_dispatch:
inputs:
tag:
description: 'Dae version to build, format: 1.0.0_rc2'
required: false
default: ''
schedule:
- cron: '0 */12 * * *'
permissions:
actions: write
contents: write
jobs:
build:
name: Build ${{ matrix.arch }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- arch: aarch64_generic
steps:
- name: Checkout source tree
uses: actions/checkout@v4
- name: Install deps
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-setuptools rsync swig unzip zlib1g-dev file wget jq llvm
- name: Generate build keys
run: |
sudo apt-get update
sudo apt-get install -y signify-openbsd
signify-openbsd -G -n -c 'DO NOT USE - OpenWrt packages feed CI' -p packages_ci.pub -s packages_ci.sec
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
echo "KEY_BUILD<<$EOF" >> $GITHUB_ENV
cat packages_ci.sec >> $GITHUB_ENV
echo "$EOF" >> $GITHUB_ENV
- name: Setup latest golang release
uses: actions/setup-go@v5
with:
go-version: 'stable'
- name: Show go version
run: |
go version
- name: Get latest dae version
run: |
if [ -z "${{ github.event.inputs.tag }}" ]; then
TAG=$(curl -s 'https://api.github.com/repos/daeuniverse/dae/releases/latest' | jq -r '.tag_name' | tr -d 'v')
else
TAG="${{ github.event.inputs.tag }}"
fi
echo "TAG=$TAG" >> $GITHUB_ENV
- name: Build
run: |
SDK=$(curl -s https://api.github.com/repos/douglarek/build-openwrt/releases/latest | grep browser_download_url | cut -d : -f 2,3 | tr -d \" | grep -E 'openwrt-sdk-' | head -1)
wget $SDK -O sdk.tar.xz
mkdir sdk
tar -I zstd -xf sdk.tar.xz --strip-components=1 -C sdk
cd sdk
./scripts/feeds update -a
wget https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/config.buildinfo -O .config
make defconfig
cp -a ../net package/
sed -i 's/PKG_VERSION:=stable/PKG_VERSION:=${{ env.TAG }}/g' package/net/dae/Makefile
cat package/net/dae/Makefile
make package/net/dae/{download,check} FIXUP=1 V=s
cat package/net/dae/Makefile
make package/net/dae/compile V=s
FN=$(find bin/packages -name 'dae*.apk' | sort | head -1 | xargs basename)
echo "PKG_NAME=$FN" >> $GITHUB_ENV
cd -
find sdk/bin/packages -maxdepth 10
- name: Publishing to GitHub Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ env.PKG_NAME }}
path: |
sdk/bin/packages/*/*/dae*.apk
- name: Read release.md and use it as a body of new release
id: read_release
shell: bash
run: |
r=$(cat README.md)
r="${r//'%'/'%25'}"
r="${r//$'\n'/'%0A'}"
r="${r//$'\r'/'%0D'}"
echo "RELEASE_BODY=$r" >> $GITHUB_OUTPUT
- name: Publishing to GitHub Releases
continue-on-error: true
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: sdk/bin/packages/*/*/dae*.apk
tag: latest
file_glob: true
overwrite: true
body: |
${{ steps.read_release.outputs.RELEASE_BODY }}