diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..3c8e404 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,86 @@ +name: Build + +on: + workflow_dispatch: + push: + branches: + - "*" + - "*/*" + - "**" + pull_request: + branches: + - "*" + - "*/*" + - "**" +env: + PLUGIN_VERSION: 1.5.1 + +jobs: + build-windows-release: + runs-on: windows-2019 + steps: + - uses: actions/checkout@v3 + with: + clean: true + submodules: recursive + fetch-depth: 0 + + - name: Setup Python + uses: actions/setup-python@v2 + + - name: Install CMake + uses: lukka/get-cmake@v.3.23.2 + + - name: Generate build files + run: | + mkdir build + cd build + cmake -DCMAKE_BUILD_TYPE=Release .. -G "Visual Studio 16 2019" -A Win32 + cmake --build . --config Release + + - name: Upload artifacts (part 1) + uses: actions/upload-artifact@v3 + with: + name: pawnraknet-${{ env.PLUGIN_VERSION }}-win32 + path: build/Release/pawnraknet.dll + + - name: Upload artifacts (part 2) + uses: actions/upload-artifact@v3 + with: + name: pawnraknet-${{ env.PLUGIN_VERSION }}-win32 + path: src/Pawn.RakNet.inc + + build-linux-release: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v3 + with: + clean: true + submodules: recursive + fetch-depth: 0 + + - name: Install packages + run: sudo apt-get install g++-multilib + + - name: Setup Python + uses: actions/setup-python@v2 + + - name: Install CMake + uses: lukka/get-cmake@v.3.23.2 + + - name: Generate build files + run: mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32 + + - name: Build + run: | + cd build + cmake --build . --config Release + + - name: Create artifact + run: tar -czf pawnraknet-$PLUGIN_VERSION-linux.tar.gz -C build pawnraknet.so -C ../src Pawn.RakNet.inc + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: pawnraknet-${{ env.PLUGIN_VERSION }}-linux + path: pawnraknet-${{ env.PLUGIN_VERSION }}-linux.tar.gz