Codechange: [CI] Use runner vcpkg in release-linux workflow

This commit is contained in:
glx22 2023-11-29 17:39:39 +01:00 committed by Loïc Guilloux
parent b1f98a79f8
commit e2c5eb3b65
1 changed files with 28 additions and 35 deletions

View File

@ -17,6 +17,11 @@ jobs:
# manylinux2014 is based on CentOS 7, but already has a lot of things
# installed and preconfigured. It makes it easier to build OpenTTD.
image: quay.io/pypa/manylinux2014_x86_64
volumes:
- /usr/local/share/vcpkg:/vcpkg
env:
ImageOS: ${{ env.ImageOS }}
ImageVersion: ${{ env.ImageVersion }}
steps:
- name: Download source
@ -41,13 +46,18 @@ jobs:
- name: Enable Rust cache
uses: Swatinem/rust-cache@v2
- name: Prepare cache key
id: key
run: |
echo "image=$ImageOS-$ImageVersion" >> $GITHUB_OUTPUT
- name: Enable vcpkg cache
uses: actions/cache@v3
with:
path: /vcpkg/installed
key: ubuntu-20.04-vcpkg-release-1 # Increase the number whenever dependencies are modified
key: ${{ steps.key.outputs.image }}-vcpkg-release-1 # Increase the number whenever dependencies are modified
restore-keys: |
ubuntu-20.04-vcpkg-release
${{ steps.key.outputs.image }}-vcpkg-release
- name: Install dependencies
run: |
@ -103,40 +113,23 @@ jobs:
# We use vcpkg for our dependencies, to get more up-to-date version.
echo "::group::Install vcpkg and dependencies"
# We do a little dance to make sure we copy the cached install folder
# into our new clone.
git clone --depth=1 https://github.com/microsoft/vcpkg /vcpkg-clone
if [ -e /vcpkg/installed ]; then
mv /vcpkg/installed /vcpkg-clone/
rm -rf /vcpkg
fi
mv /vcpkg-clone /vcpkg
# Make Python3 available for other packages.
/vcpkg/vcpkg install python3
ln -sf /vcpkg/installed/x64-linux/tools/python3/python3.[0-9][0-9] /usr/bin/python3
(
cd /vcpkg
./bootstrap-vcpkg.sh -disableMetrics
# Once installed (and cached) a package will never be upgraded unless we do it ourselves.
./vcpkg upgrade --no-dry-run
# Make Python3 available for other packages.
./vcpkg install python3
ln -sf $(pwd)/installed/x64-linux/tools/python3/python3.[0-9][0-9] /usr/bin/python3
./vcpkg install \
breakpad \
curl[http2] \
fontconfig \
freetype \
harfbuzz \
icu \
liblzma \
libpng \
lzo \
sdl2 \
zlib \
# EOF
)
/vcpkg/vcpkg install \
breakpad \
curl[http2] \
fontconfig \
freetype \
harfbuzz \
icu \
liblzma \
libpng \
lzo \
sdl2 \
zlib \
# EOF
echo "::endgroup::"
echo "::group::Install breakpad dependencies"