diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 84876e1977..4dd9d3b936 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,49 +1,61 @@ -name: Build & Publish to Dynamis - +name: Publish on: push: tags: - - "v*.*.*.*" - + - '*.*.*.*' jobs: Build: - runs-on: ubuntu-latest - env: - DALAMUD_HOME: /tmp/dalamud + permissions: + contents: write + runs-on: windows-latest steps: - name: Checkout Repository uses: actions/checkout@v4 with: submodules: true - - name: Get Tag Name - run: echo "tag=$(echo ${{ github.ref }} | sed 's/refs\/tags\/v//')" >> $GITHUB_ENV + - name: Get Environment Variables + run: | + $tag = "${{ github.ref }}" -replace 'refs/tags/', '' + + "tag=$tag" | Out-File -Append -FilePath $Env:GITHUB_ENV + + if ($tag -match "-test$") { + $branch = "testing" + $tag = $tag -replace '-test$', '' + } else { + $branch = "latest" + } + "branch=$branch" | Out-File -Append -FilePath $Env:GITHUB_ENV + - name: Set up .NET - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v1 with: - dotnet-version: 7.0.x - + dotnet-version: 8.0.x + - name: Download Dalamud Latest run: | - wget https://goatcorp.github.io/dalamud-distrib/latest.zip -O ${{ env.DALAMUD_HOME }}.zip - unzip ${{ env.DALAMUD_HOME }}.zip -d ${{ env.DALAMUD_HOME }} + Invoke-WebRequest -Uri https://goatcorp.github.io/dalamud-distrib/latest.zip -OutFile latest.zip + Expand-Archive -Force latest.zip "$env:AppData\XIVLauncher\addon\Hooks\dev" + + - name: Restore Nuget Packages + run: dotnet restore BossMod\BossMod.csproj - - name: Restore Project - run: dotnet restore + - name: Build Plugin + run: dotnet build --no-restore -c Release BossMod\BossMod.csproj -p:AssemblyVersion=${{ env.tag }} -p:FileVersion=${{ env.tag }} -p:InformationalVersion=${{ env.tag }} --output .\build - - name: Build Project - run: dotnet build --configuration Release BossMod/BossMod.csproj -p:AssemblyVersion=${{ env.tag }} + - name: Zip Plugin + run: Compress-Archive -Path .\build\* -DestinationPath .\build\BossMod.zip - - name: Publish Version - uses: PunishXIV/dynamis-action@v1 - id: dynamis + - name: Publish Plugin + uses: softprops/action-gh-release@v2 with: - plugin_id: 30 - internal_name: "BossMod" - version_number: ${{ env.tag }} - path: "BossMod/bin/Release/BossMod/latest.zip" - type: "latest" - dalamud_version: "9" - env: - PUBLISHER_KEY: ${{ secrets.PUBLISHER_KEY }} + files: ./build/BossMod.zip + token: ${{ secrets.GITHUB_TOKEN }} + draft: false + make_latest: ${{ env.branch == 'latest' }} + prerelease: ${{ env.branch == 'testing' }} + + + diff --git a/BossMod.sln b/BossMod.sln index 062c5c24c5..f41a84f85f 100644 --- a/BossMod.sln +++ b/BossMod.sln @@ -1,12 +1,18 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29709.97 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34714.143 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BossMod", "BossMod\BossMod.csproj", "{13C812E9-0D42-4B95-8646-40EEBF30636F}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UIDev", "UIDev\UIDev.csproj", "{9FFC3FB6-C9B3-4FA9-8378-F56B5916C8EC}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8D21F625-27A7-4DBF-81D4-CD6AF89FFC2A}" + ProjectSection(SolutionItems) = preProject + manifest.json = manifest.json + .github\workflows\publish.yml = .github\workflows\publish.yml + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000000..8f0464ef27 --- /dev/null +++ b/manifest.json @@ -0,0 +1,30 @@ +{ + "Author": "The CombatReborn Team", + "Name": "BossMod Reborn", + "InternalName": "BossMod", + "Description": "A bunch of utilities to simplify boss mechanics", + "ApplicableVersion": "any", + "Tags": [ + "combat", + "boss", + "dodge", + "mechanics", + "pve", + "raids", + "trials" + ], + "DalamudApiLevel": 9, + "LoadRequiredState": 0, + "LoadSync": false, + "CanUnloadAsync": false, + "LoadPriority": 0, + "IsTestingExclusive": false, + "IconUrl": "https://raw.githubusercontent.com/FFXIV-CombatReborn/BossmodReborn/master/Data/icon.png", + "Punchline": "Don't fail at raid mechanics anymore", + "AcceptsFeedback": true, + "ImageUrls": [ + "https://raw.githubusercontent.com/FFXIV-CombatReborn/BossmodReborn/master/Data/image1.png", + "https://raw.githubusercontent.com/FFXIV-CombatReborn/BossmodReborn/master/Data/image2.png", + "https://raw.githubusercontent.com/FFXIV-CombatReborn/BossmodReborn/master/Data/image3.png" + ] +} \ No newline at end of file