Commit Graph

144 Commits (wip-string-2)

Author SHA1 Message Date
Patric Stout 49db7bbe08 Change: add vcpkg.json to instruct vcpkg what dependencies we require
This works on all OSes, making it far simpler for any developer
to jump in. Just install vcpkg, run "vcpkg install" in our root,
and you have all the dependencies.
5 months ago
Patric Stout 0c064b5119 Change: [CI] use vcpkg built-in caching mechanism 5 months ago
Patric Stout 5d86588a45 Change: [CI] pkg-config is installed by default on latest runner 5 months ago
Patric Stout 086bd00f5d Fix: [CI] upgrade curl to a modern version to avoid patching other tools 5 months ago
Patric Stout 3fec8ece5a Change: [CI] always use "latest" image for our runners 5 months ago
Patric Stout d6e8e83052
Fix: [CI] patch in SHF_COMPRESSED symbol for our Linux Generic binaries (#11651) 6 months ago
Loïc Guilloux e901ce582d
Add: [CI] Test grf generation (#11543) 6 months ago
Loïc Guilloux 06b1bd3da4
Fix: [CI] Don't let SDL2 dependencies install too much stuff (#11537) 6 months ago
glx22 e2c5eb3b65 Codechange: [CI] Use runner vcpkg in release-linux workflow 7 months ago
glx22 b1f98a79f8 Update: [CI] Use macos-12 image for release-macos workflow 7 months ago
Peter Nelson cda896bca5 Remove: windowdesc-ini-key workflow, as this is now performed more reliably by a unit-test. 7 months ago
Loïc Guilloux 375f24956c
Fix: [CI] Installed (and cached) vcpkg packages are never upgraded in release-linux workflow (#11396)
Other workflows use a per image cache because images provide a fixed vcpkg clone.
8 months ago
Rubidium bec36c1f98 Cleanup ba67f39: CodeQL's dependency was forgotten to be removed 9 months ago
Patric Stout c6864637fb
Add: [GitHub] also test if release builds without asserts are warning-free (#11309) 9 months ago
Patric Stout ba67f39db6
Codechange: vendor the nlohmann-json library (#11290) 9 months ago
Loïc Guilloux 21bd5fb991
Fix: [CI] preview flow can't install latest version of npm (#11265) 9 months ago
Peter Nelson e8015e497d Codechange: Use begin/end of nwidget parts of begin/length.
This simplifies processing nwidget parts as, unlike the remaining length, the pointer to the end of the list never changes. This is the same principle as we use(d) for tracking end instead of length for C-style strings.

And this removes 160~ instances of the lengthof() macro.
9 months ago
Patric Stout 2f96ccc18a
Add: [CI] Create and store breakpad symbols for releases (#11247)
Additionally, also store PDB and exe files on the Symbol Server
for easier debugging with MSVC.
10 months ago
Patric Stout a3d631ffed
Change: make nlohmann a mandatory library to build OpenTTD (#11235) 10 months ago
Patric Stout 13b76b0243
Fix: [CI] don't install breakpad on arm64-windows-static, as it is not supported (yet) (#11242) 10 months ago
Patric Stout 110dd0e6c1
Fix: [CI] Allow release-flow to run in forks (while skipping survey-key) (#11241) 10 months ago
Patric Stout f120d2beb8
Add: use breakpad to create crash.dmp on MacOS / Linux too (#11202)
Normally only the Windows platform could create a crash.dmp, making
analysing crash-reports from MacOS / Linux rather tricky.
10 months ago
Andy 06b2d9b1cc
Doc: 'game_changelog.hpp' not 'gs_changelog.hpp' in GitHub PR template (#11147) 11 months ago
glx22 9cdf86a411 Add: workflow and script for checking ini_key issues in WindowDesc entries 11 months ago
Patric Stout 7ef6e99083
Fix: [CI] actually use the GitHub Apps token to trigger "Publish Docs" (#11128) 11 months ago
Patric Stout dadcade81c
Fix: [CI] preview for one PR could cancel the preview of another (#11121) 11 months ago
Patric Stout 323dd619bb
Change: [CI] rework preview flow and use Cloudflare Pages to publish (#11116) 11 months ago
Loïc Guilloux 5f2246eabf
Fix 021c45c: [CMake] detection and use of nlohmann-json for emscripten (#11113) 11 months ago
Patric Stout 83b6512032
Fix d5a72193: [CI] downloading single artifact doesn't add folder to it (#11107) 11 months ago
Patric Stout 4c9c164ddc
Fix d5a72193: [CI] GOG and Steam also depend on the source itself (#11095) 12 months ago
Patric Stout d5a72193e7
Change: [CI] upload releases to new CDN (#11093) 12 months ago
Patric Stout ff050ea1d9
Fix: [CI] enable audio (alsa / jack / pulse) for generic Linux builds (#11051)
SDL needs to see the header files when compiling to enable those
drivers runtime. It doesn't actually link against them: it just
needs to see the headers.
12 months ago
Owen Rudge 5a7098cb41 Change: [Actions] Use notarytool for notarization instead of gon 1 year ago
Patric Stout 7634553d22 Feature: opt-in survey when exiting a game
On first start-up, the game will ask if you want to participate
in our automated survey. You have to opt-in, and can easily opt-out
(via the Options) at any time.

When opt-in, whenever you exit a game, a JSON blob will be send
to the survey server hosted by OpenTTD. This JSON blob contains
information that gives a global picture of the game just played:
- What settings were used
- How many humans vs AIs
- How long the game has been played
- Basic information about the OS / CPU

All this information is kept very generic, so there is no
chance we send private information to our survey server.
Nothing in the JSON blob could identify you as a person; it
mostly tells about the game played. At any time you can see
what the JSON blob includes, by pressing the "Preview Survey
Results" button in-game.
1 year ago
Patric Stout 021c45c4f6 Add: [CMake] JSON library (nlohmann) 1 year ago
Loïc Guilloux 7e74232e56
Change: [Actions] Use -fuse-ld=lld and Ninja for MinGW (#10785)
And some miscellaneous things while touching the file
1 year ago
Rubidium 192ed55462 Change: disable precompiled headers on Linux (GCC - Dedicated) target to ensure those still build 1 year ago
Patric Stout 62f9bdb939
Fix: [CI] no need to build unit-tests for releases (#10759)
We don't run them anyway. And LTO can be darn slow.
1 year ago
Patric Stout fbad57ecf7
Change: [CI] update emscripten and liblzma to the latest version (#10757) 1 year ago
Patric Stout 81d4fa6999 Feature: drop ICU-lx in favour of directly interfacing with harfbuzz
This means we have RTL support again with ICU 58+. It makes use of:
- ICU for bidi-itemization
- ICU for script-itemization
- OpenTTD for style-itemization
- harfbuzz for shaping
1 year ago
Patric Stout 73bdd4bdd7
Fix: [CI] typo in Windows release jobname (#10742) 1 year ago
Patric Stout a255b61514
Change: [CI] Use a custom name for matrix runs (#10723)
By default, GitHub adds all arguments of the matrix between ().
This is fine sometimes, but in other times it becomes a very
lengthy line.

With this commit, we decide what is between those (), making it
a lot more readable.
1 year ago
Owen Rudge 173ed81dbe Change: [Actions] Upgrade import-codesign-certs dependency in macOS build workflow 1 year ago
SamuXarick f8b5661d28 Change: Allow GS access to ScriptGroup functions 1 year ago
Rubidium 43a7e54067 Add: unit test functionality using catch2 1 year ago
Tyler Trahan 3611082f8e
Codechange: [CodeQL] Disable CodeQL check on trivial switch statements (#10537) 1 year ago
Rubidium 2fffde0891 Add: workflow and script for checking missing mode enforcements 1 year ago
Patric Stout 6fcc8727f5 Change: [Actions] cancel previous run if pushing new PR
Lately we had a few times that people pushed to their PR branch
a few times to make small changes. Sadly, this triggers all CIs
every time, which takes ~20 minutes. As we are limited in the
amount of runners we get assigned to us, this means all other CI,
even for other repositories within OpenTTD, are delayed too.

We can avoid this by simply cancelling old runs when a new PR is
pushed. There is a downside: sometimes people already push a new
commit, but still want to know if the old one passed. That will
no longer be possible with this change.
1 year ago
Loïc Guilloux 27cbb81df5
Fix: [Actions] vcpkg needs pkg-config to build zlib on macOS (#10488) 1 year ago
Patric Stout 16352559f2
Change: release with (much) newer versions of dependencies for Generic Linux (#10484) 1 year ago