Fix workflow #106
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: MSBuild | ||
|
Check failure on line 1 in .github/workflows/msbuild.yml
|
||
| on: | ||
| push: | ||
| branches: release | ||
| workflow_dispatch: | ||
| env: | ||
| SOLUTION_FILE_PATH: . | ||
| BUILD_CONFIGURATION: Release | ||
| PUBLISH_MANIFEST_FILENAME: publishManifest.json | ||
| VS2019_PROJECT: VisualStudioDiscordRPC.Dev16 | ||
| VS2022_PROJECT: VisualStudioDiscordRPC.Dev17 | ||
| VS2026_PROJECT: VisualStudioDiscordRPC.Dev18 | ||
| jobs: | ||
| build: | ||
| name: Build | ||
| runs-on: windows-latest | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - name: Add MSBuild to PATH | ||
| uses: microsoft/setup-msbuild@v1.0.2 | ||
| - name: Restore NuGet packages | ||
| working-directory: ${{ env.GITHUB_WORKSPACE }} | ||
| run: nuget restore ${{ env.SOLUTION_FILE_PATH }} | ||
| - name: Build | ||
| working-directory: ${{ env.GITHUB_WORKSPACE }} | ||
| run: msbuild /m /p:Configuration=${{ env.BUILD_CONFIGURATION }} ${{ env.SOLUTION_FILE_PATH }} | ||
| - name: Uploading ${{ env.VS2019_PROJECT }} artifacts | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ env.VS2019_PROJECT }} | ||
| overwrite: true | ||
| path: | | ||
| ${{ env.SOLUTION_FILE_PATH }}\${{ env.VS2019_PROJECT }}\bin\Release\${{ env.VS2019_PROJECT }}.vsix | ||
| ${{ env.SOLUTION_FILE_PATH }}\${{ env.VS2019_PROJECT }}\${{ env.PUBLISH_MANIFEST_FILENAME }} | ||
| - name: Uploading ${{ env.VS2022_PROJECT }} artifacts | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ env.VS2022_PROJECT }} | ||
| overwrite: true | ||
| path: | | ||
| ${{ env.SOLUTION_FILE_PATH }}\${{ env.VS2022_PROJECT }}\bin\Release\${{ env.VS2022_PROJECT }}.vsix | ||
| ${{ env.SOLUTION_FILE_PATH }}\${{ env.VS2022_PROJECT }}\${{ env.PUBLISH_MANIFEST_FILENAME }} | ||
| - name: Uploading ${{ env.VS2026_PROJECT }} artifacts | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ env.VS2026_PROJECT }} | ||
| overwrite: true | ||
| path: | | ||
| ${{ env.SOLUTION_FILE_PATH }}\${{ env.VS2026_PROJECT }}\bin\Release\${{ env.VS2026_PROJECT }}.vsix | ||
| ${{ env.SOLUTION_FILE_PATH }}\${{ env.VS2026_PROJECT }}\${{ env.PUBLISH_MANIFEST_FILENAME }} | ||
| create_github_release: | ||
| name: Create GitHub release | ||
| needs: build | ||
| runs-on: windows-latest | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - name: Fetch latest tags | ||
| working-directory: ${{ env.GITHUB_WORKSPACE }} | ||
| run: git fetch --all --tags --unshallow | ||
| - name: Get latest tag | ||
| working-directory: ${{ env.GITHUB_WORKSPACE }} | ||
| id: get-latest-tag | ||
| run: echo "::set-output name=tag::$(git describe --tags --abbrev=0)" | ||
| - name: Create GitHub release | ||
| id: create_release | ||
| uses: actions/create-release@v1 | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| with: | ||
| tag_name: ${{ steps.get-latest-tag.outputs.tag }} | ||
| release_name: Visual Studio Discord RPC ${{ steps.get-latest-tag.outputs.tag }} | ||
| owner: Reavert | ||
| draft: true | ||
| prerelease: false | ||
| upload_asset_vs2019: | ||
| name: Upload release asset for Visual Studio 2019 | ||
| needs: [build, create_github_release] | ||
| runs-on: windows-latest | ||
| steps: | ||
| - name: Download ${{ env.VS2019_PROJECT }} artifacts | ||
| uses: actions/download-artifact@v8 | ||
| with: | ||
| name: ${{ env.VS2019_PROJECT }} | ||
| - name: Upload release asset for Visual Studio 2019 | ||
| uses: actions/upload-release-asset@v1 | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| with: | ||
| upload_url: ${{ needs.create_github_release.steps.create_release.outputs.upload_url }} | ||
| asset_path: ${{ env.VS2019_PROJECT }}.vsix | ||
| asset_name: ${{ env.VS2019_PROJECT }}.vsix | ||
| asset_content_type: application/zip | ||
| upload_asset_vs2022: | ||
| name: Upload release asset for Visual Studio 2022 | ||
| needs: [build, create_github_release] | ||
| runs-on: windows-latest | ||
| steps: | ||
| - name: Download ${{ env.VS2022_PROJECT }} artifacts | ||
| uses: actions/download-artifact@v8 | ||
| with: | ||
| name: ${{ env.VS2022_PROJECT }} | ||
| - name: Upload release asset for Visual Studio 2022 | ||
| uses: actions/upload-release-asset@v1 | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| with: | ||
| upload_url: ${{ needs.create_github_release.steps.create_release.outputs.upload_url }} | ||
| asset_path: ${{ env.VS2022_PROJECT }}.vsix | ||
| asset_name: ${{ env.VS2022_PROJECT }}.vsix | ||
| asset_content_type: application/zip | ||
| upload_asset_vs2026: | ||
| name: Upload release asset for Visual Studio 2026 | ||
| needs: [build, create_github_release] | ||
| runs-on: windows-latest | ||
| steps: | ||
| - name: Download ${{ env.VS2026_PROJECT }} artifacts | ||
| uses: actions/download-artifact@v8 | ||
| with: | ||
| name: ${{ env.VS2026_PROJECT }} | ||
| - name: Upload release asset for Visual Studio 2026 | ||
| uses: actions/upload-release-asset@v1 | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| with: | ||
| upload_url: ${{ needs.create_github_release.steps.create_release.outputs.upload_url }} | ||
| asset_path: ${{ env.VS2026_PROJECT }}.vsix | ||
| asset_name: ${{ env.VS2026_PROJECT }}.vsix | ||
| asset_content_type: application/zip | ||
| marketplace_publish_vs2019: | ||
| name: Publish extension for Visual Studio 2019 to Marketplace | ||
| needs: build | ||
| runs-on: windows-latest | ||
| steps: | ||
| - name: Download ${{ env.VS2019_PROJECT }} artifacts | ||
| uses: actions/download-artifact@ | ||
| with: | ||
| name: ${{ env.VS2019_PROJECT }} | ||
| - name: Publish extension for Visual Studio 2019 to Marketplace | ||
| uses: cezarypiatek/VsixPublisherAction@1.0 | ||
| with: | ||
| extension-file: ${{ env.VS2019_PROJECT }}.vsix | ||
| publish-manifest-file: ${{ env.PUBLISH_MANIFEST_FILENAME }} | ||
| personal-access-code: ${{ secrets.MARKETPLACE_TOKEN }} | ||
| marketplace_publish_vs2022: | ||
| name: Publish extension for Visual Studio 2022 to Marketplace | ||
| needs: build | ||
| runs-on: windows-latest | ||
| steps: | ||
| - name: Download ${{ env.VS2022_PROJECT }} artifacts | ||
| uses: actions/download-artifact@ | ||
| with: | ||
| name: ${{ env.VS2022_PROJECT }} | ||
| - name: Publish extension for Visual Studio 2022 to Marketplace | ||
| uses: cezarypiatek/VsixPublisherAction@1.0 | ||
| with: | ||
| extension-file: ${{ env.VS2022_PROJECT }}.vsix | ||
| publish-manifest-file: ${{ env.PUBLISH_MANIFEST_FILENAME }} | ||
| personal-access-code: ${{ secrets.MARKETPLACE_TOKEN }} | ||
| marketplace_publish_vs2026: | ||
| name: Publish extension for Visual Studio 2026 to Marketplace | ||
| needs: build | ||
| runs-on: windows-latest | ||
| steps: | ||
| - name: Download ${{ env.VS2026_PROJECT }} artifacts | ||
| uses: actions/download-artifact@ | ||
| with: | ||
| name: ${{ env.VS2026_PROJECT }} | ||
| - name: Publish extension for Visual Studio 2026 to Marketplace | ||
| uses: cezarypiatek/VsixPublisherAction@1.0 | ||
| with: | ||
| extension-file: ${{ env.VS2026_PROJECT }}.vsix | ||
| publish-manifest-file: ${{ env.PUBLISH_MANIFEST_FILENAME }} | ||
| personal-access-code: ${{ secrets.MARKETPLACE_TOKEN }} | ||