I am an avid fan and user of GitHub Actions. Actions are individual tasks that you can combine to create jobs and customize your CI/CD workflow.

You can write your own actions to use in your workflow and share those actions with the GitHub community.

You cannot literally write GitHub actions exclusively in Swift as actions are natively Docker container actions or JavaScript actions.

But you can use Swift to build large portions of your GitHub action. Here is a proposal on how to do it:

A good example is the swift-create-xcframework GitHub Action.

In its action.yml file you see…

I work on various software projects written in Swift and I frequently find myself in a situation where I have to create diagrams based on the premise of existing source code, either for documentation purposes or to explain the system design concept.

UML as a general-purpose, modeling language is easy to understand and represents a standard way to visualize the design of a system. Graphical modeling tools, e.g. Visio or StarUML, are very flexible but I often find myself struggling to quickly draw the components relationship or other layout aspects.

Textual modeling tools help me to more efficiently create and…

If you develop a Swift package then most likely you have declared one or more dependencies in your Package.swift manifest.

The Swift Package Manager performs a process called dependency resolution to figure out the exact version of the package dependencies that can be used in your package. The results of the dependency resolution are recorded in the Package.resolved file which will be placed in the top-level drectory of your package


If you have version-based requirements and your Package.resolved is under source control management then you might face the challenge to catch up with new versions and update the file.



If you are a fan of conventional commits and want to semi-automate your release process then this recipe might help to get you started.

My goals were

  • being able to generate changelog based on conventional commits
  • being able to preview generated changelog and auto-determined version number
  • being able to override version number for release in case I want to deviate from the auto-determined version number
  • being able to decide when to release via a one-click action

By using the workflow_dispatch trigger event it is possible to start a workflow from GitHub directly.


Dear friends and scuba diving newbies, I wrote this text message to my scuba diving instructor before the third open water dive on the last weekend of my PADI Open Water Diver Certificate.

Hi Melissa, it’s Marco from your today’s dive students. It’s not an easy decision but I decided not to dive today.

After yesterday’s panic attack under water at the end of the second dive I don’t feel confident to dive into the ocean today. This panic attack and the feeling of vertigo showed my current limits and my distrust in some of my skills.

I am struggling…

Marco Eidinger

#Swift #iOS SDK architect — views are my own

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store