From 96df8461380ab783e4297bf22c65aa46115d32cf Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 24 Feb 2024 15:28:23 +0000 Subject: [PATCH] Workflow: Remove linux-legacy release --- .github/workflows/release-linux-legacy.yml | 206 --------------------- .github/workflows/release.yml | 10 - 2 files changed, 216 deletions(-) delete mode 100644 .github/workflows/release-linux-legacy.yml diff --git a/.github/workflows/release-linux-legacy.yml b/.github/workflows/release-linux-legacy.yml deleted file mode 100644 index 5baec7b7c3..0000000000 --- a/.github/workflows/release-linux-legacy.yml +++ /dev/null @@ -1,206 +0,0 @@ -name: Release (Linux, Legacy) - -on: - workflow_call: - inputs: - survey_key: - required: false - type: string - default: "" - -jobs: - linux: - name: Linux (Legacy) - - runs-on: ubuntu-latest - container: - # manylinux2014 is based on CentOS 7, and already has a lot of things - # installed and preconfigured. It makes it easier to build OpenTTD. - # This distro is based on glibc 2.17, released in 2012. - image: quay.io/pypa/manylinux2014_x86_64 - - steps: - - name: Download source - uses: actions/download-artifact@v3 - with: - name: internal-source - - - name: Unpack source - run: | - tar -xf source.tar.gz --strip-components=1 - - # curl is too old for most of the tools to work properly. For example, - # rust-toolchain doesn't work properly, neither vcpkg caching. - # The easier solution here is to upgrade curl. - - name: Update curl - run: | - yum install -y \ - openssl-devel \ - # EOF - - mkdir /curl - cd /curl - curl -o curl-7.81.0.zip https://curl.se/download/curl-7.81.0.zip - unzip curl-7.81.0.zip - cd curl-7.81.0 - ./configure --with-ssl --with-zlib --prefix=/usr --libdir=/usr/lib64 - make -j $(nproc) - make install - - - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@stable - - - name: Enable Rust cache - uses: Swatinem/rust-cache@v2.7.0 - with: - key: legacy - - - name: Setup vcpkg caching - uses: actions/github-script@v6 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - core.exportVariable('VCPKG_BINARY_SOURCES', 'clear;x-gha,readwrite') - - - name: Install dependencies - run: | - echo "::group::Install system dependencies" - # perl-IPC-Cmd, wget, and zip are needed to run vcpkg. - # autoconf-archive is needed to build ICU. - yum install -y \ - autoconf-archive \ - perl-IPC-Cmd \ - wget \ - zip \ - # EOF - - # aclocal looks first in /usr/local/share/aclocal, and if that doesn't - # exist only looks in /usr/share/aclocal. We have files in both that - # are important. So copy the latter to the first, and we are good to - # go. - cp /usr/share/aclocal/* /usr/local/share/aclocal/ - echo "::endgroup::" - - # The yum variant of fluidsynth depends on all possible audio drivers, - # like jack, ALSA, pulseaudio, etc. This is not really useful for us, - # as we route the output of fluidsynth back via our sound driver, and - # as such do not use these audio driver outputs at all. - # The vcpkg variant of fluidsynth depends on ALSA. Similar issue here. - # So instead, we compile fluidsynth ourselves, with as few - # dependencies as possible. We do it before anything else is installed, - # to make sure it doesn't pick up on any of the drivers. - echo "::group::Install fluidsynth" - wget https://github.com/FluidSynth/fluidsynth/archive/v2.3.3.tar.gz - tar xf v2.3.3.tar.gz - ( - cd fluidsynth-2.3.3 - mkdir build - cd build - cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr - cmake --build . -j $(nproc) - cmake --install . - ) - - # The container we use is old enough, that it doesn't know SHF_COMPRESSED. - # But, breakpad needs this symbol to exist. So we patch it in our system - # libraries. - ( - cd / - patch -p1 < ${GITHUB_WORKSPACE}/os/linux/shf-compressed.patch - ) - echo "::endgroup::" - - echo "::group::Install audio drivers" - # These audio libs are to make sure the SDL version of vcpkg adds - # sound-support; these libraries are not added to the resulting - # binary, but the headers are used to enable them in SDL. - yum install -y \ - alsa-lib-devel \ - jack-audio-connection-kit-devel \ - pulseaudio-libs-devel \ - # EOF - echo "::endgroup::" - - echo "::group::Install video drivers" - # These video libs are to make sure the SDL version of vcpkg adds - # video-support; these libraries are not added to the resulting - # binary, but the headers are used to enable them in SDL. - yum install -y \ - libX11-devel \ - libXcursor-devel \ - libXext-devel \ - libXfixes-devel \ - libXi-devel \ - libxkbcommon-devel \ - libXrandr-devel \ - libXScrnSaver-devel \ - # EOF - echo "::endgroup::" - - # We use vcpkg for our dependencies, to get more up-to-date version. - echo "::group::Install vcpkg and dependencies" - - git clone https://github.com/microsoft/vcpkg /vcpkg - - ( - cd /vcpkg - ./bootstrap-vcpkg.sh -disableMetrics - ) - - # Make Python3 available for other packages. This needs to be done - # first, as otherwise dependencies fail to build because Python3 is - # not available. - ( - cd / - - /vcpkg/vcpkg install python3 - ln -sf /vcpkg/installed/x64-linux/tools/python3/python3.[0-9][0-9] /usr/bin/python3 - ) - echo "::endgroup::" - - - name: Patch bundle name - run: | - sed -i 's/generic/legacy/g' cmake/InstallAndPackage.cmake - - - name: Build - run: | - mkdir -p build - cd build - - echo "::group::CMake" - cmake ${GITHUB_WORKSPACE} \ - -DCMAKE_TOOLCHAIN_FILE=/vcpkg/scripts/buildsystems/vcpkg.cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DOPTION_COMPRESS_DEBUG=ON \ - -DOPTION_LTO=ON \ - -DOPTION_TRIM_PATH_PREFIX=ON \ - -DOPTION_SURVEY_KEY=${{ inputs.survey_key }} \ - -DOPTION_PACKAGE_DEPENDENCIES=ON \ - # EOF - echo "::endgroup::" - - echo "::group::Build" - echo "Running on $(nproc) cores" - cmake --build . -j $(nproc) --target openttd - echo "::endgroup::" - - - name: Create bundles - run: | - cd ${GITHUB_WORKSPACE}/build - echo "::group::Run CPack" - cpack - echo "::endgroup::" - - echo "::group::Cleanup" - # Remove the sha256 files CPack generates; we will do this ourself at - # the end of this workflow. - rm -f bundles/*.sha256 - echo "::endgroup::" - - - name: Store bundles - uses: actions/upload-artifact@v3 - with: - name: openttd-linux-legacy - path: build/bundles - retention-days: 5 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bf547910ec..348b499398 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,16 +31,6 @@ jobs: with: version: ${{ needs.source.outputs.version }} - linux-legacy: - name: Linux (Legacy) - needs: source - - uses: ./.github/workflows/release-linux-legacy.yml - secrets: inherit - - with: - survey_key: ${{ needs.source.outputs.survey_key }} - linux: name: Linux (Generic) needs: source