{"id":22197099,"url":"https://github.com/gcarreno/lazarus-with-github-actions","last_synced_at":"2025-07-27T01:31:04.136Z","repository":{"id":87559305,"uuid":"254224671","full_name":"gcarreno/lazarus-with-github-actions","owner":"gcarreno","description":"Testing grounds for the GitHub action setup-lazarus","archived":false,"fork":false,"pushed_at":"2024-11-06T20:15:59.000Z","size":174,"stargazers_count":20,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-06T20:41:33.776Z","etag":null,"topics":["fpc","free-pascal","freepascal","github-actions","githubactions","lazarus","pascal"],"latest_commit_sha":null,"homepage":"https://github.com/gcarreno/setup-lazarus","language":"Pascal","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-08T23:37:04.000Z","updated_at":"2024-11-06T20:16:02.000Z","dependencies_parsed_at":"2024-11-06T20:32:01.145Z","dependency_job_id":"ec9b2d23-b76c-4310-8efd-eab24eb54074","html_url":"https://github.com/gcarreno/lazarus-with-github-actions","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Flazarus-with-github-actions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Flazarus-with-github-actions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Flazarus-with-github-actions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Flazarus-with-github-actions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gcarreno","download_url":"https://codeload.github.com/gcarreno/lazarus-with-github-actions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227740662,"owners_count":17812687,"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":["fpc","free-pascal","freepascal","github-actions","githubactions","lazarus","pascal"],"created_at":"2024-12-02T14:18:25.382Z","updated_at":"2024-12-02T14:18:26.020Z","avatar_url":"https://github.com/gcarreno.png","language":"Pascal","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lazarus-with-github-actions\n\n[![Actions Status](https://github.com/gcarreno/lazarus-with-github-actions/workflows/build-test/badge.svg)](https://github.com/gcarreno/lazarus-with-github-actions/actions)\n\nTesting grounds for the GitHub action [setup-lazarus](https://github.com/gcarreno/setup-lazarus)\n\n**Note**: For supported Lazarus versions and the associated FPC version consult the link above.\n\n![setup-lazarus logo](https://github.com/gcarreno/setup-lazarus/blob/master/images/setup-lazarus-logo.png)\n\n## VERY IMPORTANT NOTICE\n\n\u003e When build for the `Qt5` widgetset, the combination of `stable`/`v3.0` and `ubuntu-latest`/`ubuntu-22.04` is going to fail.\n\u003e\n\u003e This is why this example is failing when attempting the mentioned combination of widgetset, Lazarus version and Ubuntu version.\n\u003e\n\u003e This is due to the fact that `libqt5pas` is outdated and does not support the new code delivered by Lazarus 3.0.\n\u003e\n\u003e This is a problem related to the Ubuntu distribution's repositories and the version of `libqt5pas` they carry, used by the GitHub runners.\n\u003e\n\u003e According to the maintainer of said `libqt5pas`, in [this answer](https://forum.lazarus.freepascal.org/index.php/topic,65619.msg500216.html#msg500216), one solution is to have the workflow script download and install a newer version.\n\u003e\n\u003e The newer version can be obtained here: https://github.com/davidbannon/libqt5pas/releases\n\u003e\n\u003e Thank you for your patience, continued support and please accept my deepest apologies for this inconvenience.\n\n## Example usage\n\n```yaml\nsteps:\n- uses: actions/checkout@v4\n- uses: gcarreno/setup-lazarus@v3\n  with:\n    lazarus-version: \"dist\"\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: [ubuntu-18.04,ubuntu-latest]\n        lazarus-versions: [dist, stable, 2.0.12, 2.0.10]\n    steps:\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 (Windows)\n      if: ${{ matrix.operating-system == 'windows-latest' }}\n      run: lazbuild -B --bm=Release \"src/lazaruswithgithubactions.lpi\"\n    - name: Build the Main Application (Ubuntu)\n      if: ${{ matrix.operating-system == 'ubuntu-latest' }}\n      run: |\n        echo Building with GTK2\n        lazbuild -B --bm=Release \"src/lazaruswithgithubactions.lpi\"\n        echo Installing Qt5 Dev\n        sudo apt update\n        sudo apt install libqt5pas-dev -y\n        echo Building with Qt5\n        lazbuild -B --bm=Release --ws=qt5 \"src/lazaruswithgithubactions.lpi\"\n    - name: Build the Main Application (macOS)\n      if: ${{ matrix.operating-system == 'macos-latest' }}\n      run: lazbuild -B --bm=Release --ws=cocoa \"src/lazaruswithgithubactions.lpi\"\n    - name: Build the Unit Tests Application\n      run: lazbuild -B --bm=Release \"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%2Flazarus-with-github-actions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgcarreno%2Flazarus-with-github-actions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgcarreno%2Flazarus-with-github-actions/lists"}