| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- name: Make
- on:
- schedule:
- - cron: '0 0 1 * *'
- push:
- branches:
- - "**"
- pull_request:
- branches:
- - master
- - main
- concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
- jobs:
- build:
- runs-on: ${{ matrix.os }}
- timeout-minutes: 120
- strategy:
- matrix:
- os:
- - ubuntu-latest
- - windows-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v6
- with:
- submodules: true
- - name: Build on Linux
- if: runner.os == 'Linux'
- shell: bash
- run: |
- set -xeuo pipefail
- sudo bash -c 'apt-get update; apt-get install -y lazarus' >/dev/null
- instantfpc -Fu/usr/lib/lazarus/*/components/lazutils .github/workflows/make.pas
- - name: Build on Windows
- if: runner.os == 'Windows'
- shell: powershell
- run: |
- $ErrorActionPreference = 'stop'
- Set-PSDebug -Strict
- Write-Host "Installing Lazarus and OpenSSL 1.1 via Chocolatey..."
- choco upgrade chocolatey -y
- choco install lazarus -y
- choco install openssl.light --version=1.1.1.20181020 -y
- Write-Host "Verifying installed packages..."
- choco list
- # Lazarus installs to C:\Lazarus by default
- # Add Lazarus and OpenSSL paths for instantfpc
- $env:Path += ';C:\Lazarus;C:\Lazarus\fpc\3.2.2\bin\x86_64-win64;C:\ProgramData\chocolatey\lib\openssl.light\tools'
- Write-Host "Checking lazbuild and instantfpc availability..."
- Get-Command lazbuild
- Get-Command instantfpc
- Write-Host "Building make.pas..."
- instantfpc '-FuC:\Lazarus\components\lazutils' .github/workflows/make.pas
|