mirror of
https://github.com/brues-code/pfUI.git
synced 2026-09-27 01:46:03 +00:00
ff98dde670
Splits the ClassicAPI version check into a hard floor (MIN, manual) and a soft target (LATEST, pinned by the release workflow). Below MIN pfUI disables itself entirely as before; between MIN and LATEST it runs normally but fires a delayed chat nudge after PLAYER_LOGIN with the available update. PLAYER_LOGIN handlers swap to EventUtil.ContinueOnPlayerLogin so we don't have to spin a frame for each branch. URLs centralize on toc X-Website fields. pfUI.lua factors out ClassicAPIReleaseUrl(version) sourcing from !!!ClassicAPI's metadata; modules/gui.lua and libs/libdebuff.lua replace hardcoded me0wg4ming/pfUI links with GetAddOnMetadata(pfUI.name, "X-Website") lookups. release.yml gains a pre-package step that queries ClassicAPI's latest release tag, packs it (X*10000 + Y*100 + Z), and seds only the LATEST line in pfUI.lua so the published zip ships with the correct soft target.
35 lines
963 B
YAML
35 lines
963 B
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Pin ClassicAPI latest version to current release
|
|
run: |
|
|
LATEST=$(gh api repos/brues-code/ClassicAPI/releases/latest --jq .tag_name | tr -d v)
|
|
IFS=. read -r MAJOR MINOR PATCH <<<"$LATEST"
|
|
PACKED=$((MAJOR * 10000 + MINOR * 100 + PATCH))
|
|
echo "Pinning PFUI_CLASSIC_API_LATEST to $LATEST ($PACKED)"
|
|
sed -i "s/^local PFUI_CLASSIC_API_LATEST = [0-9]*/local PFUI_CLASSIC_API_LATEST = $PACKED/" pfUI.lua
|
|
grep '^local PFUI_CLASSIC_API_' pfUI.lua
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Package and release to GitHub
|
|
uses: BigWigsMods/packager@v2
|
|
env:
|
|
GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }}
|