Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Github action workflow to run a build for the latest version #1337

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions .github/workflows/msbuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# run a build for the latest version and upload the artifacts to a "latest" pre-release

name: MSBuild

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
workflow_dispatch:

env:
# Path to the solution file relative to the root of the project.
SOLUTION_FILE_PATH: ./QuickLook.sln

# Configuration type to build.
# You can convert this to a build matrix if you need coverage of multiple configuration types.
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
BUILD_CONFIGURATION: Release

permissions:
contents: read

jobs:
build:
runs-on: windows-latest

steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
ref: master

- name: Add MSBuild to PATH
uses: microsoft/[email protected]

- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: nuget restore ${{env.SOLUTION_FILE_PATH}}

- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:BuildInParallel=true /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}

# upload msi and zip artifacts so the publish job below can download and then update latest release via Linux
- uses: actions/upload-artifact@v3
with:
name: quicklook-build-files
path: Build/QuickLook-*.*

publish:
# don't run in parallel - wait for build to complete first
needs: build

# one of the steps uses container action which is Linux only
runs-on: ubuntu-latest

permissions: write-all

steps:
- uses: actions/download-artifact@v3
with:
name: quicklook-build-files

- name: Update latest release
# see https://github.com/pyTooling/Actions/tree/main/releaser
uses: pyTooling/Actions/releaser@main
with:
tag: latest
rm: true
token: ${{ secrets.GITHUB_TOKEN }}
files: QuickLook-*.*


6 changes: 3 additions & 3 deletions Scripts/update-version.ps1
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
$tag = git describe --always --tags "--abbrev=0"
$revision = git describe --always --tags
$tag = git describe --always --tags "--abbrev=0" --exclude latest
$revision = git describe --always --tags --exclude latest

$text = @"
// This file is generated by update-version.ps1
Expand All @@ -10,4 +10,4 @@ using System.Reflection;
[assembly: AssemblyInformationalVersion("$revision")]
"@

$text | Out-File $PSScriptRoot\..\GitVersion.cs -Encoding utf8
$text | Out-File $PSScriptRoot\..\GitVersion.cs -Encoding utf8