Skip to content

ClickOnce Build Workflow#180

Merged
gbakeman merged 17 commits intodev-2.3from
81-release-building
Aug 12, 2024
Merged

ClickOnce Build Workflow#180
gbakeman merged 17 commits intodev-2.3from
81-release-building

Conversation

@gbakeman
Copy link
Copy Markdown
Contributor

@gbakeman gbakeman commented Aug 12, 2024

  • Get build workflows up and running for Debug (pull requests), Releases (tags) and Translations.
    • Translation workflow needs work in another PR/issue
  • Version number is determined by release tagging only
  • When building for old Setup project deployment, use the following command line: msbuild -restore -p:"Configuration=PreRelease;Version=[current major.minor version].*" .\WinNUT_V2.sln

Related to #81 and #85, but doesn't necessarily close either. More work needs to be done testing the update flow from MSI -> ClickOnce, and ClickOnce -> ClickOnce.

gbakeman added 17 commits April 11, 2023 18:45
Moving the old debug build workflow into a new, portable and configurable building workflow. Currently nothing builds automatically, so more specific workflows need to be created.

- Accepts buildMode and version parameters
- Specify any build configuration already defined in msbuild
- Use modern method of setting env vars
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable
- Output is in a predictable, runner-domain location
Switched the build process over so that MSBuild no longer auto-generates the assembly version. Instead, we pass it to MSBuild with the `Version` parameter.
Reducing the build-solution workflow responsibilities and creating a new workflow strictly for debug builds.
- build-solution is no longer manually callable and must be called from another workflow
- Install the MAT extension so that language resources are compiled, when the compileLangs workflow parameter is true.
- modifying the job name to be more descriptive.
Moving environment prep & solution building into its own composite action, which makes much more sense then trying to split workflow up between jobs.
Almost exactly the same as the debug workflow, except for which files it triggers on and the parameter passed to the build solution action.
Artifact uploading occurs in the build solution action now, directly after compilation happens. This should simplify calling workflows. Testing the change in debug only for now.
Creating workflow to handle any (pre)release. Triggered by pushing a tag starting with the letter 'v'. Also creating a separate powershell script to extract version information from the tag.

- Renaming some standard repository text files for consistency and inclusion with the released artifacts.
- VS Installer projects only build with the devenv command, so call that specifically for this purpose.
- Updating some file references in the Setup project
- Call special utility that allows us to run devenv on Setup projects (disable or enable out of process building?)
- Try to fix errors building Setup project
- Remove the old Setup Project and instead use native ClickOnce deployments
- Also removed self-signed certificate (hopefully signing on the build runner)
- Regenerated the app manifest and defined os support as far back as possible. The Windows 7 line would cause deployment errors, but it should still be compatible.
- Release workflow uses ClickOnce deployments and should upload output accordingly.
- Modified client project file to also use this infrastructure, and it should also be automatically checking for updates.
- Troubleshooting issue with action-gh-release finding the no install archive.
Duplicate changelog entries to the text file. Also testing ClickOnce updates.
Recently upgraded project targeting to 4.8.1, and found out that the Windows runner isn't installed with it yet. This is a temporary workaround until the runner image is updated (actions/runner-images#8766)
Allows for building from command line and receiving a consistent Version. Possibly important note: building directly from Visual Studio results in a 1.0.0.0 version.
- Work on any dev branch
- Moved building code back into workflow file
- Debug build will use the default version given to it by msbuild. Also apply short SHA to artifact filename.
- Upgrade action versions
- Ported over get-ver.ps1 changes from AGauge repository
- Release build workflow selects solution configuration based on result from get-ver
- Simplified msbuild command
@gbakeman gbakeman added the enhancement New feature or request label Aug 12, 2024
@gbakeman gbakeman added this to the 2.3 Stable Release milestone Aug 12, 2024
@gbakeman gbakeman linked an issue Aug 12, 2024 that may be closed by this pull request
15 tasks
@gbakeman gbakeman merged commit d5f124d into dev-2.3 Aug 12, 2024
@gbakeman gbakeman deleted the 81-release-building branch August 12, 2024 20:35
@gbakeman gbakeman restored the 81-release-building branch October 25, 2025 20:25
@gbakeman gbakeman deleted the 81-release-building branch April 25, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Release Building

1 participant