All Projects → gcarreno → setup-lazarus

gcarreno / setup-lazarus

Licence: MIT license
Set up your GitHub Actions workflow with a specific version of Lazarus

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to setup-lazarus

troll-hunter
Trollhunter is a single-player roguelike game.
Stars: ✭ 28 (-3.45%)
Mutual labels:  lazarus, free-pascal, lazarus-ide
Fairtris
Clone of the official classic Tetris® game for the NES console, intended for Windows and Linux systems. It implements the original mechanics and includes many regional versions and several RNGs (all in one executable).
Stars: ✭ 30 (+3.45%)
Mutual labels:  lazarus, free-pascal, lazarus-ide
actions
Set of actions for implementing CI/CD with werf and GitHub Actions
Stars: ✭ 67 (+131.03%)
Mutual labels:  continuous-integration, actions, action
DfmExtractor
Small command line utility which allows you to extract DFM, LFM and FRM forms from executable files compiled by Delphi, Lazarus and CodeTyphon.
Stars: ✭ 22 (-24.14%)
Mutual labels:  lazarus, freepascal, free-pascal
TLightFileStream
Implements a lightweight, high-performance, non-allocating advanced-record-based wrapper around the SysUtils file handling routines as an alternative to Classes.TFileStream.
Stars: ✭ 21 (-27.59%)
Mutual labels:  lazarus, freepascal, free-pascal
Axes-Armour-Ale
A fantasy, ASCII dungeon crawler for Windows, Linux & OSX
Stars: ✭ 22 (-24.14%)
Mutual labels:  lazarus, freepascal
lazarus
Notepas sources and other derived lazarus projects using the editor module.
Stars: ✭ 26 (-10.34%)
Mutual labels:  lazarus, freepascal
pr-compliance-action
Check PR for compliance on title, linked issues, and files changed
Stars: ✭ 151 (+420.69%)
Mutual labels:  actions, action
Ascension
A metaheuristic optimization framework
Stars: ✭ 24 (-17.24%)
Mutual labels:  lazarus, freepascal
brook-telegram
Telegram plugin for brookframework
Stars: ✭ 23 (-20.69%)
Mutual labels:  lazarus, freepascal
xavier
Xavier is a small object-oriented XML library for Lazarus and Delphi
Stars: ✭ 38 (+31.03%)
Mutual labels:  lazarus, freepascal
PospoliteView
Pospolite View aims to be a simple HTML viewer engine fully made in Free Pascal.
Stars: ✭ 29 (+0%)
Mutual labels:  lazarus, freepascal
VALIS
Vote ALlocating Immune System, an immune-inspired classification algorithm
Stars: ✭ 21 (-27.59%)
Mutual labels:  lazarus, freepascal
AutoScreenshot
Automatic screenshot maker for Windows
Stars: ✭ 49 (+68.97%)
Mutual labels:  lazarus, free-pascal
fano
Pascal web application framework
Stars: ✭ 90 (+210.34%)
Mutual labels:  freepascal, free-pascal
sizectrl
TSizeCtrl v8.2
Stars: ✭ 16 (-44.83%)
Mutual labels:  lazarus, freepascal
brookframework
Microframework which helps to develop web Pascal applications.
Stars: ✭ 161 (+455.17%)
Mutual labels:  lazarus, freepascal
deskew
Deskew is a command line tool for deskewing scanned text documents. It uses Hough transform to detect "text lines" in the image. As an output, you get an image rotated so that the lines are horizontal.
Stars: ✭ 127 (+337.93%)
Mutual labels:  lazarus, free-pascal
QQWry
Delphi interface for QQWry IP database
Stars: ✭ 14 (-51.72%)
Mutual labels:  lazarus, freepascal
fp-telegram
Wrapper classes library for telegram bots API (FreePascal)
Stars: ✭ 59 (+103.45%)
Mutual labels:  lazarus, freepascal

setup-lazarus

setup-lazarus logo

Actions Status

Set up your GitHub Actions workflow with a specific version of Lazarus

Inputs

lazarus-version

REQUIRED Lazarus version.

DEFAULT dist.

