コミットグラフ

46 コミット

作成者 SHA1 メッセージ 日付
Luke Usher 762a2302f7
ci: set windows image to windows-2019
Attempting to workaround broken clang in windows-latest (2022)
2024-06-11 10:26:18 +01:00
shinra-electric 4f834bd506
CI: Update cache and checkout to v4 (#1478)
- Updates `checkout` from v2 to v4
- Updates `cache` from v3 to v4

Reasons for change: 
- Checkout@v2 runs on node 12, which has been
[discontinued](https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/)
- Checkout@v3 runs on node 16 and has also reached its [end of
life](https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/),
so skip it entirely.
- Cache@v3 runs on node 16 as well, so update to v4 for the same reason.

Testing: 
- Ensure CI passes
- Check that warnings regarding `checkout` and `cache` are gone
2024-05-04 09:33:58 +01:00
shinra-electric f94e053767
CI: Update upload-artifact and download-artifact to use v4 (#1472)
- v2 will be unavailable from the end of June 2024
- v4 can be up to 98% faster than previous versions according to
[Github's
notification](https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/)

This PR only changes the version number, and I'm submitting it to see if
it works.
It is possible that further changes are necessary, as there were some
[breaking
changes](https://github.com/actions/upload-artifact?tab=readme-ov-file#breaking-changes),
but I don't think any of them apply to ares.

Testing: 
- See if CI passes
- See if warnings regarding using v2 of `upload-artifact` and
`download-artifact` are gone (There will still be other warnings
regarding `checkout` and `cache`)
- (Optional) Compare times for the tasks using `upload-artifact` and
`download-artifact` with previous CI runs
2024-05-03 11:13:55 +01:00
jcm bf5536cb18
CI: Fix macOS build name errors for release action (#1468)
#1463 renamed the `macos` build to `macos-latest` and introduced
`macos-compat`. We need to address the rename in the release workflow. I
believe this PR accounts for every use of the package name. Also adds
macos-compat to the release (for now).

Co-authored-by: jcm <butt@butts.com>
2024-05-01 19:49:32 +01:00
jcm caecd0bca2
infra: update macOS build scripts and SDK, bump MoltenVK to 1.2.7 (#1463)
This PR does a few things:

- Updates ares to create macOS builds with the latest SDK. After
65264090b0
there are no longer any outstanding issues doing so. Importantly, we use
Xcode 15.2, since prior versions have issues with weak linking.
- Adds `macos-compat` to CI as a compatibility build that maintains
macOS 10.9 to 10.13 compatibility. The `macos-latest` runner will target
10.13 and above. The only difference with this build is the SDK version
used to build it (Xcode 13.4); macOS weak linking handles the rest.
- Increments the MoltenVK version to 1.2.7. The version ares was
building required a Python library `distutils` that is no longer
trivially available with newer Python versions.
- Refactors the `xcode-select` usage reserved for GitHub Actions out of
the SDL script and up to the top level, before any dependency scripts
are run. This is just tidying up.
- Improves the librashader build script warning to specify that you need
to add a target with the nightly toolchain to build librashader (from
@rasky)
- Unbreaks the build.

This PR has been tested and verified to build in a local branch, but to
be safe, it would probably be good to run it here as well.

Co-authored-by: jcm <butt@butts.com>
2024-05-01 11:14:45 +01:00
Luke Usher 71302c0938 shaders: switch to slang-shaders rather than quark shaders via librashader 2024-02-25 12:05:36 +00:00
jcm 9e4b3795f1
build: add macOS SDL to thirdparty, add .dylib to bundle (#1345)
### Description

Adds SDL (properly) to Mac builds.

This time, it has been added as a fully fledged optional dependency in
`thirdparty`, à la MoltenVK, and built from source before ares. We build
from source because brew installations are both single-architecture and
not fully portable.

The .dylib is copied inside the app bundle when linking, at the same
stage as MoltenVK.

The initialization of `ares.dylibs` has been moved from ares's Makefile
to the `desktop-ui` Makefile so that it's initialized when building
ruby, which it wasn't previously.

The SDL build is also added to CI, with the same caching methods as used
for MVK.

### Relevant Details

`HEAD` points at SDL 2.28.5 currently, which is the most recent stable
release. This should probably be periodically incremented as
appropriate.

~~SDL is currently built with the macOS deployment target of 10.13.
While SDL's minimum supported macOS version is 10.11, ares CI is using
Xcode 14.2, which has a minimum deployment target of 10.13. I am
currently testing to see if I can get the deployment target lower
without breaking other parts of ares's CI.~~ resolved, per below; SDL
supporting 10.11 is built + bundled.

### Testing

This has been tested to build properly locally and via GitHub CI. The
.dylib is packaged inside the bundle correctly and SDL functions
correctly in my testing, even if the user does not have SDL installed
elsewhere on their system.

This is seeking tests from other Mac users, especially on older
operating systems, to verify that SDL works correctly there.

Co-authored-by: jcm <butt@butts.com>
2023-12-28 09:24:04 +00:00
invertego 6d5ef628e8
ci: disable sdl2 on macOS to unbreak the build (#1343)
More work is required to support building universal binaries.
2023-12-12 23:38:21 +00:00
invertego 8f626e304a
ci: build resiliency tweaks (#1322)
Disable "fast fail" so jobs will run to completion even if others fail.
The workflow as a whole will still fail, but the jobs that succeed will
produce downloadable artifacts.

Secondly, allow the "macOS: Import Certificate" step to fail on forks.
This allows CI to function on forks without any other setup, though the
produced macOS builds won't run actually run unless you re-sign them.
2023-12-04 12:02:26 +00:00
Luke Usher 2a819403db ci: pass local=false and build=optimised to macos builds
Fixes an issue where release builds for macOS were optimised for the compiling machine rather than for distribution.
2023-11-29 16:23:36 +00:00
Luke Usher 6fbea44d3d
ci: install setuptools in macos environment
The latest macOS runner updated the version of python to 3.12.0.

This removes the deprecated distutils core module, requiring the "setuptools" package to be installed to provide it.

distutils is a dependency of MoltenVK.
2023-11-07 10:22:54 +00:00
Luke Usher de57072f83
ci: switch to wpilibsuite mirror of import-signing-certificate
We still make sure to use the same commit id, so that we don't get any unexpected changes in this transition.
2023-08-23 14:57:06 +01:00
Luke Usher beaab1791a build: include pkg-config for package detection on CI 2023-08-09 20:06:44 +01:00
Luke Usher cc6b26c8d7 build: attempt to fix aarch64 windows builds 2023-08-09 20:03:04 +01:00
Luke Usher a5319fdc07 build: attempt to fix aarch64 windows builds 2023-08-09 20:01:35 +01:00
Luke Usher c2c3c0f0f8 ruby: enable SDL2 input driver on all platforms
NOTE: This currently only works for mingw/msys environments on Windows;
building in a Windows CLI/visual studio will currently not use SDL2.
2023-08-09 19:54:37 +01:00
Luke Usher 8feff4afa3 build: default to gtk3 on linux
gtk2 is aging now and not available out of the box on many current distros
2023-06-29 11:30:25 +01:00
Luke Usher bafa58534a ci: package ares-windows build 2023-06-20 09:05:17 +01:00
Luke Usher 8ddd630850 build: default to ares-windows builds
These have tested as higher performance than other builds as of late
2023-06-19 21:53:30 +01:00
Luke Usher 4aa3b27de2 build: remove msvc/msbuild for now
While I am happy we did the work to support this, having multiple
build systems does make it harder for contributions to be made

We can restore msbuild CI tests once (if) we eventually switch
to cmake.
2023-03-13 20:56:59 +00:00
invertego 32bfb2ed08 ci: add builds for make+cl and msbuild 2023-03-13 11:21:26 +00:00
invertego 3a6113846f ci: simplify mingw arm64 build setup
- Because clangarm64 is now a default enabled package source, there is
  no need to edit pacman.conf.
- Because there is no need to edit pacman.conf, there is no need to sync
  the package database.
- Because there is no need to sync the package database, there is no
  need to update the initial set of installed packages to prevent
  version mismatches.
- Install the "clang" package in favor of the "toolchain" package group
  as none of the extra packages are needed by ares.
2023-02-28 10:25:43 +00:00
Luke Usher 68fe9514bf
ci: fix packaging of new msvc zips 2022-12-19 16:23:21 +00:00
Luke Usher 67a9b0ec1a
ci: publish msvc compiled artifacts 2022-12-19 15:39:57 +00:00
invertego 0d02303de6 ci: add Clang + MSVC builds 2022-12-19 15:35:57 +00:00
Luke Usher 98ea150bce
ci: remove libgtksourceview2.0-dev
This is no longer present in ubuntu 22.04.
2022-11-23 08:12:16 +00:00
invertego feff5bf56c build: add windows arm64 CI build
Two things are making this a bit more complicated than it ought to be:
- The msys2 clangarm64 package repository is not enabled by default
  because it is still considered 'experimental'
- Cross-compiling requires that you manually override the runtime
  library directory for the 'builtins' lib to be located

Both of these issues are known and should be addressed eventually.
2022-10-21 09:32:44 +01:00
Giovanni Bajo 40b8728b1f Avoid codesigning/notarization when building from PRs 2022-10-12 09:04:37 +01:00
Giovanni Bajo a238a7e754 ci: cache MoltenVK builds to speed up CI 2022-09-30 15:12:35 +01:00
Giovanni Bajo 299d211ab1 ci: add signing on Windows 2022-09-30 15:12:35 +01:00
Giovanni Bajo fc2278486e ci: reactivate moltenvk build 2022-09-29 23:12:43 +01:00
Giovanni Bajo f7d5a87667 ci: add macOS notarization 2022-09-29 22:52:27 +01:00
Luke Usher f593b12416 ci: switch exclusively to clang for windows builds 2022-09-27 22:24:10 +01:00
Giovanni Bajo b482344691 Build universal macOS app on CI 2022-09-26 00:43:45 +01:00
Giovanni Bajo 30724164be Build MoltenVK on mac builders 2022-09-26 00:43:45 +01:00
Luke Usher 1a498d64c9
ci: remove broken subtree split workflow 2022-09-05 15:48:39 +01:00
Luke Usher c2f58d1c79
Update split-subtrees.yml 2022-09-05 15:43:27 +01:00
Luke Usher 2b9fcab30f ci/desktop-ui: disable lto by default
The added compile time is not worth it when for many users this harms performance, rather than improving it.

TODO: Why?
2022-07-31 22:11:42 +01:00
Luke Usher c4d73cc427
Update split-subtrees.yml
Debugging CI action
2022-01-12 11:26:05 +00:00
Luke Usher 8634c11cff
Update split-subtrees.yml 2022-01-12 11:22:37 +00:00
Luke Usher 8a5c48e3ed
add split-subtrees github action 2022-01-12 11:18:27 +00:00
invertego a10e089100 ci: use MSYS2 on Windows, add Windows/Clang build
This change upgrades GCC from the version preinstalled by GitHub Actions
(8.1.0) to the latest MSYS2 version (10.3.0). It also adds a
Windows/Clang build configuration, though the release job still
grabs the GCC build.
2021-10-16 18:59:50 +01:00
Luke Usher c2fcacb331 n64: maintain parallel-rdp as a subtree 2021-08-06 10:52:33 +01:00
Luke Usher 189487a2ca rename lucia -> desktop-ui/ares
To avoid/reduce confusion, the ares gui (lucia) has been renamed  to
desktop-ui.

The executable name/install name/settings directory are named ares.
2021-08-04 21:50:08 +01:00
Luke Usher 9ac22b34fa
ci: disable Linux release publishing
We should still verify Linux builds are compiling, but Linux users should self-compile or use distro-specific packages.
2021-07-06 09:56:41 +01:00
Luke Usher cb4a79e8c1
ci: introduce ci + 'nightlies' 2021-07-06 01:54:06 +01:00