Skip to content

Build IPK

Build IPK #8

Workflow file for this run

# 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