{"id":22197106,"url":"https://github.com/gcarreno/re-usable-workflows","last_synced_at":"2026-02-09T15:02:50.832Z","repository":{"id":191891391,"uuid":"685703980","full_name":"gcarreno/re-usable-workflows","owner":"gcarreno","description":"Collection of GitHub reusable workflows for a variety of languages","archived":false,"fork":false,"pushed_at":"2024-12-03T18:29:05.000Z","size":147,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-18T12:50:33.047Z","etag":null,"topics":["fpc","free-pascal","freepascal","github-reusable-workflows","github-workflow","github-workflows","lazarus"],"latest_commit_sha":null,"homepage":"","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":"CHANGELOG.md","contributing":null,"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,"zenodo":null}},"created_at":"2023-08-31T20:21:15.000Z","updated_at":"2024-12-03T18:29:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"b7b91d75-f2b8-422e-a2db-223667c38c42","html_url":"https://github.com/gcarreno/re-usable-workflows","commit_stats":null,"previous_names":["gcarreno/re-usable-workflows"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/gcarreno/re-usable-workflows","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Fre-usable-workflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Fre-usable-workflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Fre-usable-workflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Fre-usable-workflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gcarreno","download_url":"https://codeload.github.com/gcarreno/re-usable-workflows/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcarreno%2Fre-usable-workflows/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267368932,"owners_count":24076093,"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","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-reusable-workflows","github-workflow","github-workflows","lazarus"],"created_at":"2024-12-02T14:18:27.998Z","updated_at":"2026-02-09T15:02:50.806Z","avatar_url":"https://github.com/gcarreno.png","language":"Pascal","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Reusable Workflows\n- [![Lazarus Main Workflow](https://github.com/gcarreno/re-usable-workflows/actions/workflows/main.lazarus.yml/badge.svg?branch=main)](https://github.com/gcarreno/re-usable-workflows/actions)\n- [![C++ Main Workflow](https://github.com/gcarreno/re-usable-workflows/actions/workflows/main.cpp.yml/badge.svg?branch=main)](https://github.com/gcarreno/re-usable-workflows/actions)\n\n[![Supports Windows](https://img.shields.io/badge/support-Windows-blue?logo=Windows)](https://github.com/gcarreno/re-usable-workflows/releases/latest)\n[![Supprts Linux](https://img.shields.io/badge/support-Linux-yellow?logo=Linux)](https://github.com/gcarreno/re-usable-workflows/releases/latest)\n[![License](https://img.shields.io/github/license/gcarreno/re-usable-workflows)](https://github.com/gcarreno/re-usable-workflows/blob/master/LICENSE)\n[![Latest Release](https://img.shields.io/github/v/release/gcarreno/re-usable-workflows?label=latest%20release)](https://github.com/gcarreno/re-usable-workflows/releases/latest)\n[![Downloads](https://img.shields.io/github/downloads/gcarreno/re-usable-workflows/total)](https://github.com/gcarreno/re-usable-workflows/releases)\n\nCollection of GitHub reusable workflows for a variety of languages\n\n# Warning\n\nI have not yet implemented sane defaults and error detection.\nI've also made a hard coded dependency on [git-cliff](https://git-cliff.org/) to produce the release notes.\nThe next phase will be to get all this corrected and/or made optional, somehow.\n\n# Languages\n\n## Object Pascal: Lazarus\n\n- [main](.github/workflows/main.lazarus.yml)\n  This is the one you should copy to your Lazarus repository, and customise, because it calls the ones bellow\n- [build](.github/workflows/build.lazarus.yml)\n  This one takes care of compiling the app itself and uploading the compiled binaries as an artefact. It's called remotely from the main one above\n- [test](.github/workflows/test.lazarus.yml)\n  This one takes care of compiling the test app and running it. It's called remotely from the main one above\n- [release](.github/workflows/release.lazarus.yml)\n  This one takes care of downloading the artefacts and then creating a release with archived binaries. It's called remotely from the main one above\n\n### The `JSON` config string\n\nExample:\n\n```json\n{\n  \"app-name\": \"helloworld\",\n  \"lpi-path\": \"lazarus/src\",\n  \"bin-path\": \"lazarus/bin\",\n  \"build-mode\": \"Release\",\n  \"lazarus-packages\": \"\",\n  \"matrix\": {\n    \"os\": [\n      \"ubuntu-latest\",\n      \"windows-latest\",\n      \"macos-latest\"\n    ],\n    \"include\":[\n      {\n        \"os\": \"ubuntu-latest\",\n        \"triplet\": \"x86_64-linux\"\n      },\n      {\n        \"os\": \"windows-latest\",\n        \"triplet\": \"x86_64-win64\"\n      },\n      {\n        \"os\": \"macos-latest\",\n        \"triplet\": \"x86_64-darwin\"\n      }\n    ],\n    \"lazarus-versions\": [\n      \"stable\",\n      \"2.0.12\"\n    ]\n  }\n}\n```\n\n#### `app-name`\n\nThe application name.\n\nThis field is used to find the `.lpi` file one the [`lpi-path`](#lpi-path) folder and also the binary on [`bin-path`](#bin-path).\n\n#### `lpi-path`\n\nThe path where the `.lpi` file resides.\n\nExample value: \"src\"\n\n#### `bin-path`\n\nThe path where the compiled binary can be found.\n\nExample value: \"bin\"\n\n#### `build-mode`\n\nThe name of one of the build modes you've defined on your `.lpi` file.\n\nExample values: \"Default\", \"Release\", \"Debug\"\n\n#### `matrix`\n\nA `JSON` representation of the matrix to allow parallel compiling for various platforms and Lazarus versions.\n\n**NOTE**: Needs more explanation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgcarreno%2Fre-usable-workflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgcarreno%2Fre-usable-workflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgcarreno%2Fre-usable-workflows/lists"}