|
@@ -3,12 +3,12 @@ on:
|
|
workflow_call:
|
|
workflow_call:
|
|
outputs:
|
|
outputs:
|
|
pluginName:
|
|
pluginName:
|
|
- description: 'Project name detected by parsing build spec file'
|
|
|
|
|
|
+ description: Project name detected by parsing build spec file
|
|
value: ${{ jobs.check-event.outputs.pluginName }}
|
|
value: ${{ jobs.check-event.outputs.pluginName }}
|
|
jobs:
|
|
jobs:
|
|
check-event:
|
|
check-event:
|
|
name: Check GitHub Event Data 🔎
|
|
name: Check GitHub Event Data 🔎
|
|
- runs-on: ubuntu-22.04
|
|
|
|
|
|
+ runs-on: ubuntu-24.04
|
|
defaults:
|
|
defaults:
|
|
run:
|
|
run:
|
|
shell: bash
|
|
shell: bash
|
|
@@ -73,7 +73,7 @@ jobs:
|
|
|
|
|
|
macos-build:
|
|
macos-build:
|
|
name: Build for macOS 🍏
|
|
name: Build for macOS 🍏
|
|
- runs-on: macos-14
|
|
|
|
|
|
+ runs-on: macos-15
|
|
needs: check-event
|
|
needs: check-event
|
|
defaults:
|
|
defaults:
|
|
run:
|
|
run:
|
|
@@ -90,14 +90,18 @@ jobs:
|
|
: Set Up Environment 🔧
|
|
: Set Up Environment 🔧
|
|
if (( ${+RUNNER_DEBUG} )) setopt XTRACE
|
|
if (( ${+RUNNER_DEBUG} )) setopt XTRACE
|
|
|
|
|
|
- print '::group::Enable Xcode 15.2'
|
|
|
|
- sudo xcode-select --switch /Applications/Xcode_15.2.app/Contents/Developer
|
|
|
|
|
|
+ print '::group::Enable Xcode 16.1'
|
|
|
|
+ sudo xcode-select --switch /Applications/Xcode_16.1.0.app/Contents/Developer
|
|
print '::endgroup::'
|
|
print '::endgroup::'
|
|
|
|
|
|
print '::group::Clean Homebrew Environment'
|
|
print '::group::Clean Homebrew Environment'
|
|
- local -a to_remove=()
|
|
|
|
|
|
+ local -a unwanted_formulas=()
|
|
|
|
+ local -a remove_formulas=()
|
|
|
|
+ for formula (${unwanted_formulas}) {
|
|
|
|
+ if [[ -d ${HOMEBREW_PREFIX}/Cellar/${formula} ]] remove_formulas+=(${formula})
|
|
|
|
+ }
|
|
|
|
|
|
- if (( #to_remove )) brew uninstall --ignore-dependencies ${to_remove}
|
|
|
|
|
|
+ if (( #remove_formulas )) brew uninstall --ignore-dependencies ${remove_formulas}
|
|
print '::endgroup::'
|
|
print '::endgroup::'
|
|
|
|
|
|
local product_name
|
|
local product_name
|
|
@@ -108,7 +112,7 @@ jobs:
|
|
print "pluginName=${product_name}" >> $GITHUB_OUTPUT
|
|
print "pluginName=${product_name}" >> $GITHUB_OUTPUT
|
|
print "pluginVersion=${product_version}" >> $GITHUB_OUTPUT
|
|
print "pluginVersion=${product_version}" >> $GITHUB_OUTPUT
|
|
|
|
|
|
- - uses: actions/cache@v4
|
|
|
|
|
|
+ - uses: actions/cache/restore@v4
|
|
id: ccache-cache
|
|
id: ccache-cache
|
|
with:
|
|
with:
|
|
path: ${{ github.workspace }}/.ccache
|
|
path: ${{ github.workspace }}/.ccache
|
|
@@ -165,9 +169,18 @@ jobs:
|
|
name: ${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-macos-universal-${{ needs.check-event.outputs.commitHash }}-dSYMs
|
|
name: ${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-macos-universal-${{ needs.check-event.outputs.commitHash }}-dSYMs
|
|
path: ${{ github.workspace }}/release/${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-macos-universal-dSYMs.*
|
|
path: ${{ github.workspace }}/release/${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-macos-universal-dSYMs.*
|
|
|
|
|
|
|
|
+ - uses: actions/cache/save@v4
|
|
|
|
+ if: github.event_name != 'pull_request' && steps.ccache-cache.outputs.cache-hit != 'true'
|
|
|
|
+ with:
|
|
|
|
+ path: ${{ github.workspace }}/.ccache
|
|
|
|
+ key: ${{ runner.os }}-ccache-${{ needs.check-event.outputs.config }}
|
|
|
|
+
|
|
ubuntu-build:
|
|
ubuntu-build:
|
|
name: Build for Ubuntu 🐧
|
|
name: Build for Ubuntu 🐧
|
|
- runs-on: ubuntu-22.04
|
|
|
|
|
|
+ strategy:
|
|
|
|
+ matrix:
|
|
|
|
+ os: [ubuntu-24.04]
|
|
|
|
+ runs-on: ${{ matrix.os }}
|
|
needs: check-event
|
|
needs: check-event
|
|
defaults:
|
|
defaults:
|
|
run:
|
|
run:
|
|
@@ -190,16 +203,13 @@ jobs:
|
|
echo "pluginName=${product_name}" >> $GITHUB_OUTPUT
|
|
echo "pluginName=${product_name}" >> $GITHUB_OUTPUT
|
|
echo "pluginVersion=${product_version}" >> $GITHUB_OUTPUT
|
|
echo "pluginVersion=${product_version}" >> $GITHUB_OUTPUT
|
|
|
|
|
|
- - uses: actions/cache@v4
|
|
|
|
|
|
+ - uses: actions/cache/restore@v4
|
|
id: ccache-cache
|
|
id: ccache-cache
|
|
with:
|
|
with:
|
|
path: ${{ github.workspace }}/.ccache
|
|
path: ${{ github.workspace }}/.ccache
|
|
- key: ${{ runner.os }}-ccache-x86_64-${{ needs.check-event.outputs.config }}
|
|
|
|
|
|
+ key: ${{ runner.os }}-${{ matrix.os }}-ccache-x86_64-${{ needs.check-event.outputs.config }}
|
|
restore-keys: |
|
|
restore-keys: |
|
|
- ${{ runner.os }}-ccache-x86_64-
|
|
|
|
-
|
|
|
|
- - name: Set up Homebrew 🍺
|
|
|
|
- uses: Homebrew/actions/setup-homebrew@master
|
|
|
|
|
|
+ ${{ runner.os }}-${{ matrix.os }}-ccache-x86_64-
|
|
|
|
|
|
- name: Build Plugin 🧱
|
|
- name: Build Plugin 🧱
|
|
uses: ./.github/actions/build-plugin
|
|
uses: ./.github/actions/build-plugin
|
|
@@ -210,29 +220,35 @@ jobs:
|
|
- name: Package Plugin 📀
|
|
- name: Package Plugin 📀
|
|
uses: ./.github/actions/package-plugin
|
|
uses: ./.github/actions/package-plugin
|
|
with:
|
|
with:
|
|
- package: ${{ fromJSON(needs.check-event.outputs.package) }}
|
|
|
|
target: x86_64
|
|
target: x86_64
|
|
config: ${{ needs.check-event.outputs.config }}
|
|
config: ${{ needs.check-event.outputs.config }}
|
|
|
|
+ package: ${{ fromJSON(needs.check-event.outputs.package) }}
|
|
|
|
|
|
- name: Upload Source Tarball 🗜️
|
|
- name: Upload Source Tarball 🗜️
|
|
uses: actions/upload-artifact@v4
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
with:
|
|
- name: ${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-sources-${{ needs.check-event.outputs.commitHash }}
|
|
|
|
|
|
+ name: ${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-${{ matrix.os }}-sources-${{ needs.check-event.outputs.commitHash }}
|
|
path: ${{ github.workspace }}/release/${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-source.*
|
|
path: ${{ github.workspace }}/release/${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-source.*
|
|
|
|
|
|
- name: Upload Artifacts 📡
|
|
- name: Upload Artifacts 📡
|
|
uses: actions/upload-artifact@v4
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
with:
|
|
- name: ${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-ubuntu-22.04-x86_64-${{ needs.check-event.outputs.commitHash }}
|
|
|
|
|
|
+ name: ${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-${{ matrix.os }}-x86_64-${{ needs.check-event.outputs.commitHash }}
|
|
path: ${{ github.workspace }}/release/${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-x86_64*.*
|
|
path: ${{ github.workspace }}/release/${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-x86_64*.*
|
|
|
|
|
|
- name: Upload debug symbol artifacts 🪲
|
|
- name: Upload debug symbol artifacts 🪲
|
|
uses: actions/upload-artifact@v4
|
|
uses: actions/upload-artifact@v4
|
|
if: ${{ fromJSON(needs.check-event.outputs.package) }}
|
|
if: ${{ fromJSON(needs.check-event.outputs.package) }}
|
|
with:
|
|
with:
|
|
- name: ${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-ubuntu-22.04-x86_64-${{ needs.check-event.outputs.commitHash }}-dbgsym
|
|
|
|
|
|
+ name: ${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-${{ matrix.os }}-x86_64-${{ needs.check-event.outputs.commitHash }}-dbgsym
|
|
path: ${{ github.workspace }}/release/${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-x86_64*-dbgsym.ddeb
|
|
path: ${{ github.workspace }}/release/${{ steps.setup.outputs.pluginName }}-${{ steps.setup.outputs.pluginVersion }}-x86_64*-dbgsym.ddeb
|
|
|
|
|
|
|
|
+ - uses: actions/cache/save@v4
|
|
|
|
+ if: github.event_name != 'pull_request' && steps.ccache-cache.outputs.cache-hit != 'true'
|
|
|
|
+ with:
|
|
|
|
+ path: ${{ github.workspace }}/.ccache
|
|
|
|
+ key: ${{ runner.os }}-${{ matrix.os }}-ccache-x86_64-${{ needs.check-event.outputs.config }}
|
|
|
|
+
|
|
windows-build:
|
|
windows-build:
|
|
name: Build for Windows 🪟
|
|
name: Build for Windows 🪟
|
|
runs-on: windows-2022
|
|
runs-on: windows-2022
|