Patric Stout
d7b99cbe26
Codefix: [CI] Store vcpkg outside the repository folder ( #12271 )
...
Otherwise tools like CodeQL can pick up on vcpkg files.
7 months ago
Patric Stout
c768f4fc7a
Codechange: [CI] build some targets every night, instead of every PR
...
This mainly as they are not expected to fail, or give more information
than the other targets already would. And this is just hogging up
the CI pipeline. On average, these targets take ~80 CPU-minutes to
finish.
7 months ago
Patric Stout
ee22fa34d7
Codechange: [CI] Split the ci-build into smaller components
7 months ago
Patric Stout
eaf62f3969
Codechange: [CI] manual build CodeQL to improve speed ( #12251 )
...
Autobuild also fetches dependencies and other things, while those
are already ready on the system. This seems to cost ~1 minutes,
for no actual good reason.
7 months ago
Patric Stout
9c95fbdb07
Remove: official support for MSVC 2019 ( #12254 )
7 months ago
Patric Stout
381dee2e01
Codechange: [CI] switch to arm64 for MacOS builds ( #12242 )
...
This creates more variety in our CI builds, increasing the odds
of us finding issues.
7 months ago
Patric Stout
ebd258b404
Change: [CI] switch MacOS to the macos-14 runner ( #12237 )
...
This runner contains a newer XCode, with better C++20 support.
7 months ago
Patric Stout
04ce1c08ae
Codechange: [CI] manually install vcpkg for all targets ( #12241 )
...
From macos-14, vcpkg is no longer installed on the runner-image.
It stands to reason that this will also roll out to new images
for other OSes. To be pre-emptive about it, start using our own
cloned vcpkg for all targets.
7 months ago
Patric Stout
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.
7 months ago
Patric Stout
c6dc9570f0
Fix 62d7d92a: [CI] tibdex/github-app-token's syntax changed with v2 ( #11893 )
8 months ago
Patric Stout
37fd69b604
Remove: [CI] Linux Legacy support ( #11882 )
...
Although created not long ago, you battled to be relevant.
Sadly, GitHub Runners didn't agree with you.
You can't run node20.
And that makes you a broken legacy.
So many potential.
But here we are. Bye Linux Legacy. Thank you for being.
8 months ago
dependabot[bot]
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>
8 months ago
Patric Stout
66a16d5ddf
Fix: [CI] wait for all targets to succeeded before uploading to any ( #11845 )
...
Otherwise it is possible Steam upload happens while CDN upload
does not, which is a bit awkward.
8 months ago
Patric Stout
526a0db956
Fix: [CI] don't share Rust cache between legacy and generic linux ( #11848 )
...
The resulting binaries of generic can't run on legacy.
8 months ago
Patric Stout
bb49112784
Codechange: switch our codebase to C++20
9 months ago
Patric Stout
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.
9 months ago
Patric Stout
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).
9 months ago
Patric Stout
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.
9 months ago
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.
9 months ago
Patric Stout
0c064b5119
Change: [CI] use vcpkg built-in caching mechanism
9 months ago
Patric Stout
5d86588a45
Change: [CI] pkg-config is installed by default on latest runner
9 months ago
Patric Stout
086bd00f5d
Fix: [CI] upgrade curl to a modern version to avoid patching other tools
9 months ago
Patric Stout
3fec8ece5a
Change: [CI] always use "latest" image for our runners
9 months ago
Patric Stout
d6e8e83052
Fix: [CI] patch in SHF_COMPRESSED symbol for our Linux Generic binaries ( #11651 )
9 months ago
Loïc Guilloux
e901ce582d
Add: [CI] Test grf generation ( #11543 )
10 months ago
Loïc Guilloux
06b1bd3da4
Fix: [CI] Don't let SDL2 dependencies install too much stuff ( #11537 )
10 months ago
glx22
e2c5eb3b65
Codechange: [CI] Use runner vcpkg in release-linux workflow
10 months ago
glx22
b1f98a79f8
Update: [CI] Use macos-12 image for release-macos workflow
10 months ago
Peter Nelson
cda896bca5
Remove: windowdesc-ini-key workflow, as this is now performed more reliably by a unit-test.
11 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.
11 months ago
Rubidium
bec36c1f98
Cleanup ba67f39: CodeQL's dependency was forgotten to be removed
1 year ago
Patric Stout
c6864637fb
Add: [GitHub] also test if release builds without asserts are warning-free ( #11309 )
1 year ago
Patric Stout
ba67f39db6
Codechange: vendor the nlohmann-json library ( #11290 )
1 year ago
Loïc Guilloux
21bd5fb991
Fix: [CI] preview flow can't install latest version of npm ( #11265 )
1 year 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.
1 year ago
Patric Stout
a3d631ffed
Change: make nlohmann a mandatory library to build OpenTTD ( #11235 )
1 year ago
Patric Stout
13b76b0243
Fix: [CI] don't install breakpad on arm64-windows-static, as it is not supported (yet) ( #11242 )
1 year ago
Patric Stout
110dd0e6c1
Fix: [CI] Allow release-flow to run in forks (while skipping survey-key) ( #11241 )
1 year 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.
1 year ago
glx22
9cdf86a411
Add: workflow and script for checking ini_key issues in WindowDesc entries
1 year ago
Patric Stout
7ef6e99083
Fix: [CI] actually use the GitHub Apps token to trigger "Publish Docs" ( #11128 )
1 year ago
Patric Stout
dadcade81c
Fix: [CI] preview for one PR could cancel the preview of another ( #11121 )
1 year ago
Patric Stout
323dd619bb
Change: [CI] rework preview flow and use Cloudflare Pages to publish ( #11116 )
1 year ago
Loïc Guilloux
5f2246eabf
Fix 021c45c: [CMake] detection and use of nlohmann-json for emscripten ( #11113 )
1 year ago
Patric Stout
83b6512032
Fix d5a72193: [CI] downloading single artifact doesn't add folder to it ( #11107 )
1 year ago
Patric Stout
4c9c164ddc
Fix d5a72193: [CI] GOG and Steam also depend on the source itself ( #11095 )
1 year ago
Patric Stout
d5a72193e7
Change: [CI] upload releases to new CDN ( #11093 )
1 year 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.
1 year 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