CI / go-test (push) Canceled after 0s
CI / postgres-durable-first (push) Canceled after 0s
CI / codegen (push) Canceled after 0s
CI / govulncheck (push) Canceled after 0s
CI / race (push) Canceled after 0s
CI / fuzz-smoke (push) Canceled after 0s
CI / golangci (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CodeQL Advanced / Analyze (go) (push) Canceled after 0s
CodeQL Advanced / Analyze (actions) (push) Canceled after 0s
CodeQL Advanced / Analyze (javascript-typescript) (push) Canceled after 0s
Docs CI / build (push) Canceled after 0s
Docs Deploy (GitHub Pages) / build (push) Canceled after 0s
Release 3X-UI / build (386) (push) Canceled after 0s
Release 3X-UI / build (amd64) (push) Canceled after 0s
Release 3X-UI / build (arm64) (push) Canceled after 0s
Release 3X-UI / build (armv5) (push) Canceled after 0s
Release 3X-UI / build (armv6) (push) Canceled after 0s
Release 3X-UI / build (armv7) (push) Canceled after 0s
Release 3X-UI / build (s390x) (push) Canceled after 0s
Release 3X-UI / Build for Windows (amd64) (push) Canceled after 0s
Deploy Smoke Tests / noninteractive-install (ubuntu-24.04-arm) (push) Canceled after 0s
Deploy Smoke Tests / noninteractive-install (ubuntu-latest) (push) Canceled after 0s
Deploy Smoke Tests / release-tag-install (ubuntu-24.04-arm) (push) Canceled after 0s
Deploy Smoke Tests / release-tag-install (ubuntu-latest) (push) Canceled after 0s
Docs Deploy (GitHub Pages) / deploy (push) Canceled after 0s
Release 3X-UI / Publish rolling dev release (push) Canceled after 0s
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:
|
|
XUI_SMOKE_VERSION: ${{ github.event.workflow_run.head_branch }}
|
|
run: bash deploy/test/smoke-noninteractive.sh "$XUI_SMOKE_VERSION"
|