name: Linux on: [push] env: VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" VCPKG_FORCE_SYSTEM_BINARIES: 1 CMAKE_BUILD_TYPE: "Release" DEBIAN_FRONTEND: "noninteractive" jobs: x86_64-matrix: runs-on: ubuntu-22.04 strategy: matrix: include: - distro: debian version: 11 - distro: debian version: 12 - distro: ubuntu version: 22.04 - distro: ubuntu version: 20.04 container: image: ${{ matrix.distro }}:${{ matrix.version }} steps: - name: get-cmake uses: lukka/get-cmake@v3.28.1 - name: Export GitHub Actions cache environment variables 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 || ''); - name: Install git run: | apt-get update -y apt-get install -y git - uses: actions/checkout@v2 with: submodules: 'recursive' - name: Git config safe directory shell: bash run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/1.5-git-safe.sh - name: Install Dependencies run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/1-install-deps.sh - name: Create Build Environment run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/2-configure.sh '-DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake' - name: Build Launcher run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/3-build.sh - name: Archive launcher artifact uses: actions/upload-artifact@v2 with: name: BeamMP-Launcher.${{ matrix.distro }}.${{ matrix.version }}.x86_64 path: ./bin/BeamMP-Launcher - name: Archive launcher debug info artifact uses: actions/upload-artifact@v2 with: name: debuginfo.${{ matrix.distro }}.${{ matrix.version }}.x86_64 path: ./bin/BeamMP-Launcher.debug - name: Build Tests run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/3-build-tests.sh - name: Install Runtime Dependencies run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/4-install-runtime-deps.sh - name: Test run: ./bin/BeamMP-Launcher-tests # arm64-matrix: # runs-on: [Linux, ARM64] # env: # VCPKG_DEFAULT_TRIPLET: "arm64-linux" # strategy: # matrix: # include: # - distro: debian # version: 11 # - distro: debian # version: 12 # - distro: ubuntu # version: 22.04 # - distro: ubuntu # version: 20.04 # container: # image: ${{ matrix.distro }}:${{ matrix.version }} # steps: # - name: get-cmake # uses: lukka/get-cmake@v3.28.1 # # - name: Export GitHub Actions cache environment variables # 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 || ''); # # - name: Install git # run: | # apt-get update -y # apt-get install -y git # # - uses: actions/checkout@v2 # with: # submodules: 'recursive' # # - name: Git config safe directory # shell: bash # run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/1.5-git-safe.sh # # - name: Install Dependencies # run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/1-install-deps.sh # # - name: Create Build Environment # run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/2-configure.sh '-DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake' # # - name: Build Launcher # run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/3-build.sh # # - name: Archive launcher artifact # uses: actions/upload-artifact@v2 # with: # name: BeamMP-Launcher.${{ matrix.distro }}.${{ matrix.version }}.arm64 # path: ./bin/BeamMP-Launcher # # - name: Archive launcher debug info artifact # uses: actions/upload-artifact@v2 # with: # name: debuginfo.${{ matrix.distro }}.${{ matrix.version }}.arm64 # path: ./bin/BeamMP-Launcher.debug # # - name: Build Tests # run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/3-build-tests.sh # # - name: Install Runtime Dependencies # run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/4-install-runtime-deps.sh # # - name: Test # run: ./bin/BeamMP-Launcher-tests #