Skip to content

Build and Deploy

Build and Deploy #65

name: 'Build and Deploy'
on:
workflow_dispatch:
pull_request:
types: [opened, reopened]
push:
branches:
- main
tags-ignore:
- 'v[0-9]+.[0-9]+.[0-9]+.[0-9]+'
jobs:
Release-Build-and-Deploy:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: microsoft/setup-msbuild@v2
- uses: nuget/setup-nuget@v2
- name: 1. Versioning Release
id: step-version
uses: CodingWithCalvin/GHA-VSVsixVersioner@v1
with:
extension-manifest-file: 'src/CodingWithCalvin.OpenInNotepadPlusPlus/source.extension.vsixmanifest'
extension-source-file: 'src/CodingWithCalvin.OpenInNotepadPlusPlus/source.extension.cs'
- name: 2. Restoring Packages
run: nuget restore ./src/CodingWithCalvin.OpenInNotepadPlusPlus.sln
- name: 3. Building Project
run: msbuild 'src/CodingWithCalvin.OpenInNotepadPlusPlus/CodingWithCalvin.OpenInNotepadPlusPlus.csproj' /p:configuration='Release' /p:platform='x64' /p:DeployExtension=False
- name: 4. Create Information File
uses: jsdaniell/create-json@v1.2.3
with:
name: 'src/CodingWithCalvin.OpenInNotepadPlusPlus/bin/x64/Release/CodingWithCalvin.OpenInNotepadPlusPlus.info'
json: '{"sha":"${{ github.sha }}", "version":"${{ steps.step-version.outputs.version }}"}'
- name: 5. Publishing Build Artifact
uses: actions/upload-artifact@v4
with:
path: |
src/CodingWithCalvin.OpenInNotepadPlusPlus/bin/x64/Release/CodingWithCalvin.OpenInNotepadPlusPlus.info
src/CodingWithCalvin.OpenInNotepadPlusPlus/bin/x64/Release/CodingWithCalvin.OpenInNotepadPlusPlus.vsix