Possible values:

  • dist - Lazarus package that comes with the Ubuntu dist you chose on runs-on and for Windows the latest stable
  • stable - Installs the latest stable version: 2.2.2
  • 2.2.2 - comes with FPC v3.2.2
  • 2.2.0 - comes with FPC v3.2.2
  • 2.0.12 - comes with FPC v3.2.0
  • 2.0.10 - comes with FPC v3.2.0
  • 2.0.8 - comes with FPC v3.0.4
  • 2.0.6 - comes with FPC v3.0.4
  • 2.0.4 - comes with FPC v3.0.4
  • 2.0.2 - comes with FPC v3.0.4
  • 2.0.0 - comes with FPC v3.0.4
  • 1.8.4 - comes with FPC v3.0.4
  • 1.8.2 - comes with FPC v3.0.4
  • 1.8.0 - comes with FPC v3.0.4
  • 1.6.4 - comes with FPC v3.0.2
  • 1.6.2 - comes with FPC v3.0.0
  • 1.6 - comes with FPC v3.0.0
  • 1.4.4 - comes with FPC v2.6.4
  • 1.4.2 - comes with FPC v2.6.4
  • 1.4 - comes with FPC v2.6.4
  • 1.2.6 - comes with FPC v2.6.4
  • 1.2.4 - comes with FPC v2.6.4
  • 1.2.2 - comes with FPC v2.6.4
  • 1.2 - comes with FPC v2.6.2
  • 1.2 - comes with FPC v2.6.2
  • 1.0.14 - comes with FPC v2.6.2
  • 1.0.12 - comes with FPC v2.6.2

include-packages

OPTIONAL List of packages to install.

You can ask the action to fetch packages and install them after Lazarus is installed.

Format is a string with the packages separated by comma: "Package 1, Package 2, Package 3".

The list of packages can be searched at the Lazarus IDE repository.

with-cache

OPTIONAL Use cached installer files.

DEFAULT true.

This is a boolean input and will use cache if set to true.

NOTE

At this moment, there's an issue with the retrieved install executables for Windows. I'm trying to get to the bottom of why, but it's going to take some time. I suggest you turn the cache off if you're going to compile for Windows.

Platforms

At the moment this action only supports:

  • Windows (platform=win32, arch=x64)
  • Linux (platform=linux, arch=x64)
  • macOS (platform=darwin, arch=x64)

IMPORTANT

Due to the hard work of Levi there is now support for macOS.

Unfortunately there are some restrictions:

  • The GitHub macOS runners only support Lazarus versions 2.0.8 and up.
  • Until further notice only Cocoa widgset is supported on macOS runners.

Example usage

steps:
- uses: actions/checkout@v2
- uses: gcarreno/[email protected]
  with:
    lazarus-version: "stable"
    include-packages: "Synapse 40.1"
    with-cache: true
- run: lazbuild YourTestProject.lpi
- run: YourTestProject

Matrix example usage

name: build

on:
  pull_request:
  push:
    paths-ignore:
    - "README.md"
    branches:
      - master
      - releases/*

jobs:
  build:
    runs-on: ${{ matrix.operating-system }}
    strategy:
      matrix:
        operating-system: [windows-latest,ubuntu-latest,macos-latest]
        lazarus-versions: [dist, stable, 2.2.0, 2.0.12, 2.0.10, 2.0.8, 2.0.6]
    steps:
    - name: Checkout source code
      uses: actions/checkout@v2
    - name: Install Lazarus
      uses: gcarreno/[email protected]
      with:
        lazarus-version: ${{ matrix.lazarus-versions }}
        include-packages: "Synapse 40.1"
        with-cache: true
    - name: Build the Main Application
      if: ${{ matrix.operating-system != 'macos-latest' }}
      run: lazbuild -B "src/lazaruswithgithubactions.lpi"
    - name: Build the Main Application (macOS)
      if: ${{ matrix.operating-system == 'macos-latest' }}
      run: lazbuild -B --ws=cocoa "src/lazaruswithgithubactions.lpi"
    - name: Build the Unit Tests Application
      run: lazbuild -B "tests/testconsoleapplication.lpi"
    - name: Run the Unit Tests Application
      run: bin/testconsoleapplication "--all" "--format=plain"
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].