Skip to content

gitfx/GitFx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitFx - Create a Serverless service in Git hosting

GitFx Testing GitFx Lint

GitFx can be used to run some functions and serve the output as a service in a Git hosting.

GitFx is a Python lib extracted from an action ActionServerless. And now the action uses this lib as a dependency to do the real job, you can run the lib locally in a same way as in the action.

Prerequisites

  • Python 3.5+
  • Docker

Install

pip3 install gitfx

# or
python3 -m pip install gitfx

Note: Python 2 is not supported

Usage

Let's start with a Python code that'll be used to create a Serverless service:

# function.py
import json

# GET /api/py_hello.json

print(json.dumps({"hello": "world"}))

put the program to a path under current directory, for example, test folder and run:

python3 -m gitfx test/
# you can pass more folders if you have

then the program's output is written to a file located in api/py_hello.json that you defined as a route in the comment.

You can use the ActionServerless to run functions in GitHub, and also you can run locally as above example then push the generated files to the remote.

more languages' examples you can find here.

Languages supported

Language Dependency Installation Version Management Example code
Python requirements.txt .python-version pyenv See
Ruby Gemfile .ruby-version rvm/rbenv See
Node.js package.json .nvmrc nvm See
Perl cpanfile .perl-version plenv See
PHP composer.json .phpenv-version phpenv See
Golang ⬜️ ⬜️ See
Haskell ⬜️ ⬜️ See
Elixir ⬜️ ⬜️ See
Bash -- -- See
Rust ⬜️ ⬜️ See
Deno -- ⬜️ See
  • ✅ Feature supported
  • ⬜ Feature not supported yet
  • -- N/A

Documents

Real world examples

Contributions

Contributions are welcome! You may check the following features in case you'd like to contribute but no idea what to do:

  • Support to add your favorite languages
  • Support dependency installation to the existing languages
  • Use this action to create an application and share it