on push only #624
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
# Trigger the workflow on any pull request, push or manual dispatch | |
on: [pull_request, push, workflow_dispatch] | |
jobs: | |
windows: | |
strategy: | |
matrix: | |
platform: [win32, x64, arm64] | |
name: windows-${{ matrix.platform }} | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
id: cache-dxfiles | |
with: | |
path: utils/DXFiles | |
key: dxfiles-0001 | |
- name: Download DirectX | |
if: steps.cache-dxfiles.outputs.cache-hit != 'true' | |
run: Invoke-WebRequest https://mirror-cdn.multitheftauto.com/bdata/DXFiles.zip -OutFile utils/DXFiles.zip | |
shell: powershell | |
- name: Extract DirectX | |
if: steps.cache-dxfiles.outputs.cache-hit != 'true' | |
run: Expand-Archive -Path utils/DXFiles.zip -DestinationPath utils/DXFiles | |
shell: powershell | |
- name: Install CEF | |
run: utils\premake5 install_cef | |
- name: Install data files | |
run: utils\premake5 install_data | |
- name: Run Build | |
run: win-build.bat release ${{ matrix.platform }} | |
shell: cmd | |
env: | |
DXSDK_DIR: './utils/DXFiles/' | |
CI: 'true' | |
- name: Create build artifacts | |
run: utils\premake5 compose_files | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: InstallFiles-${{ matrix.platform }} | |
path: InstallFiles/ | |
macOS: | |
name: macOS | |
runs-on: macOS-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install MySQL | |
run: brew install mysql | |
continue-on-error: true | |
- name: Link MySQL | |
run: brew link --overwrite mysql | |
- name: Run Build | |
run: ./linux-build.sh --os=macosx | |
linux: | |
strategy: | |
matrix: | |
architecture: [x64, arm64] | |
include: | |
- architecture: x64 | |
image-tag: latest | |
- architecture: arm64 | |
image-tag: arm64 | |
name: linux-${{ matrix.architecture }} | |
runs-on: ubuntu-latest | |
container: | |
image: docker://ghcr.io/multitheftauto/mtasa-blue-build:${{ matrix.image-tag }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run Build | |
run: ./linux-build.sh --arch=${{ matrix.architecture }} |