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

ClickOnce Build Workflow #180

Merged
merged 17 commits into from
Aug 12, 2024
Merged

ClickOnce Build Workflow #180

merged 17 commits into from
Aug 12, 2024

Conversation

gbakeman
Copy link
Contributor

  • 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

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
13 tasks
@gbakeman gbakeman merged commit d5f124d into dev-2.3 Aug 12, 2024
2 checks passed
@gbakeman gbakeman deleted the 81-release-building branch August 12, 2024 20:35
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