aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorymatrix1 <10088631+ymatrix1@users.noreply.github.com>2026-11-02 04:43:12 -0300
committerGitHub <noreply@github.com>2026-11-02 08:43:12 +0100
commit6184688806f379f27b04b8f774f702dceaeaa5a3 (patch)
tree1db190399eb40e6b4248f1c954c8db55f0c591c3 /.github
parent46b2577bf78870ed85cbb790a9dc3c82cc77f4a7 (diff)
ci: optimize caching, dependencies, and modernize actions to Node 24 (#263)
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/release-binaries.yml27
1 files changed, 14 insertions, 13 deletions
diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml
index 0871a57877..2a4e092f75 100644
--- a/.github/workflows/release-binaries.yml
+++ b/.github/workflows/release-binaries.yml
@@ -42,8 +42,9 @@ jobs:
runs-on: ${{ matrix.runner }}
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
- CCACHE_MAXSIZE: 1500M
+ CCACHE_MAXSIZE: 3000M
SCCACHE_DIR: ${{ github.workspace }}/.sccache
+ SCCACHE_CACHE_SIZE: 3G
strategy:
fail-fast: false
matrix:
@@ -72,7 +73,7 @@ jobs:
steps:
- name: Check out source
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
- name: Install Linux dependencies
if: startsWith(matrix.platform, 'linux')
@@ -87,7 +88,9 @@ jobs:
libswscale-dev pkg-config zlib1g-dev libva-dev libvdpau-dev \
spirv-tools spirv-headers libusb-1.0-0-dev \
libboost-dev libboost-fiber-dev libboost-context-dev \
- libopus-dev libasound2-dev ccache
+ libopus-dev libasound2-dev ccache \
+ libxcb-cursor0 libxcb-icccm4 libxcb-image0 \
+ libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-xinerama0 libxcb-xkb1
# The packages docs/Deps.md lists for macOS, plus ccache.
- name: Install macOS dependencies
@@ -196,6 +199,7 @@ jobs:
with:
msystem: UCRT64
update: true
+ cache: true
install: >-
git make autoconf libtool automake-wrapper patch jq pactoys ninja
pacboy: >-
@@ -207,7 +211,7 @@ jobs:
lerc:p graphite2:p libwebp:p libtiff:p brotli:p ccache:p
- name: Cache CPM downloads
- uses: actions/cache@v4
+ uses: actions/cache@v5
with:
path: .cache/cpm
key: cpm-${{ runner.os }}-${{ hashFiles('cpmfile.json', 'CMakeLists.txt', 'src/**/CMakeLists.txt') }}
@@ -217,7 +221,7 @@ jobs:
# The sha in the key makes every run save a fresh cache (actions/cache never saves over an
# exact hit), and restore-keys seeds it from the newest one of the same platform.
- name: Cache compiler objects
- uses: actions/cache@v4
+ uses: actions/cache@v5
with:
path: |
.ccache
@@ -369,9 +373,6 @@ jobs:
set -euo pipefail
test -x build/release/bin/eglantine
test -x build/release/bin/eden-cli
- # Libraries Qt's xcb platform plugin needs, so linuxdeploy can resolve and bundle them.
- sudo apt-get install -y --no-install-recommends libxcb-cursor0 libxcb-icccm4 libxcb-image0 \
- libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-xinerama0 libxcb-xkb1
tools="$RUNNER_TEMP/linuxdeploy"
mkdir -p "$tools"
arch=$(uname -m) # aarch64 or x86_64
@@ -508,7 +509,7 @@ jobs:
# zip gave a zip inside a zip. The release job zips it once for the release.
- name: Upload Windows binary
if: matrix.platform == 'windows-x86_64'
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
name: eglantine-${{ matrix.platform }}-${{ github.sha }}
path: build/release/bin/
@@ -517,7 +518,7 @@ jobs:
- name: Upload MinGW binary
if: matrix.mingw
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
name: eglantine-${{ matrix.platform }}-${{ github.sha }}
path: build/release/bin/
@@ -527,7 +528,7 @@ jobs:
# Both Linux files go in one artifact: the tar.gz and the AppImage.
- name: Upload Linux binary
if: startsWith(matrix.platform, 'linux')
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
name: eglantine-${{ matrix.platform }}-${{ github.sha }}
path: |
@@ -540,7 +541,7 @@ jobs:
# Zipped with ditto beforehand: the bundle's framework symlinks don't survive artifact zipping.
- name: Upload macOS app
if: startsWith(matrix.platform, 'macos')
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
name: eglantine-${{ matrix.platform }}-${{ github.sha }}
path: |
@@ -562,7 +563,7 @@ jobs:
contents: write
steps:
- name: Download binaries
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v7
with:
pattern: eglantine-*-${{ github.sha }}
path: artifacts