Commit Graph

29 Commits

Author SHA1 Message Date
Ethan Lee 5523d5597d CI: Replace -o with -OutFile, works around Invoke-WebRequest regression 2024-01-31 18:19:22 -05:00
Misa 67f56985eb PR template: Clarify compensation
Translators have been getting compensated for localization. Sometimes
they submit pull requests for their changes, but just because they do
doesn't mean that they won't get compensated.

The intent of this line was to make sure that any random contributor
wouldn't expect any compensation for their changes, so adding another
clause here still keeps that expectation while making it clear that it's
not like Terry _never_ compensates people. Even if, as a Swedish man
once sung, "Terry is a monster, I think we all know that".
2024-01-22 20:11:42 +01:00
Misa 9bb463ab0e Add third_party/ to CI workflow paths
This adds the third_party/ directory to the list of paths that will
trigger a CI workflow when changed.

Not all updates to third-party dependencies will necessarily change
code, but we bump dependencies infrequently so there's not much of a
problem with triggering CI on every change to third_party/.
2024-01-09 23:13:39 -08:00
Misa 47eb7acb44 Only trigger CI workflows for code or CI changes
This makes it so that the main CI workflow will only trigger if a change
is made to a code file in desktop_version/ (as the CI is only for
desktop_version/), or if the CI file itself is changed.

The CI workflow for Android will only trigger if Android-specific code
_could have_ changed. This includes all code that is definitely
Android-specific (e.g. Java files), but also C/C++ files that have
__ANDROID__ ifdefs.

Unfortunately, it's not possible to reuse the same list of paths across
two different event trigger types[1]. So we have to copy-paste here.

[1]: https://github.com/orgs/community/discussions/37645
2024-01-07 17:27:37 -08:00
leo60228 ca71410f14 Use Android SDL2 via Maven 2023-11-14 17:18:08 -08:00
leo60228 c84bc14122 Android CI 2023-10-25 14:44:34 -07:00
AllyTally a537492d9c Remove NO_EDITOR/NO_CUSTOM_LEVELS, disable editor on Steam Deck
This commit removes the `NO_EDITOR` and `NO_CUSTOM_LEVELS` defines,
which cleans up the code a lot, and they weren't really needed anyways.

This commit also disables the editor on the Steam Deck, and adds a
program argument to re-enable the editor, `-enable-editor`.
2023-08-25 09:50:27 -07:00
Misa 923efe54d6 PR template: Add note on translations
For now, Terry has decided that translations can't be done by just
anyone. This note here should discourage at least some people from
making pull requests to add their own translations.
2023-06-12 14:06:23 -07:00
Dav999-v 0984e06546 CI: Include CMakeLists.txt in the cache
> CMake is re-running because D:/a/VVVVVV/VVVVVV/desktop_version
> /build_default/CMakeFiles/generate.stamp is out-of-date.
>   the file 'D:/a/VVVVVV/VVVVVV/desktop_version/CMakeLists.txt'
>   is newer than 'D:/a/VVVVVV/VVVVVV/desktop_version/build_default
>   /CMakeFiles/generate.stamp.depend'
>   result='-1'

"newer" probably means "the last edit date is newer because it was just
cloned", so let's see if including it in the cache means the last edit
date will be kept the same too... We can freely do this, as the cache
key includes the hash of the file itself.
2023-03-24 16:56:26 -07:00
Dav999-v 78c3696651 CI: Cache build folder on Windows
Since the initial `cmake -G "Visual Studio 17 2022" ..` seems to be a
real bottleneck on the Windows CI (sometimes taking multiple minutes
for seemingly no reason), cache the build folder based on the hash
of CMakeLists.txt. It should be possible to reuse the build folder if
CMakeLists hasn't changed, and if it does change (because someone adds
a source file or library or something), we'll just do that initial
cmake with -G once, and cache that version as well.

https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows
2023-03-24 16:56:26 -07:00
Dav999-v 62449dfa9a CI: Skip "Download SDL" step instead of using Test-Path, use cache@v3
For some reason, this test takes a dozen seconds or more. Maybe because
it needs to boot up powershell or something like that? No idea, but
it's just sitting there. The cache action has a return value that
indicates whether there was a cache hit, so there's no need to use
Test-Path, saving CI time.

EDIT: Maybe the SDL cache hasn't ever been working. It seems to cache
30 bytes (huh?) and the folder it caches is C:\SDL, not C:\SDL2-2.24.0
as the folder would look like. So it was probably downloading SDL every
time anyway?

Also, I upgraded the cache@v2 action to cache@v3. I added a cache@v3
myself and noticed this was still using cache@v2, so I figured, why not
future-proof it? And that's when I notice this warning: "Node.js 12
actions are deprecated. Please update the following actions to use
Node.js 16: actions/cache@v2." So it's pretty good timing.
2023-03-24 16:56:26 -07:00
Misa 69a31731ee Update SDL to 2.24.0 in Windows CI
I missed this because to check for all instances of 2.0.22, I did `rg -F
'2.0.22'`. But ripgrep doesn't search in hidden directories by default,
so the actual command to run is `rg -F. '2.0.22'`.
2022-08-22 23:47:49 -07:00
Misa 16ad8c531e Update to SDL 2.24.0
This updates all references to SDL 2.0.22 to SDL 2.24.0, including the
Docker container that I maintain for Linux CI.

