Skip to content

release-build

release-build #16

Workflow file for this run

name: Build Packages
on:
repository_dispatch:
types: [release-build]
permissions:
contents: write
jobs:
create-release:
name: Create Release
runs-on: ubuntu-latest
outputs:
release_id: ${{ steps.create_release.outputs.id }}
steps:
- uses: actions/checkout@v4
with:
ref: main
fetch-depth: 0
- name: Create release tag and release
id: create_release
run: |
TAG_NAME="${{ github.event.client_payload.release_tag }}"
RELEASE_NAME="${{ github.event.client_payload.release_name }}"
echo "Creating tag: $TAG_NAME"
echo "Creating release: $RELEASE_NAME"
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git tag "$TAG_NAME" || echo "Tag already exists"
git push origin "$TAG_NAME" || echo "Tag already pushed"
- name: Create GitHub Release
uses: ncipollo/release-action@v1
with:
name: ${{ github.event.client_payload.release_name }}
tag: ${{ github.event.client_payload.release_tag }}
token: ${{ secrets.GITHUB_TOKEN }}
draft: false
prerelease: false
body: |
## Release ${{ github.event.client_payload.release_tag }}
This release contains OpenWrt packages built for multiple architectures.
**Source Repository:** ${{ github.event.client_payload.source_repository }}
build:
name: Build ${{ matrix.arch }}-${{ matrix.sdk }}
runs-on: ubuntu-latest
needs: create-release
strategy:
fail-fast: false
matrix:
arch:
- aarch64_cortex-a53
- aarch64_cortex-a72
- aarch64_cortex-a76
- aarch64_generic
- arm_arm1176jzf-s_vfp
- arm_arm926ej-s
- arm_cortex-a15_neon-vfpv4
- arm_cortex-a5_vfpv4
- arm_cortex-a7
- arm_cortex-a7_neon-vfpv4
- arm_cortex-a7_vfpv4
- arm_cortex-a8_vfpv3
- arm_cortex-a9
- arm_cortex-a9_neon
- arm_cortex-a9_vfpv3-d16
- arm_fa526
- arm_xscale
- i386_pentium-mmx
- i386_pentium4
- loongarch64_generic
- mips64_mips64r2
- mips64_octeonplus
- mips64el_mips64r2
- mips_24kc
- mips_4kec
- mips_mips32
- mipsel_24kc
- mipsel_24kc_24kf
- mipsel_74kc
- mipsel_mips32
- riscv64_riscv64
- x86_64
sdk:
- openwrt-24.10
- SNAPSHOT
steps:
- uses: actions/checkout@v4
with:
ref: main
fetch-depth: 0
- name: Build with Static Linking
run: |
sed -i '/golang-package/a \\tGO_PKG_DEFAULT_LDFLAGS:=-w -s -extldflags "-static"' openlist/Makefile
- name: UPX Compress
if: ${{ matrix.arch != 'loongarch64_generic' && matrix.arch != 'mips64_mips64r2' && matrix.arch != 'mips64_octeonplus' && matrix.arch != 'mips64el_mips64r2' && matrix.arch != 'riscv64_riscv64' }}
run: |
sed -i '/INSTALL_DATA/a \\t/usr/bin/upx --lzma --best $(1)\/usr\/bin\/openlist' openlist/Makefile
- name: Build Packages
uses: OpenListTeam/[email protected]
env:
ARCH: ${{ matrix.arch }}-${{ matrix.sdk }}
FEEDNAME: packages_ci
PACKAGES: luci-app-openlist
NO_REFRESH_CHECK: true
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.arch }}-${{ matrix.sdk }}
path: |
bin/packages/${{ matrix.arch }}/packages_ci/*.apk
bin/packages/${{ matrix.arch }}/packages_ci/*.ipk
- name: Create compress files
continue-on-error: true
run: |
tar -zcvf ${{ matrix.sdk }}-${{ matrix.arch }}.tar.gz -C bin/packages/${{ matrix.arch }}/ packages_ci
- name: Upload packages to release
uses: ncipollo/release-action@v1
with:
tag: ${{ github.event.client_payload.release_tag }}
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
replacesArtifacts: false
omitBody: true
omitName: true
artifacts: "${{ matrix.sdk }}-${{ matrix.arch }}.tar.gz"