update-libpinmame #852
This file contains 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
# This workflow runs when recieving a "update-libpinmame" | |
# repository_dispatch event from vpinball/pinmame. | |
name: Native | |
on: | |
repository_dispatch: | |
types: [ update-libpinmame ] | |
jobs: | |
version: | |
runs-on: ubuntu-latest | |
outputs: | |
semver: ${{ steps.version.outputs.semver }} | |
exists: ${{ steps.version.outputs.exists }} | |
steps: | |
- id: version | |
run: | | |
VERSION=$(npx semver -c ${{ github.event.client_payload.version }}) | |
SEMVER="${VERSION}-preview.${{ github.event.client_payload.revision }}" | |
EXISTS=$(if [[ $(curl https://api.nuget.org/v3-flatcontainer/pinmame.native/index.json | grep \"${SEMVER}\") ]]; then echo "true"; else echo "false"; fi) | |
echo "::set-output name=semver::${SEMVER}" | |
echo "::set-output name=exists::${EXISTS}" | |
build-nuget: | |
runs-on: ubuntu-latest | |
needs: [ version ] | |
steps: | |
- uses: nuget/setup-nuget@v2 | |
- uses: actions/checkout@v4 | |
- uses: dawidd6/action-download-artifact@v6 | |
with: | |
workflow: libpinmame | |
run_id: ${{ github.event.client_payload.run_id }} | |
repo: vpinball/pinmame | |
path: native/nuget | |
- name: Pack | |
run: | | |
cd native/nuget | |
mv libpinmame-*-win-x64 libpinmame-win-x64 | |
mv libpinmame-*-win-x86 libpinmame-win-x86 | |
mv libpinmame-*-osx-x64 libpinmame-osx-x64 | |
mv libpinmame-*-osx-arm64 libpinmame-osx-arm64 | |
mv libpinmame-*-osx libpinmame-osx | |
mv libpinmame-*-ios-arm64 libpinmame-ios-arm64 | |
mv libpinmame-*-linux-x64 libpinmame-linux-x64 | |
mv libpinmame-*-android-arm64-v8a libpinmame-android-arm64-v8a | |
sed -i 's/__VERSION__/${{ needs.version.outputs.semver }}/g' *.nuspec | |
nuget pack PinMame.Native.win-x64.nuspec -OutputDirectory nupkg | |
nuget pack PinMame.Native.win-x86.nuspec -OutputDirectory nupkg | |
nuget pack PinMame.Native.osx-x64.nuspec -OutputDirectory nupkg | |
nuget pack PinMame.Native.osx-arm64.nuspec -OutputDirectory nupkg | |
nuget pack PinMame.Native.osx.nuspec -OutputDirectory nupkg | |
nuget pack PinMame.Native.ios-arm64.nuspec -OutputDirectory nupkg | |
nuget pack PinMame.Native.linux-x64.nuspec -OutputDirectory nupkg | |
nuget pack PinMame.Native.android-arm64-v8a.nuspec -OutputDirectory nupkg | |
nuget pack PinMame.Native.nuspec -OutputDirectory nupkg | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: nupkg | |
path: native/nuget/nupkg | |
publish: | |
runs-on: ubuntu-latest | |
needs: [ version, build-nuget ] | |
steps: | |
- uses: nuget/setup-nuget@v2 | |
- uses: actions/[email protected] | |
with: | |
name: nupkg | |
- name: Publish | |
run: | | |
nuget push PinMame.Native.${{ needs.version.outputs.semver }}.nupkg -ApiKey ${{ secrets.NUGET_KEY }} -src https://api.nuget.org/v3/index.json | |
nuget push PinMame.Native.win-x64.${{ needs.version.outputs.semver }}.nupkg -ApiKey ${{ secrets.NUGET_KEY }} -src https://api.nuget.org/v3/index.json | |
nuget push PinMame.Native.win-x86.${{ needs.version.outputs.semver }}.nupkg -ApiKey ${{ secrets.NUGET_KEY }} -src https://api.nuget.org/v3/index.json | |
nuget push PinMame.Native.osx-x64.${{ needs.version.outputs.semver }}.nupkg -ApiKey ${{ secrets.NUGET_KEY }} -src https://api.nuget.org/v3/index.json | |
nuget push PinMame.Native.osx-arm64.${{ needs.version.outputs.semver }}.nupkg -ApiKey ${{ secrets.NUGET_KEY }} -src https://api.nuget.org/v3/index.json | |
nuget push PinMame.Native.osx.${{ needs.version.outputs.semver }}.nupkg -ApiKey ${{ secrets.NUGET_KEY }} -src https://api.nuget.org/v3/index.json | |
nuget push PinMame.Native.ios-arm64.${{ needs.version.outputs.semver }}.nupkg -ApiKey ${{ secrets.NUGET_KEY }} -src https://api.nuget.org/v3/index.json | |
nuget push PinMame.Native.linux-x64.${{ needs.version.outputs.semver }}.nupkg -ApiKey ${{ secrets.NUGET_KEY }} -src https://api.nuget.org/v3/index.json | |
nuget push PinMame.Native.android-arm64-v8a.${{ needs.version.outputs.semver }}.nupkg -ApiKey ${{ secrets.NUGET_KEY }} -src https://api.nuget.org/v3/index.json |