name: CMake Linux Build on: [push] env: BUILD_TYPE: Release jobs: linux-build: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 with: submodules: "recursive" - name: Install Dependencies env: beammp_sentry_url: ${{ secrets.BEAMMP_SECRET_SENTRY_URL }} run: | echo ${#beammp_sentry_url} sudo apt-get update sudo apt-get install -y libz-dev rapidjson-dev liblua5.3 libssl-dev libwebsocketpp-dev libcurl4-openssl-dev cmake g++-10 libboost1.74-all-dev - name: Create Build Environment run: cmake -E make_directory ${{github.workspace}}/build-linux - name: Configure CMake shell: bash working-directory: ${{github.workspace}}/build-linux env: beammp_sentry_url: ${{ secrets.BEAMMP_SECRET_SENTRY_URL }} run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_COMPILER=g++-10 -DBEAMMP_SECRET_SENTRY_URL="$beammp_sentry_url" - name: Build Server working-directory: ${{github.workspace}}/build-linux shell: bash run: cmake --build . --config $BUILD_TYPE -t BeamMP-Server --parallel - name: Build Tests working-directory: ${{github.workspace}}/build-linux shell: bash run: cmake --build . --config $BUILD_TYPE -t BeamMP-Server-tests --parallel - name: Archive server artifact uses: actions/upload-artifact@v2 with: name: BeamMP-Server-linux path: ${{github.workspace}}/build-linux/BeamMP-Server - name: Archive test artifact uses: actions/upload-artifact@v2 with: name: BeamMP-Server-linux-tests path: ${{github.workspace}}/build-linux/BeamMP-Server-tests run-tests: needs: linux-build runs-on: ubuntu-22.04 steps: - uses: actions/download-artifact@master with: name: BeamMP-Server-linux-tests path: ${{github.workspace}} - name: Install Runtime Dependencies shell: bash run: | sudo apt-get update sudo apt-get install -y liblua5.3-0 libssl3 curl - name: Test working-directory: ${{github.workspace}} shell: bash run: | chmod +x ./BeamMP-Server-tests ./BeamMP-Server-tests