last tweaks #52
This file contains hidden or 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 | |
| on: | |
| push: | |
| branches: | |
| - '**' | |
| pull_request: | |
| branches: | |
| - '**' | |
| jobs: | |
| build: | |
| name: ${{ matrix.config.name }} | |
| runs-on: ${{ matrix.config.runs-on }} | |
| defaults: | |
| run: | |
| shell: bash | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - name: Win64 | |
| runs-on: windows-latest | |
| build-mode: Win64 | |
| binary: Simba-Win64.exe | |
| test: Simba-Win64.exe | |
| fpclazup-url: https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0g/fpclazup-x86_64-win64.exe | |
| fpclazup-lazcommit: 98f9c7a7a102139e43b39050ebbb5c48d805f59f # 4.4 | |
| fpclazup-fpccommit: d3a5f442eeff766a60cd7177536a9db7cc54875c # 3.2.4 | |
| - name: Win64 DebugInfo | |
| runs-on: windows-latest | |
| build-mode: Win64 DebugInfo | |
| binary: Simba-Win64-Debug.exe | |
| test: Simba-Win64-Debug.exe | |
| fpclazup-url: https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0g/fpclazup-x86_64-win64.exe | |
| fpclazup-lazcommit: 98f9c7a7a102139e43b39050ebbb5c48d805f59f # 4.4 | |
| fpclazup-fpccommit: d3a5f442eeff766a60cd7177536a9db7cc54875c # 3.2.4 | |
| - name: Win32 | |
| runs-on: windows-latest | |
| build-mode: Win32 | |
| binary: Simba-Win32.exe | |
| test: Simba-Win32.exe | |
| fpclazup-url: https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0g/fpclazup-x86_64-win64.exe | |
| fpclazup-lazcommit: 98f9c7a7a102139e43b39050ebbb5c48d805f59f # 4.4 | |
| fpclazup-fpccommit: d3a5f442eeff766a60cd7177536a9db7cc54875c # 3.2.4 | |
| - name: Linux64 | |
| runs-on: ubuntu-22.04 | |
| build-mode: Linux | |
| binary: Simba-Linux64 | |
| test: Simba-Linux64 | |
| fpclazup-url: https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0g/fpclazup-x86_64-linux | |
| fpclazup-lazcommit: 98f9c7a7a102139e43b39050ebbb5c48d805f59f # 4.4 | |
| fpclazup-fpccommit: d3a5f442eeff766a60cd7177536a9db7cc54875c # 3.2.4 | |
| - name: Linux arm64 | |
| runs-on: ubuntu-22.04-arm | |
| build-mode: Linux Arm | |
| binary: Simba-Linux | |
| #test: Simba-Linux TODO: fails on matchtemplatemask | |
| fpclazup-url: https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0g/fpclazup-aarch64-linux | |
| fpclazup-lazcommit: 98f9c7a7a102139e43b39050ebbb5c48d805f59f # 4.4 | |
| fpclazup-fpccommit: d3a5f442eeff766a60cd7177536a9db7cc54875c # 3.2.4 | |
| - name: Mac arm64 | |
| runs-on: macos-26 | |
| build-mode: Mac Arm | |
| binary: Simba-Mac-Arm.dmg | |
| #test: Simba TODO: fails on matchtemplatemask | |
| fpclazup-url: https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0g/fpclazup-aarch64-darwin | |
| fpclazup-lazcommit: 98f9c7a7a102139e43b39050ebbb5c48d805f59f # 4.4 | |
| fpclazup-fpccommit: aa8050f30ce7a23f8881de844c07c0f17033409e # trunk (~3.3) | |
| - name: Mac intel | |
| runs-on: macos-15-intel | |
| build-mode: Mac | |
| binary: Simba-Mac.dmg | |
| test: Simba | |
| fpclazup-url: https://github.com/LongDirtyAnimAlf/Reiniero-fpcup/releases/download/v2.4.0g/fpclazup-x86_64-darwin | |
| fpclazup-lazcommit: 98f9c7a7a102139e43b39050ebbb5c48d805f59f # 4.4 | |
| fpclazup-fpccommit: aa8050f30ce7a23f8881de844c07c0f17033409e # trunk (~3.3) | |
| steps: | |
| - uses: actions/checkout@v6.0.1 | |
| with: | |
| submodules: true | |
| - name: Install Custom Lazarus | |
| uses: ollydev/setup-lazarus@v4 | |
| with: | |
| fpclazup-url: ${{ matrix.config.fpclazup-url }} | |
| fpclazup-lazcommit: ${{ matrix.config.fpclazup-lazcommit }} | |
| fpclazup-fpccommit: ${{ matrix.config.fpclazup-fpccommit }} | |
| - name: Build Simba | |
| run: | | |
| echo "${{ matrix.config.build-mode }}" | |
| export GITHUB_SHORT_SHA=$(git rev-parse --short HEAD) | |
| lazbuild --build-mode="${{ matrix.config.build-mode }}" "Source/Simba.lpi" | |
| - name: Test Simba | |
| if: matrix.config.test != '' | |
| run: | | |
| # Simba needs a display of some sort | |
| if [[ "${{ matrix.config.runs-on }}" == ubuntu* ]]; then | |
| export DISPLAY=:1 | |
| Xvfb :1 & sleep 2 | |
| fi | |
| chmod +x ${{ matrix.config.test }} | |
| ./${{ matrix.config.test }} --run "Tests/RunTests/tester.simba" | |
| - name: Create Mac Image | |
| if: startsWith(matrix.config.name, 'Mac') == true | |
| run: | | |
| brew install create-dmg | |
| for i in {1..10}; | |
| do | |
| create-dmg --window-size 500 330 --icon-size 48 --icon "Simba.app" 130 135 --app-drop-link 380 135 --background "Source/macosbundle/installer.tff" "${{ matrix.config.binary }}" "Simba.app" && break || sleep 15; | |
| done | |
| - name: Upload Simba Binary | |
| uses: actions/upload-artifact@v6.0.0 | |
| with: | |
| name: ${{ matrix.config.name }} | |
| path: ${{ matrix.config.binary }} |