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

Installer .exe + winget package + .exe signing #1572

Merged
merged 161 commits into from
Jul 4, 2023
Merged

Installer .exe + winget package + .exe signing #1572

merged 161 commits into from
Jul 4, 2023

Conversation

Cyberboss
Copy link
Member

@Cyberboss Cyberboss commented Jun 24, 2023

🆑
tgstation-server no longer holds a .NET Framework 4.7.2 dependency for running the Windows service.
tgstation-server now ships an .exe installer for Windows. It automatically downloads and installs the required .NET dependency if needed. You can either download it from GitHub Releases or install it via winget install Tgstation.Server. Once initially installed, it can be used to perform seamless updates same as using the HTTP API would.
Fixed the internal configuration setting General:DesignTime being exposed in appsettings.Prodution.ymls the setup wizard generates.
The setup wizard now has default recommendations for the majority of its options that can be quickly navigated through.
The configuration directory (where the appsettings.yml files are loaded from) can now be specified with the command line argument --appsettings-base-path=XXX. Remember that this is meant to be passed through either the console or service host watchdog.
When specifying a relative path to an SQLite database, the base directory will now be the configuration directory.
The TGS console window title will now reflect the version being run or if you're running the setup wizard.
Fixed Windows service creating a BYOND directory in the installation folder.
/:cl:

🆑 Host Watchdog
Windows service command 128 is equivalent to stopping the service.
Windows service command 129 issues a graceful shutdown. The service will stop once all instances shutdown and instances will shutdown if their game servers are offline or once they call /world/proc/TgsReboot().
Windows service command 130 will stop the service and leave DreamDaemon instances running. It can be started later to reattach them.
Added descriptions to Tgstation.Server.Host.Service.exe command line options.
Added -p=XXX option to Tgstation.Server.Host.Service.exe which can be used to pass arguments to the main server.
Improved dotnet executable searching.
/:cl:

TODO:

  • winget publishing in ci-suite.
  • winforms configure app
  • systemd internal config + console logging
  • Rebase + Drop 34ef340
  • Allow upgrades in winget manifest
  • Remove .sln dependencies for configure project
  • Streamline setup wizard with sane defaults
  • Restructure installation directory so configure doesn't splat service
  • Update readme with aspnet winget installation instructions
  • Drop the test deploy commit
  • Switch to wix 😭
  • Drop winget force deploy debug commit

Closes #1569

@Cyberboss Cyberboss added Feature New functionality CI/CD IT'S NOT A PHASE MOM, IT'S A REAL SPECIALIZATION Windows Only Issue only applies to Windows deployments labels Jun 24, 2023
@Cyberboss Cyberboss added this to the v5.13.0 milestone Jun 24, 2023
@codecov
Copy link

codecov bot commented Jun 24, 2023

Codecov Report

Merging #1572 (a00ef98) into dev (f7fd9c6) will decrease coverage by 0.18%.
The diff coverage is 47.14%.

@@            Coverage Diff             @@
##              dev    #1572      +/-   ##
==========================================
- Coverage   92.87%   92.70%   -0.18%     
==========================================
  Files         593      597       +4     
  Lines      121908   122139     +231     
==========================================
  Hits       113225   113225              
- Misses       8683     8914     +231     

github-actions[bot]
github-actions bot previously approved these changes Jul 3, 2023
github-actions[bot]
github-actions bot previously approved these changes Jul 3, 2023
@Cyberboss Cyberboss changed the title .msi + winget package Installer .exe + winget package + .exe signing Jul 3, 2023
github-actions[bot]
github-actions bot previously approved these changes Jul 3, 2023
github-actions[bot]
github-actions bot previously approved these changes Jul 3, 2023
@Cyberboss Cyberboss enabled auto-merge July 3, 2023 22:29
@Cyberboss Cyberboss merged commit 4b2ad93 into dev Jul 4, 2023
84 checks passed
@Cyberboss Cyberboss deleted the 1569-Vdproj branch July 4, 2023 00:07
@Cyberboss Cyberboss self-assigned this Jul 4, 2023
@Cyberboss Cyberboss added Documentation Documentation updates DreamDaemon Downtime (optional) Changes that require DreamDaemon to be shutdown to apply but are not required Host Watchdog Change A change to one of the Host./<Watchdog/Service/Console> projects which do not receive auto updates Runner: Console Issue related to the console host watchdog Runner: Service Issue related to the Windows service host watchdog Dependencies Related to updating dependant libraries .NET Pull requests that update .net code labels Jul 4, 2023
@Cyberboss Cyberboss removed their assignment Jul 4, 2023
@Cyberboss
Copy link
Member Author

Moving this CL down here so it can't be edited

🆑 Host Watchdog
Windows executables are now signed against the root certification authority maintained by @Cyberboss. Please consider adding this CA to your Trusted Root Certificates (OCSP Server: http://ocsp.dextraspace.net). Validate the thumbprint: 4b2e06b195a1c2535e9571797565c4cee84a2cd3.
/:cl:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/CD IT'S NOT A PHASE MOM, IT'S A REAL SPECIALIZATION Dependencies Related to updating dependant libraries Documentation Documentation updates DreamDaemon Downtime (optional) Changes that require DreamDaemon to be shutdown to apply but are not required Feature New functionality Host Watchdog Change A change to one of the Host./<Watchdog/Service/Console> projects which do not receive auto updates .NET Pull requests that update .net code Runner: Console Issue related to the console host watchdog Runner: Service Issue related to the Windows service host watchdog Windows Only Issue only applies to Windows deployments
Projects
None yet
Development

Successfully merging this pull request may close these issues.

winget Package Manager Support
1 participant