Forum > Third party

GitHub action setup-lazarus

(1/3) > >>

Gustavo 'Gus' Carreno:
Hey Y'all,

Since I've finally unstuck my thumbs outta my arse, and implemented the full set of features I wanted, I'm now announcing the GitHub action to install Lazarus so you can have CI/CD (Continuous Integration / Continuous Delivery) with your Lazarus projects.

Features so far:

* Will install the Lazarus/FPC bundle from source forge with the version number of Lazarus
* Will install packages, and dependencies, of packages from Online Package Manager's(OPM) site
* With the use of the option with-cache it will no longer download the install archive from source forge, but will use the last one downloaded and cached.
NOTE: At the moment this is somewhat broken for Windows. The install executable appear to not like being retrieved from cached.
I completely forgot to mention that there's a companion repository named lazarus-with-github-actions where I test the action itself.
You can have a looksie there, to get an idea on how to get your project up and running.

I hope this will help many of you.

P.S.: If you'd like a bit more control on what bundles and/or versions to install I suggest using Olly's version, also called setup-lazarus and also with cache.

Not so long ago, I understood this topic, and set up a self-hosted, I got something like this:

--- Code: Text  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---# This is a basic workflow to help you get started with Actions name: CI # Controls when the workflow will runon:  # Triggers the workflow on push or pull request events but only for the main branch  push:    branches: [ main ]    tags:              - '*'  pull_request:    branches: [ main ]   # Allows you to run this workflow manually from the Actions tab  workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in paralleljobs:  build_windows:    # The type of runner that the job will run on    runs-on: self-hosted     # Steps represent a sequence of tasks that will be executed as part of the job    steps:      # Runs a set of commands using the runners shell      - uses: actions/checkout@v2      - name: Compile        shell: cmd        working-directory: ./fpPS4/spirv        run: lazbuild -B pssl-spirv.lpi      - name: Strip        shell: cmd        working-directory: ./fpPS4/spirv        if: startsWith(github.ref, 'refs/tags/')        run: strip pssl-spirv.exe      - name: Release        uses: softprops/action-gh-release@v1        if: startsWith(github.ref, 'refs/tags/')        with:          files: ./fpPS4/spirv/pssl-spirv.exe


--- Quote from: Gustavo 'Gus' Carreno on June 03, 2022, 12:01:08 am ---Since I've finally unstuck my thumbs outta my ...

--- End quote ---

surprising, .....
what does this do?

Gustavo 'Gus' Carreno:
Hey Red_prig,

--- Quote from: Red_prig on June 03, 2022, 08:37:44 am ---Not so long ago, I understood this topic, and set up a self-hosted, I got something like this:

--- End quote ---

I really don't know anything about setting up a self hosted runner, sorry.

I've added an addendum to the original post mentioning the companion repository lazarus-with-github-actions where you can get an idea on how to use the action.

Hope this helps.


Gustavo 'Gus' Carreno:
Hey friend,

--- Quote from: friend on June 03, 2022, 09:20:15 am ---surprising, usually people who say "y'all" outside that particular region in the united states and who are not part of that certain group of people from that region as well, who use sh*thub, put em*jis in documentation, use continuous retardation, tend to like sticking all kinds of things up there, good for you you've stuck it out, seems like a good thing for you since you've mentioned it.
what does this do?

--- End quote ---

* First of all, I'm not really liking your tone.
* I'm Portuguese, so I'm not from any US region.
* I use the colloquialism Y'all so I don't have to fall into the trap of using any gender.
* If you don't know what is Continuous Integration / Continuous Deployment (CI/CD), then this is of no interest for you, so run along please.
* What I do with my arse and what I stick up there is none of your business and you should not have an opinion about it.
* And the use of emojis is something I quite like, so agree to disagree on this one!
Nuff, said, peace out.



[0] Message Index

[#] Next page

Go to full version