{"id":13530929,"url":"https://github.com/gcarreno/setup-lazarus","last_synced_at":"2025-04-07T06:09:45.939Z","repository":{"id":52513642,"uuid":"254208522","full_name":"gcarreno/setup-lazarus","owner":"gcarreno","description":"Set up your GitHub Actions workflow with a specific version of Lazarus","archived":false,"fork":false,"pushed_at":"2025-01-22T00:42:49.000Z","size":2498,"stargazers_count":50,"open_issues_count":6,"forks_count":13,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-01-25T17:31:43.351Z","etag":null,"topics":["action","actions","ci","continuous-integration","free-pascal","freepascal","github-actions","lazarus","lazarus-ide","object-pascal","objectpascal","pascal"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gcarreno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-08T21:51:02.000Z","updated_at":"2024-12-08T11:54:54.000Z","dependencies_parsed_at":"2023-01-11T17:23:14.294Z","dependency_job_id":"7324036e-24b4-4d08-bb19-2c8866aa1b0a","html_url":"https://github.com/gcarreno/setup-lazarus","commit_stats":{"total_commits":161,"total_committers":4,"mean_commits":40.25,"dds":0.0496894409937888,"last_synced_commit":"7942c7016c8e4a5eab762651d0685581adf49010"},"previous_names":[],"tags_count":99,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Fsetup-lazarus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Fsetup-lazarus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Fsetup-lazarus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Fsetup-lazarus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gcarreno","download_url":"https://codeload.github.com/gcarreno/setup-lazarus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247601448,"owners_count":20964864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["action","actions","ci","continuous-integration","free-pascal","freepascal","github-actions","lazarus","lazarus-ide","object-pascal","objectpascal","pascal"],"created_at":"2024-08-01T07:00:57.937Z","updated_at":"2025-04-07T06:09:45.918Z","avatar_url":"https://github.com/gcarreno.png","language":"TypeScript","funding_links":[],"categories":["Community Resources"],"sub_categories":["Utility"],"readme":"# setup-lazarus\n\n![setup-lazarus logo](images/setup-lazarus-logo.png)\n\n[![Actions Status](https://github.com/gcarreno/setup-lazarus/workflows/build/badge.svg)](https://github.com/gcarreno/setup-lazarus/actions)\n\nSet up your GitHub Actions workflow with a specific version of Lazarus\n\n\u003e [!IMPORTANT]\n\u003e When building with the `Qt5` widgetset, using the combination of `stable` or\n\u003e `v3.0` with `ubuntu-latest` or `ubuntu-22.04` may fail. This issue is due to an\n\u003e outdated `libqt5pas` library that doesn't support Lazarus 3.0 updates. A\n\u003e solution is to download a newer version of `libqt5pas` from the link below:\n\u003e \u003chttps://github.com/davidbannon/libqt5pas/releases\u003e.\n\nWe apologize for the inconvenience and appreciate your patience.\n\n## Inputs\n\n### lazarus-version (required, default: 'dist')\n\nPossible values:\n\n| Lazarus Version | FPC Version | Description   |\n| --------------- | ----------- | ------------- |\n| dist            |             | Latest stable |\n| stable          |             | Lazarus 3.6   |\n| 3.6             | 3.2.2       |               |\n| 3.4             | 3.2.2       |               |\n| 3.2             | 3.2.2       |               |\n| 3.0             | 3.2.2       |               |\n| 2.2.6           | 3.2.2       |               |\n| 2.2.4           | 3.2.2       |               |\n| 2.2.2           | 3.2.2       |               |\n| 2.2.0           | 3.2.2       |               |\n| 2.0.12          | 3.2.0       |               |\n| 2.0.10          | 3.2.0       |               |\n| 2.0.8           | 3.0.4       |               |\n| 2.0.6           | 3.0.4       |               |\n| 2.0.4           | 3.0.4       |               |\n| 2.0.2           | 3.0.4       |               |\n| 2.0.0           | 3.0.4       |               |\n| 1.8.4           | 3.0.4       |               |\n| 1.8.2           | 3.0.4       |               |\n| 1.8.0           | 3.0.4       |               |\n| 1.6.4           | 3.0.2       |               |\n| 1.6.2           | 3.0.0       |               |\n| 1.6             | 3.0.0       |               |\n| 1.4.4           | 2.6.4       |               |\n| 1.4.2           | 2.6.4       |               |\n| 1.4             | 2.6.4       |               |\n| 1.2.6           | 2.6.4       |               |\n| 1.2.4           | 2.6.4       |               |\n| 1.2.2           | 2.6.4       |               |\n| 1.2             | 2.6.2       |               |\n| 1.2             | 2.6.2       |               |\n| 1.0.14          | 2.6.2       |               |\n| 1.0.12          | 2.6.2       |               |\n\n\u003e [!NOTE]\n\u003e 'dist' is the Lazarus package that comes with the Ubuntu dist you\n\u003e chose on `runs-on`, while for Windows it's the latest stable (3.6).\n\n### include-packages\n\nList of packages to install. You can ask the action to fetch packages and\ninstall them after Lazarus is installed. Format is a string with the packages\nseparated by comma: \"Package 1, Package 2, Package 3\". The list of packages can\nbe searched at the [Lazarus IDE repository](https://packages.lazarus-ide.org).\n\n### with-cache (default: false)\n\nUse cached installer files.\n\nThis is a boolean input and will use cache if set to `true`.\n\n\u003e [!NOTE]\n\u003e At this moment, there's an issue with the retrieved install executables for Windows.\n\u003e I'm trying to get to the bottom of why, but it's going to take some time.\n\u003e Caching is now off by default for Windows until I can solve this issue!\n\n## Platforms\n\nAt the moment this action only supports:\n\n- Windows (win32-x64)\n- Linux (linux-x64)\n- macOS (darwin-x64)\n\n### IMPORTANT\n\nDue to the hard work of [Levi](https://github.com/leviable) there is now support for macOS.\n\nUnfortunately there are some restrictions:\n\n- The GitHub macOS runners only support Lazarus versions 2.0.8 and up.\n- Until further notice only Cocoa widgset is supported on macOS runners.\n\n## Example usage\n\n```yaml\nsteps:\n  - uses: actions/checkout@v4\n  - uses: gcarreno/setup-lazarus@v3\n    with:\n      lazarus-version: \"stable\"\n      include-packages: \"Synapse 40.1\"\n      with-cache: true\n  - run: lazbuild YourTestProject.lpi\n  - run: YourTestProject\n```\n\n## Matrix example usage\n\n```yaml\nname: build\n\non:\n  pull_request:\n  push:\n    paths-ignore:\n      - \"README.md\"\n    branches:\n      - master\n      - releases/*\n\njobs:\n  build:\n    runs-on: ${{ matrix.operating-system }}\n    strategy:\n      matrix:\n        operating-system: [windows-latest, ubuntu-latest, macos-latest]\n        lazarus-versions: [dist, stable, 2.2.0, 2.0.12, 2.0.10, 2.0.8, 2.0.6]\n    steps:\n      - name: Checkout source code\n        uses: actions/checkout@v4\n      - name: Install Lazarus\n        uses: gcarreno/setup-lazarus@v3\n        with:\n          lazarus-version: ${{ matrix.lazarus-versions }}\n          include-packages: \"Synapse 40.1\"\n          with-cache: true\n      - name: Build the Main Application\n        if: ${{ matrix.operating-system != 'macos-latest' }}\n        run: lazbuild -B \"src/lazaruswithgithubactions.lpi\"\n      - name: Build the Main Application (macOS)\n        if: ${{ matrix.operating-system == 'macos-latest' }}\n        run: lazbuild -B --ws=cocoa \"src/lazaruswithgithubactions.lpi\"\n      - name: Build the Unit Tests Application\n        run: lazbuild -B \"tests/testconsoleapplication.lpi\"\n      - name: Run the Unit Tests Application\n        run: bin/testconsoleapplication \"--all\" \"--format=plain\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgcarreno%2Fsetup-lazarus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgcarreno%2Fsetup-lazarus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgcarreno%2Fsetup-lazarus/lists"}