Be warned, this release of SDL updates the versioning scheme to be less
dumb. The previous version is 2.0.22, this release is 2.24.0 (so the
last number can be properly used for patch-level version releases).
2022-08-21 16:07:51 -07:00
Misa eb46143098 Update SDL version to 2.0.22
2.0.22 just released 40 minutes ago.

This also updates the `Dockerfile` to use the URL from the GitHub
releases page, instead of SDL's servers.

I've also pushed a new Docker container to
`ghcr.io/infoteddy/vvvvvv-build`.
2022-04-25 13:09:57 -07:00
Misa 400763b7d7 CI: Use new container without SDL_mixer
Now that SDL_mixer is gone, I've built a new container without it. Just
to get rid of unused files in the CI system.
2022-03-24 17:52:09 -07:00
N00byKing f877eb3b56 Port to FAudio 2022-03-24 16:19:29 -07:00
Misa a168f73a67 Tell CI to clone submodules
Otherwise it will not find the source files, as they wouldn't exist if
they're not cloned.
2022-03-13 23:50:37 -07:00
Yussur Mustafa Oraji 0622035424 Update VS2019 to VS2022
Required for Actions workflow due to windows-latest Version Change
2022-03-08 07:16:46 -08:00
N00byKing adf2e5e3bd Build out-of-tree in workflows 2022-02-14 12:32:59 -08:00
Misa 23f91005d6 Windows CI build: Ditch vcpkg
This replaces vcpkg with simply downloading the pre-compiled
dependencies from official upstream releases. The rationale is that
vcpkg is sometimes really slow to update to the latest SDL version when
it releases, and also that it requires the runner to compile SDL every
single time it's instantiated, which is slow and wasteful.

Instead, download the pre-compiled binaries of SDL from its release page
on GitHub. This way, we don't have to compile it ourselves, and we
aren't waiting on vcpkg whenever SDL releases a new version. And for
good measure, cache it so we aren't downloading it _every_ time, which
is even more efficient.

The same can't be done for SDL_mixer, though, because it doesn't have a
GitHub release page with pre-compiled binaries. Instead, we'll download
them from libsdl.org, which is an infrastructure that takes more strain
than if we used GitHub instead. But, it shouldn't matter anyways,
because we cahe this too. And we are going to ditch SDL_mixer for FAudio
in 2.4 anyways, so it's a moot point either way.
2022-02-11 23:49:02 -08:00
Misa a43f5e1140 Update CI to CentOS container with SDL 2.0.20
I just built and pushed a new CentOS container that has SDL 2.0.20, so
updating it now.
2022-02-11 17:31:41 -05:00
Misa b677e7e39f Update CentOS CI container used to Misa's container
I have just built a new CentOS container based off of the updated
Dockerfile, which now has SDL 2.0.16 installed. This updates the CI to
point to the new container.
2021-09-23 12:26:50 -07:00
Misa ab59ec35fb Remove 2.3 example from pull request template
Mentioning 2.3 here is going to be anachronistic when 2.4 exists. And
there's not really any point in bumping this version number every time
the game's version number is bumped as well. So it's best to just remove
it.
2021-03-24 14:36:33 -07:00
leo60228 89886e6c52
Run CI on CentOS 7 (#574) 2021-01-11 00:30:15 -05:00
Misa 054c24a7c2 Add official, M&P, no custom levels, and no editor builds to CI
CI builds were added to this repository on the first day it was
released, and haven't really been touched since then. And since then,
2.3 has added NO_CUSTOM_LEVELS, NO_EDITOR, and OFFICIAL_BUILD builds to
the CMake file.

On top of the MAKEANDPLAY define already existing, this means CI
coverage is a bit sparse - covering compile failures for changes made to
most of the codebase, except for Steam and GOG, and not covering compile
failures if certain parts of the code get stripped out. And people do
forget to check for those configurations as well.

These mess of configurations is kind of a wake-up call to refactor and
generalize the code a bit, because we would probably be able to get rid
of at least two of these (Make & Play, and no-custom-levels) by making
it so custom levels behave indistinguishably from the main game. But,
that's something to do in 2.4. At the very least, we should cover these
in CI right now.

On a small note, I had to add a MAKEANDPLAY configure option to the
CMake file to be able to easily configure a Make & Play build from the
CI runner. This option shouldn't really be used otherwise, so I added a
note to it telling people to consider modifying MakeAndPlay.h instead.
2020-12-27 11:18:54 -05:00
Ethan Lee f444e74550
Mention the in-game credits for the Legal Stuff 2020-04-24 12:52:11 -04:00
Thomas Sänger 00d6084901 switch position of Legal Stuff & Changes 2020-01-16 09:48:58 -05:00
ePirat bc64d027d2 Add CI
Co-authored-by: Charlie Bruce <charliebruce@gmail.com>
2020-01-12 19:22:07 -05:00
Ethan Lee f7c0321b71 Hello WWWWWWorld! 2020-01-08 10:37:50 -05:00