Skip to content

Fix workflow

Fix workflow #106

Workflow file for this run

name: MSBuild

Check failure on line 1 in .github/workflows/msbuild.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/msbuild.yml

Invalid workflow file

(Line: 162, Col: 19): Expected format {org}/{repo}[/path]@ref. Actual 'actions/download-artifact@', (Line: 180, Col: 19): Expected format {org}/{repo}[/path]@ref. Actual 'actions/download-artifact@', (Line: 198, Col: 19): Expected format {org}/{repo}[/path]@ref. Actual 'actions/download-artifact@'
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 }}