Build IPK #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is open source software, licensed under the MIT License. | |
# https://opensource.org/license/mit | |
# | |
# Copyright (C) 2024 BobbyUnknown | |
# | |
# Description: | |
# This software provides a secure tunneling application for OpenWrt. | |
# The application allows users to configure and manage ngrok tunnels | |
# on their OpenWrt router, enabling secure remote access to local | |
# network services through public endpoints. It features a user-friendly | |
# web interface for easy tunnel management and configuration. | |
name: Build Ngrok Package & Core | |
on: | |
workflow_dispatch: | |
inputs: | |
ngrok_version: | |
description: 'Ngrok version' | |
required: true | |
default: 'v3.19.1' | |
type: string | |
luci-app-ngrok_version: | |
description: 'LuCI App Ngrok version' | |
required: true | |
default: '1.0.0' | |
type: string | |
jobs: | |
build_core_arm: | |
name: Build Core (arm_cortex-a7) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare Build | |
run: | | |
mkdir -p feeds artifacts | |
cp -rf ./ngrok-arm ./feeds/ | |
- uses: nosignals/gh-action-sdk@main | |
env: | |
ARCH: arm_cortex-a7_neon-vfpv4-23.05.4 | |
PACKAGES: ngrok | |
NO_SHFMT_CHECK: 1 | |
build_core_x86: | |
name: Build Core (x86_64) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare Build | |
run: | | |
mkdir -p feeds artifacts | |
cp -rf ./ngrok-x86 ./feeds/ | |
- uses: nosignals/gh-action-sdk@main | |
env: | |
ARCH: x86_64-23.05.4 | |
PACKAGES: ngrok | |
NO_SHFMT_CHECK: 1 | |
build_luci: | |
name: Build LuCI Package | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare Build | |
run: | | |
mkdir -p feeds artifacts | |
cp -rf ./luci-app-ngrok ./feeds/ | |
- uses: nosignals/gh-action-sdk@main | |
env: | |
ARCH: all | |
PACKAGES: luci-app-ngrok | |
NO_SHFMT_CHECK: 1 | |
push_packages: | |
needs: [build_core_arm, build_core_x86, build_luci] | |
name: Push Packages to Release | |
permissions: | |
contents: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download temporary artifact | |
uses: actions/download-artifact@v4 | |
- name: Moving artifact to releases | |
shell: bash | |
run: | | |
mkdir ./release | |
# Copy core packages | |
cp -rf ./ngrok-23.05.4_x86_64/ngrok* ./release/ | |
cp -rf ./ngrok-23.05.4_arm_cortex-a7_neon-vfpv4/ngrok* ./release/ | |
cp -rf ./ngrok-23.05.4_aarch64_generic/ngrok* ./release/ | |
cp -rf ./ngrok-23.05.4_aarch64_cortex-a53/ngrok* ./release/ | |
cp -rf ./ngrok-23.05.4_aarch64_cortex-a72/ngrok* ./release/ | |
# Copy LuCI package | |
cp -rf ./luci-app-ngrok/luci-app-ngrok* ./release/luci-app-ngrok_${{ inputs.luci-app-ngrok_version }}_all.ipk | |
- name: Upload release asset | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: ./release/* | |
overwrite: true | |
tag: ${{ inputs.luci-app-ngrok_version }} | |
file_glob: true | |
body: | | |
# π Ngrok for OpenWrt | |
## π¦ Release Information | |
- Core Version: ${{ inputs.ngrok_version }} | |
- LuCI App Version: ${{ inputs.luci-app-ngrok_version }} | |
### π Description | |
This software provides a secure remote access and reverse proxy application for OpenWrt. | |
### π¦ Packages: | |
- ngrok-core: Tunnel service binary | |
- luci-app-ngrok: Web interface for configuration | |
### π Requirements: | |
- OpenWrt 23.xx.x | |
- Supported architectures: x86_64, arm_cortex-a7, aarch64 | |