glx22 and Loïc Guilloux
6d495d1fb9
Codechange: [Actions] Use NuGet for vcpkg binary caching
2025-08-24 21:38:16 +02:00
glx22 and Loïc Guilloux
0f2d1dc39c
Codechange: [Actions] Setup vcpkg via a composite action
2025-08-24 21:38:16 +02:00
Loïc Guilloux and GitHub
bd7cda8271
Revert f719fa678f: [CI] The fix is now implemented at vcpkg level ( #13942 )
2025-04-03 12:54:56 +02:00
Patric Stout and GitHub
f719fa678f
Fix: [CI] force a CMake minimum version of 3.5 for all dependencies ( #13936 )
...
With CMake 4.0.0, any project < 3.5 is no longer supported. Yet,
some projects indicate 3.0 or 3.1 (while fully compatible with
3.5+). But CMake doesn't know, so it bails.
2025-03-31 18:48:39 +00:00
Patric Stout and GitHub
5ff1632fc1
Fix: [CI] Bump Fluidsynth to 2.4.4, fixing a compile error ( #13919 )
...
CMake 3.1 is no longer supported; recently Fluidsynth made the jump
to 3.5, which is supported.
2025-03-30 09:02:58 +00:00
Patric Stout and GitHub
6e0f58f700
Codechange: [CI] use "cargo install --locked" to use pinned dependency versions ( #12243 )
...
Normally "cargo install" will use the latest dependencies, but
this causes an issue with "dump_syms". Use "--locked" makes sure
we use the dependency versions as indicated by "dump_syms", instead
of the latest version.
2024-03-09 11:42:09 +00:00
62d7d92a0e
Upgrade: [CI] bump the actions group with 9 updates ( #11881 )
...
Bumps the actions group with 9 updates:
| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout ) | `3` | `4` |
| [actions/cache](https://github.com/actions/cache ) | `3` | `4` |
| [actions/github-script](https://github.com/actions/github-script ) | `6` | `7` |
| [OpenTTD/actions](https://github.com/openttd/actions ) | `2` | `5` |
| [github/codeql-action](https://github.com/github/codeql-action ) | `2` | `3` |
| [actions/download-artifact](https://github.com/actions/download-artifact ) | `3` | `4` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact ) | `3` | `4` |
| [tibdex/github-app-token](https://github.com/tibdex/github-app-token ) | `1` | `2` |
| [peter-evans/repository-dispatch](https://github.com/peter-evans/repository-dispatch ) | `2` | `3` |
Updates `actions/checkout` from 3 to 4
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v3...v4 )
Updates `actions/cache` from 3 to 4
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v3...v4 )
Updates `actions/github-script` from 6 to 7
- [Release notes](https://github.com/actions/github-script/releases )
- [Commits](https://github.com/actions/github-script/compare/v6...v7 )
Updates `OpenTTD/actions` from 2 to 5
- [Release notes](https://github.com/openttd/actions/releases )
- [Commits](https://github.com/openttd/actions/compare/v2...v5 )
Updates `github/codeql-action` from 2 to 3
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/v2...v3 )
Updates `actions/download-artifact` from 3 to 4
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4 )
Updates `actions/upload-artifact` from 3 to 4
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4 )
Updates `tibdex/github-app-token` from 1 to 2
- [Release notes](https://github.com/tibdex/github-app-token/releases )
- [Commits](https://github.com/tibdex/github-app-token/compare/v1...v2 )
Updates `peter-evans/repository-dispatch` from 2 to 3
- [Release notes](https://github.com/peter-evans/repository-dispatch/releases )
- [Commits](https://github.com/peter-evans/repository-dispatch/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
- dependency-name: actions/github-script
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
- dependency-name: OpenTTD/actions
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
- dependency-name: tibdex/github-app-token
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
- dependency-name: peter-evans/repository-dispatch
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 21:22:33 +00:00
Patric Stout and GitHub
42e07809d0
Change: [CI] upgrade linux-generic to libc 2.28 and introduce linux-legacy ( #11792 )
...
linux-legacy is the old variant, which uses libc 2.17, released in 2012.
linux-generic is now upgraded to libc 2.28, released in 2018.
2024-01-15 21:30:52 +00:00
Patric Stout and GitHub
7fd2c2d44f
Fix: [Linux] install all X11 dependencies in linux-generic ( #11787 )
...
Without this, xrandr support is not compiled into SDL, which means
that SDL will only see a single display spanning all your displays
(a virtual desktop).
2024-01-15 21:59:19 +01:00
Patric Stout and GitHub
b1812751e0
Fix: [CI] unbreak Linux releases by using a slightly older rust-cache action ( #11758 )
...
The maintainer bumped node16 -> node20 in a patch version, which
is a bit awkward for us, as we can't run node20 in this workflow
(yet). Most other actions used a major version for that, and for
similar reasons we cannot upgrade "download-artifact" to v4.
This is a temporary solution, while we start looking into how to
support node20 in this workflow.
2024-01-12 10:25:50 +00:00
Patric Stout and 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.
2023-12-30 18:40:04 +01:00
Patric Stout and Patric Stout
0c064b5119
Change: [CI] use vcpkg built-in caching mechanism
2023-12-30 18:40:04 +01:00
Patric Stout and Patric Stout
086bd00f5d
Fix: [CI] upgrade curl to a modern version to avoid patching other tools
2023-12-30 18:40:04 +01:00
Patric Stout and Patric Stout
3fec8ece5a
Change: [CI] always use "latest" image for our runners
2023-12-30 18:40:04 +01:00
Patric Stout and GitHub
d6e8e83052
Fix: [CI] patch in SHF_COMPRESSED symbol for our Linux Generic binaries ( #11651 )
2023-12-30 14:40:09 +01:00
Loïc Guilloux and GitHub
06b1bd3da4
Fix: [CI] Don't let SDL2 dependencies install too much stuff ( #11537 )
2023-12-04 13:55:52 +01:00
glx22 and Loïc Guilloux
e2c5eb3b65
Codechange: [CI] Use runner vcpkg in release-linux workflow
2023-11-29 21:00:01 +01:00
Loïc Guilloux and GitHub
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.
2023-10-25 21:20:45 +02:00
Patric Stout and GitHub
ba67f39db6
Codechange: vendor the nlohmann-json library ( #11290 )
2023-09-13 16:11:34 +02:00
Patric Stout and GitHub
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.
2023-08-30 18:27:15 +00:00
Patric Stout and GitHub
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.
2023-08-20 17:16:08 +02:00
Patric Stout and GitHub
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.
2023-06-21 13:37:13 +02:00
Patric Stout and 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.
2023-05-14 23:22:02 +02:00
Patric Stout and Patric Stout
021c45c4f6
Add: [CMake] JSON library (nlohmann)
2023-05-14 23:22:02 +02:00
Patric Stout and GitHub
62f9bdb939
Fix: [CI] no need to build unit-tests for releases ( #10759 )
...
We don't run them anyway. And LTO can be darn slow.
2023-05-02 23:43:16 +02:00
Patric Stout and 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
2023-05-01 22:17:56 +02:00
Patric Stout and GitHub
16352559f2
Change: release with (much) newer versions of dependencies for Generic Linux ( #10484 )
2023-02-15 22:18:23 +01:00
frosch and frosch
274bcf8d80
Fix 64523709: rpm uses different package names than deb.
2023-02-13 22:45:07 +01:00
Patric Stout and GitHub
64523709bf
Add: use https:// for content-service connections ( #10448 )
...
This requires the use of WinHTTP (for Windows) or libcurl (for all
others except Emscripten). Emscripten does not support http(s)
calls currently.
On Linux it requires ca-certificates to be installed, so the HTTPS
certificate can be validated. It is really likely this is installed
on any modern machine, as most connections these days are HTTPS.
(On MacOS and Windows the certificate store is filled by default)
Reminder: in case the http(s):// connection cannot be established,
OpenTTD falls back to a custom TCP-based connection to fetch the
content from the content-service. Emscripten will always do this.
2023-02-12 12:07:31 +01:00
Patric Stout and Patric Stout
425ba82676
Change: [Actions] split GitHub workflows into several smaller ones
2023-01-28 20:41:08 +01:00