Display L-UI; panel binary/process l-ui, agent lui-agent. Dirs /usr/local/l-ui, /etc/l-ui, /var/log/l-ui; DB /etc/l-ui/l-ui.db (name file drives it via GetName), probe.db beside it, cert /etc/l-ui/cert, bin /usr/local/l-ui/bin. Services l-ui.service / lui-agent.service, OpenRC lui-agent, l-ui.sh, cmd/lui-agent. Env prefix XUI_ -> LUI_ (code reads new prefix only). Release assets l-ui-linux-* / lui-agent-linux-*; Gitea repo rogue/l-ui is a placeholder pending user confirmation (see selfupdate.go note). Go module path github.com/mhsanaei/3x-ui/v3 intentionally kept. Versions unchanged: panel V2.6.0 / agent A2.5.0.
70 lines
2.3 KiB
YAML
70 lines
2.3 KiB
YAML
name: Deploy Smoke Tests
|
|
|
|
# Container smoke test for the unattended (cloud-init) install path.
|
|
# Runs when the install/deploy assets change on a branch push or PR, and
|
|
# again after a release-tag build finishes uploading its assets — passing the
|
|
# tag as an explicit version, so the green result verifies the release
|
|
# actually being shipped. That job deliberately runs the script from the
|
|
# default branch rather than checking out the tag: workflow_run executes in
|
|
# main's cache scope, so executing checked-out code there is a cache-poisoning
|
|
# surface (CodeQL actions/cache-poisoning/poisonable-step), and users pipe
|
|
# main's install.sh anyway.
|
|
# Tag pushes must NOT trigger the unpinned job directly: at that moment
|
|
# releases/latest still points at the previous release (#5756), and a `paths`
|
|
# filter alone cannot exclude them because a brand-new tag ref has no diff
|
|
# base, so it runs on every tag push.
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "**"
|
|
paths:
|
|
- "install.sh"
|
|
- "deploy/**"
|
|
- ".github/workflows/smoke.yml"
|
|
pull_request:
|
|
paths:
|
|
- "install.sh"
|
|
- "deploy/**"
|
|
- ".github/workflows/smoke.yml"
|
|
workflow_run:
|
|
workflows: ["Release 3X-UI"]
|
|
types: [completed]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
noninteractive-install:
|
|
if: github.event_name != 'workflow_run'
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
runner: [ubuntu-latest, ubuntu-24.04-arm]
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 15
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- name: Non-interactive install smoke test
|
|
run: bash deploy/test/smoke-noninteractive.sh
|
|
|
|
release-tag-install:
|
|
if: >-
|
|
github.event_name == 'workflow_run' &&
|
|
github.event.workflow_run.conclusion == 'success' &&
|
|
github.event.workflow_run.event == 'push' &&
|
|
startsWith(github.event.workflow_run.head_branch, 'v') &&
|
|
contains(github.event.workflow_run.head_branch, '.')
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
runner: [ubuntu-latest, ubuntu-24.04-arm]
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 15
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- name: Pinned release install smoke test
|
|
env:
|
|
LUI_SMOKE_VERSION: ${{ github.event.workflow_run.head_branch }}
|
|
run: bash deploy/test/smoke-noninteractive.sh "$LUI_SMOKE_VERSION"
|