Skip to content

Build

Build #120

Workflow file for this run

name: Build
on:
push:
branches:
- master
paths:
- FastMM4.pas
- FastMM4Messages.pas
- FastMM4Options.inc
workflow_dispatch:
jobs:
build_linux:
runs-on: self-hosted-linux
steps:
- uses: actions/checkout@v3
- name: Compile a simple demo in ObjFPC mode
run: cd $GITHUB_WORKSPACE/Tests/Simple && fpc -B -MObjFPC -Tlinux -Px86_64 -O4 SimpleTest.dpr
- name: Compile a simple demo in Delphi mode
run: cd $GITHUB_WORKSPACE/Tests/Simple && fpc -B -Mdelphi -Tlinux -Px86_64 -O4 SimpleTest.dpr
- name: Compile with various defined options
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDEBUG -g -O- SimpleTest.dpr
- name: Compile with -dDEBUG -g -dFullDebugMode
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDEBUG -g -dFullDebugMode -O- SimpleTest.dpr
- name: Compile with -dFullDebugMode
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dFullDebugMode -O4 SimpleTest.dpr
- name: Compile with -dAlign16Bytes
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dAlign16Bytes -O4 SimpleTest.dpr
- name: Compile with -dAlign32Bytes
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dAlign32Bytes -O4 SimpleTest.dpr
- name: Compile with -dDontUseCustomFixedSizeMoveRoutines
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDontUseCustomFixedSizeMoveRoutines -O4 SimpleTest.dpr
- name: Compile with -dDontUseCustomVariableSizeMoveRoutines
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDontUseCustomVariableSizeMoveRoutines -O4 SimpleTest.dpr
- name: Compile with -dForceSingleThreaded
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dForceSingleThreaded -O4 SimpleTest.dpr
- name: Compile with -dDisablePauseAndSwitchToThread
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDisablePauseAndSwitchToThread -O4 SimpleTest.dpr
- name: Compile with -dDontUseSmallBlocksLockedCriticalSection
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDontUseSmallBlocksLockedCriticalSection -O4 SimpleTest.dpr
- name: Compile with -dDontUseMediumBlocksLockedCriticalSection
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDontUseMediumBlocksLockedCriticalSection -O4 SimpleTest.dpr
- name: Compile with -dDontUseLargeBlocksLockedCriticalSection
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDontUseLargeBlocksLockedCriticalSection -O4 SimpleTest.dpr
- name: Compile with -dDontUseASMVersion
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDontUseASMVersion -O4 SimpleTest.dpr
- name: Compile with -dDontUseASMVersion
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDontUseASMVersion -O4 SimpleTest.dpr
- name: Compile with -dDisableMemoryLeakReporting
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dDisableMemoryLeakReporting -O4 SimpleTest.dpr
- name: Compile with -dRequireIDEPresenceForLeakReporting
run: |
cd $GITHUB_WORKSPACE/Tests/Simple
fpc -B -Mdelphi -Tlinux -Px86_64 -dRequireIDEPresenceForLeakReporting -O4 SimpleTest.dpr
build_windows:
runs-on: self-hosted-windows
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- name: Compile by FreePascal 32-bit with -dDisableAsmCodeAlign
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDisableAsmCodeAlign', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dDEBUG
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDEBUG', '-g', '-O-', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dDEBUG -dFullDebugMode
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDEBUG', '-g', '-dFullDebugMode', '-O-', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dFullDebugMode but not DEBUG
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dFullDebugMode', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dAlign16Bytes
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dAlign16Bytes', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dAlign32Bytes
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dAlign32Bytes', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dDontUseCustomFixedSizeMoveRoutines
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDontUseCustomFixedSizeMoveRoutines', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dDontUseCustomVariableSizeMoveRoutines
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDontUseCustomVariableSizeMoveRoutines', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dForceSingleThreaded
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dForceSingleThreaded', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dDisablePauseAndSwitchToThread
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDisablePauseAndSwitchToThread', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dDontUseSmallBlocksLockedCriticalSection
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDontUseSmallBlocksLockedCriticalSection', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dDontUseMediumBlocksLockedCriticalSection
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDontUseMediumBlocksLockedCriticalSection', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dDontUseLargeBlocksLockedCriticalSection
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDontUseLargeBlocksLockedCriticalSection', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dDontUseASMVersion
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDontUseASMVersion', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dDisableMemoryLeakReporting
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dDisableMemoryLeakReporting', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 32-bit with -dRequireIDEPresenceForLeakReporting
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin32', '-Pi386', '-dRequireIDEPresenceForLeakReporting', '-O4', 'SimpleTest.dpr')
- name: Compile AVX-512 Assembly
run: |
cd $Env:GITHUB_WORKSPACE
& 'nasm.exe' @('-Ox', '-Ov', '-f', 'win64', 'FastMM4_AVX512.asm')
- name: Compile by FreePascal 64-bit with -dDisableAsmCodeAlign
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDisableAsmCodeAlign', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dDEBUG
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDEBUG', '-g', '-O-', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dDEBUG -dFullDebugMode
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDEBUG', '-g', '-dFullDebugMode', '-O-', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dFullDebugMode but not DEBUG
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dFullDebugMode', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dAlign16Bytes
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dAlign16Bytes', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dAlign32Bytes
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dAlign32Bytes', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dDontUseCustomFixedSizeMoveRoutines
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDontUseCustomFixedSizeMoveRoutines', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dDontUseCustomVariableSizeMoveRoutines
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDontUseCustomVariableSizeMoveRoutines', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dForceSingleThreaded
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dForceSingleThreaded', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dDisablePauseAndSwitchToThread
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDisablePauseAndSwitchToThread', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dDontUseSmallBlocksLockedCriticalSection
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDontUseSmallBlocksLockedCriticalSection', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dDontUseMediumBlocksLockedCriticalSection
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDontUseMediumBlocksLockedCriticalSection', '-O4','SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dDontUseLargeBlocksLockedCriticalSection
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDontUseLargeBlocksLockedCriticalSection', '-O4','SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dDontUseASMVersion
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDontUseASMVersion', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dDisableMemoryLeakReporting
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dDisableMemoryLeakReporting', '-O4', 'SimpleTest.dpr')
- name: Compile by FreePascal 64-bit with -dRequireIDEPresenceForLeakReporting
run: |
cd $Env:GITHUB_WORKSPACE/Tests/Simple
& 'fpc.exe' @('-B', '-Mdelphi', '-Twin64', '-Px86_64', '-dRequireIDEPresenceForLeakReporting', '-O4', 'SimpleTest.dpr')