Commit Graph

58 Commits (eca73a810c19ed5cfb3f24cb5560d0735e19ea00)

Author SHA1 Message Date
rubidium42 98e653dacc Fix #9386: compilers failing to compile with LTO by using variants instead of new + unique_ptr
With std::variant all memory can be figured out at compile time, so the compiler needs to keep track of fewer elements. It also saves out a unique_ptr and its memory management, over a slight impact for resolving a setting.
3 years ago
Patric Stout 1ed7afc0a8
Change: [GitHub] use an issue form to let people fill in bug report / crashes (#9400) 3 years ago
Loïc Guilloux f86c66cbd7
Codechange: [Actions] Improve MSYS2 setup time (#9360) 3 years ago
Loïc Guilloux acb6348ba6
Add: [Actions] msys2/MinGW CI (#8698) 3 years ago
Owen Rudge 3ce7e31f64 Feature: Sign Windows builds 3 years ago
Patric Stout 3477405e86
Change: [Actions] use newly created Actions instead of custom shell-scripting (#9284) 3 years ago
Loïc Guilloux c53d9991ee
Add: [Actions] Check CI annotations to detect compile warnings (#9217) 3 years ago
Loïc Guilloux 282d5d302d
Change: [Actions] Add a 2 minutes timeout for regression test (#9166) 3 years ago
Tyler Trahan 27031b396f
Change: [Actions] Reword bug/crash report instructions (#9104) 3 years ago
Patric Stout 2e39ac5ba2
Add: [GitHub] use issue templates to make it more clear what we expect from users (#9092) 3 years ago
Charles Pigott 2a9825b8de
Add: [Actions] Debian Bullseye release build (#8921) 3 years ago
Patric Stout 9639e77297 Fix: [Actions] "is-tag" variable is the 5th element, not 6th
The 6th is "is-stable-tag", but it is currently broken in meaning.
Betas and RCs are considered "stable", but final releases are not.
This is the reason it was working for RC1, but not for the final
release.
3 years ago
Patric Stout 64a8c38d2f
Fix: [Actions] update environment variable for AWS region (#8827) 3 years ago
glx22 db0993f500 Change: [Actions] Also check dedicated build 3 years ago
glx22 cd4c8ecbf3 Add: [Actions] Allow partial cache invalidation on dependencies change 3 years ago
glx22 70e4845915 Change: [Actions] Use only CMake, CTest and CPack 3 years ago
glx22 90adac8f09 Change: [Actions] stop using 'run-vcpkg' action for Release 3 years ago
glx22 58640824d1 Change: [Actions] stop using 'run-cmake' action for Release 3 years ago
glx22 2fd2950eb5 Change: [Actions] stop using 'run-vcpkg' action for CI 3 years ago
glx22 30ae019095 Change: [Actions] stop using 'run-cmake' action for CI 3 years ago
Patric Stout b124c49ea4 Fix: [Actions] Also run CI against libsdl1.2 for every pull request 3 years ago
Patric Stout cb8e1706b2 Fix: [Actions] if SDL2 is installed, it is always picked over SDL1
So no need to install both SDL1 and SDL2, that gives a false idea
of reality.
3 years ago
Patric Stout d3df4674f9 Fix: [Actions] build our allegro driver too in our CI
This prevents us breaking it without realising.
3 years ago
Owen Rudge d3b50b9c47 Fix: [Actions] Use vcpkg to provide libpng on macOS 3 years ago
Michael Lutz 6755ff63e1 Add: [OSX] Native font rendering without using FreeType. 3 years ago
glx22 f181037bed Change: [Actions] Also run CI for VS2017 3 years ago
Owen Rudge 395e015282 Change: Convert .md to .rtf for Windows/Mac packages 3 years ago
Owen Rudge da4c404f3d Fix: [Actions] Use same vcpkg commit for CI on macOS as release builds 3 years ago
Patric Stout 4f0692c437
Codechange: [Actions] Document better why we build our own fluidsynth (#8646)
nielsmh nicely correct us in #8641, pointing out the old comment
is not telling a complete truth. The result is the same, but it
is better to not mislead future-us.
3 years ago
Patric Stout a667ed945f
Add: [Actions] Automatically upload releases to Steam (#8644) 3 years ago
Patric Stout 05df7996a4
Feature: [Actions / CMake] support for generic linux builds (#8641)
These bundles can be opened on any "modern" Linux machine with
a driver that SDL2 supports.

Machines needs at least glibc 2.15, which was released 10 years ago.
It is build with CentOS 7 as base, and only assumes the following
libraries are available on the system:
- libc
- libdl
- libgcc_s
- libpthread
- librt
- libstdc++

All other libraries the game depends on are bundled together with
the game, so users don't need any library installed to use this
bundle. The downside of course is that this increases the binary
size a bit: 30 MiB of libraries are in this bundle.

RPATH is used to make ld-linux find the folder libraries are
stored in; however, system libraries are always used before these,
in the assumption libraries on the user system are more up-to-date.

Using -DOPTION_PACKAGE_DEPENDENCIES=ON switches on packaging
of libraries in the "lib" folder. This requires CMake 3.16 to
be installed; otherwise it will fail.
3 years ago
Patric Stout 4831b4fa96
Codechange: [Actions] we no longer need xdg-basedir (#8615)
This was already removed from the "ci-build", but not yet from
"release".
3 years ago
Owen Rudge 1187dc3217 Feature: [Actions] Create .zip for macOS build 3 years ago
Owen Rudge a2bd0a14e1 Feature: [Actions] ARM64 builds for Windows 3 years ago
Owen Rudge 2d9e164ec4 Fix: [Actions] Give Universal Mac packages the "universal" suffix 3 years ago
Owen Rudge ce42e819b9 Feature: Build macOS build as a universal binary 3 years ago
Owen Rudge bc8f347ef2 Fix: vcpkg binaries were not being cached on Mac 3 years ago
Patric Stout cc5f190cb3
Fix: [Actions] circumvent Windows tar warning about read-only files (#8570)
This was already applied on the CI build, but not yet on the
release build.
3 years ago
Owen Rudge 4f5990fa26 Fix: Remove .sha256 files from macOS builds 3 years ago
Owen Rudge 60851ef1a6 Feature: Sign macOS builds 3 years ago
frosch f6abc81cf1 Fix: add missing variables to NewGRF inspect window. 3 years ago
Owen Rudge fec5ce093f Feature: Build ARM64 (Apple Silicon) version for macOS 3 years ago
Patric Stout 4059ccf863
Fix: [Actions] circumvent Windows tar warning about read-only files (#8524)
Because certain files are read-only, the "restore-cache" step
fails, as Windows tar refuses to overwrite those files (even
if they are identical). Instead of hoping upstream fixes
"restore-cache", just remove the read-only flag on these files
instead.
3 years ago
Charles Pigott 3dfee979a7 Codechange: Drop libxdg-basedir dependency in favour of finding the directories ourselves 3 years ago
Patric Stout f2d78b11dd
Fix: [Actions] cmakeBuildType is only used with CMakeListsTxtBasic (#8435)
We use CMakeListsTxtAdvanced, and as such, we have to do this our
self via "-DCMAKE_BUILD_TYPE=RelWithDebInfo". Otherwise we are
producing Debug builds instead of Release builds. Oops.
3 years ago
frosch 3f606691a8
Add: [GitHub] PR template. (#8414) 3 years ago
Patric Stout 7ea5904395 Add: [Actions] release workflow for both releases and nightlies
This has several ways of being triggered:
- When creating a new release via the GitHub interface. Fully
  automated that will produce new binaries, upload them, and it
  will even update the website to tell about the new version.
- When triggered in an automated way from OpenTTD/workflows to
  start a nightly.
- Manually via the Release workflow, which accepts branches,
  Pull Requests and tags to build.

Rerunning a job is safe and should be without issues. Everything
retriggers and updates what-ever might have been broken. In fact,
except for dates, it should produce identical results.

Co-authored-by: Charles Pigott <charlespigott@googlemail.com>
3 years ago
Patric Stout 93ef759a25 Add: [Actions] preview workflow, where PRs can be reviewed in the browser
When a developer attaches the "preview" label, a build is created
and published on https://preview.openttd.org/. After that, new
pushes to the PR are automatically build (as long as the "preview"
label exists).

If a non-developer attaches the "preview" label, it will be
removed.
4 years ago
Patric Stout d15dc9f40f Add: support for emscripten (play-OpenTTD-in-the-browser)
Emscripten compiles to WASM, which can be loaded via
HTML / JavaScript. This allows you to play OpenTTD inside a
browser.

Co-authored-by: milek7 <me@milek7.pl>
4 years ago
Patric Stout abb746fae3
Fix: [Actions] cleanup ci-build workflow to be up-to-date (#8375)
Also, while at it, make it more like the upcoming release-workflow,
so they look a lot more similar.

Functional it should be the same, except that Windows should
now also output when a test fails.
4 years ago