feat: Add "Only Important" filter to Spell Cast icon type (#2412) #425
This file contains hidden or 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
| name: Package Retail/Wrath/Classic | |
| on: | |
| push: | |
| branches: | |
| - master | |
| tags: | |
| - "*" | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v2 | |
| with: | |
| fetch-depth: 0 | |
| - name: "Validate Version" | |
| run: | | |
| if [[ "$(grep -hroP '## Version.*' --exclude-dir=.release --include="*.toc" . | sort --unique | wc -l)" -gt 1 ]]; then | |
| grep -rnP '## Version.*' --exclude-dir=.release --include="*.toc" . | cat | |
| echo "More than 1 distinct ##Version found in .toc files." 1>&2 | |
| exit 1 | |
| fi; | |
| - name: "Validate Changelog Version" | |
| run: | | |
| TOC_VERSION=$(grep -oP '## Version: \K[^\s]+' TellMeWhen.toc) | |
| CHANGELOG_VERSION=$(grep -oP '## v\K[^\s]+' CHANGELOG.md | head -n1) | |
| if [[ "$TOC_VERSION" != "$CHANGELOG_VERSION" ]]; then | |
| echo "Version mismatch between TOC and CHANGELOG:" 1>&2 | |
| echo " TOC Version: '$TOC_VERSION'" 1>&2 | |
| echo " Changelog Version: '$CHANGELOG_VERSION'" 1>&2 | |
| exit 1 | |
| fi | |
| echo "✓ TOC version ($TOC_VERSION) matches CHANGELOG version" | |
| - name: "Validate Version Not Duplicate" | |
| run: | | |
| TOC_VERSION=$(grep -oP '## Version: \K[^\s]+' TellMeWhen.toc) | |
| LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "none") | |
| # Check if we're building a tag | |
| if [[ "$GITHUB_REF" == refs/tags/* ]]; then | |
| CURRENT_TAG="${GITHUB_REF#refs/tags/}" | |
| echo "✓ Building tag: $CURRENT_TAG" | |
| else | |
| # Not building a tag - verify version was bumped | |
| if [[ "$TOC_VERSION" == "$LATEST_TAG" ]]; then | |
| echo "Version not bumped after release!" 1>&2 | |
| echo " TOC Version: $TOC_VERSION" 1>&2 | |
| echo " Latest Tag: $LATEST_TAG" 1>&2 | |
| echo " Please bump the version in TOC and CHANGELOG before pushing to master." 1>&2 | |
| exit 1 | |
| fi | |
| echo "✓ TOC version ($TOC_VERSION) is different from latest tag ($LATEST_TAG)" | |
| fi | |
| - name: "Validate TOC Classic" | |
| run: | | |
| if [[ "$(grep -hroP '## X?-?\KInterface.*' --exclude-dir=.release --include="*-Classic.toc" . | sort --unique | wc -l)" -gt 1 ]]; then | |
| grep -rnP '## X?-?\KInterface.*' --exclude-dir=.release --include="*-Classic.toc" . | cat | |
| echo "More than 1 distinct ##Interface version found in .toc files." 1>&2 | |
| exit 1 | |
| fi; | |
| - name: "Validate TOC Wrath" | |
| run: | | |
| if [[ "$(grep -hroP '## X?-?\KInterface.*' --exclude-dir=.release --include="*-Wrath.toc" . | sort --unique | wc -l)" -gt 1 ]]; then | |
| grep -rnP '## X?-?\KInterface.*' --exclude-dir=.release --include="*-Wrath.toc" . | cat | |
| echo "More than 1 distinct ##Interface version found in .toc files." 1>&2 | |
| exit 1 | |
| fi; | |
| - name: "Validate TOC Retail" | |
| run: | | |
| if [[ "$(grep -hroP '## X?-?\KInterface.*' --exclude-dir=.release --include="TellMeWhen.toc" --include="TellMeWhen_Options.toc" . | sort --unique | wc -l)" -gt 1 ]]; then | |
| grep -rnP '## X?-?\KInterface.*' --exclude-dir=.release --include="TellMeWhen.toc" --include="TellMeWhen_Options.toc" . | cat | |
| echo "More than 1 distinct ##Interface version found in .toc files." 1>&2 | |
| exit 1 | |
| fi; | |
| - name: "Check for Debugging Code" | |
| run: | | |
| if grep -rnE '\b(printstack|wlp)\s*\(' --exclude-dir=.release --exclude-dir=.git --include="*.lua" .; then | |
| echo "Found debugging code (printstack or wlp calls) in the codebase." 1>&2 | |
| exit 1 | |
| fi | |
| - name: "Build In-Game Changelog" | |
| run: sudo chmod +x ./build/create-lua-changelog.sh && ./build/create-lua-changelog.sh | |
| - name: "Build Short Changelog" | |
| run: sudo chmod +x ./build/create-short-changelog.sh && ./build/create-short-changelog.sh | |
| - name: Create Package | |
| uses: BigWigsMods/packager@master | |
| env: | |
| CF_API_KEY: ${{ secrets.CF_API_KEY }} | |
| WOWI_API_TOKEN: ${{ secrets.WOWI_API_TOKEN }} | |
| WAGO_API_TOKEN: ${{ secrets.WAGO_API_TOKEN }} | |
| GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }} |