Skip to content

Latest commit

 

History

History
44 lines (36 loc) · 2.16 KB

CONTRIBUTING.md

File metadata and controls

44 lines (36 loc) · 2.16 KB

Compiling

The traditional route is by undergoing the AO2 Rite of Passage.

However, these days it is easy to get away with using the default Qt toolchain on any platform, which creates a dynamic executable. (Don't forget to invoke windeployqt when creating a release.)

Dependencies

Release instructions

Follow these steps to make a new full release:

  • Set a new AO version in the .pro file and in aoapplication.h.
  • Compile the project.
  • Commit the version bump and and create a tag for the commit.
  • Rename the executable to Attorney_Online.
  • Create a temp directory.
  • Copy a fresh base folder to the temp dir. Ensure that the timestamps are consistent.
    • Ignore this step if creating a client-only release.
  • Copy the repository's base folder to the temp dir.
  • Append .sample to the names of all .ini files, including serverlist.txt.
  • Copy the game executable to the temp dir.
  • Copy bass.dll, discord-rpc.dll, and qapng.dll if applicable.
  • Copy README.md as README.md.txt with CRLF line endings.
  • Copy LICENSE as LICENSE.txt with CRLF line endings.
  • Compress the contents of the temp dir to an archive with maximum compression, but be sure that the contents are placed inside the root directory of the archive and not within a subdirectory.
  • Compute the SHA-1 hash of the archive.
  • Upload the archive to the Wasabi bucket and an additional mirror (e.g. MEGA or OneDrive) (if this is a full release).
  • Publish a GitHub release and upload the archive there (if this is a client-only release).
  • Add the new version to the program.json manifest for the respective platform (if this is a client-only release).
  • Update the following on the website for the respective platform:
    • Full download links (Wasabi and mirror)
    • Client download link
    • Full download hash
    • Client download hash

Repeat for each platform (currently 32-bit Windows and 64-bit Linux). Once you're done, don't forget to announce your release!