Changeset - r28208:ccfbd165730f
[Not reviewed]
master
0 1 0
glx22 - 12 months ago 2023-11-29 16:39:39
glx@openttd.org
Codechange: [CI] Use runner vcpkg in release-linux workflow
1 file changed with 28 insertions and 35 deletions:
0 comments (0 inline, 0 general)
.github/workflows/release-linux.yml
Show inline comments
 
@@ -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
 

	
 
        (
 
          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/vcpkg install python3
 
        ln -sf /vcpkg/installed/x64-linux/tools/python3/python3.[0-9][0-9] /usr/bin/python3
 

	
 
          # 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"
0 comments (0 inline, 0 general)