Read Me

gitfoss-ci

GitFOSS CI is a continuous integration orchestraction app built in Crystal.
It exposes a set of endpoints so the GitFOSS forge can interact with it.

Features

  • Simple pipeline manifest file format (yaml): .gitfoss.ci
pipeline:
  image: alpine:latest
  stages:
    - name: test
      commands:
        - yarn install --dev-only
        - yarn test
      test_report:
        format: junit-coverage
        path: ./tests/coverage/
    - name: build
      env:
        - NODE_ENV=production
        - DATABASE_URL=$DATABASE_URL # from Env["DATABASE_URL"]
      commands:
        - yarn install
        - yarn generate
        - yarn build
      save_artefacts:
        - distributables:./dist/
    - name: deploy-staging
      manual: true
      commands:
        - ./scripts/deploy.sh --env=staging /app/dist/
      load_artefacts:
        - distributables:/app/dist/
    - name: deploy-prod
      manual: true
      commands:
        - ./scripts/deploy.sh --env=production /app/dist/
      load_artefacts:
        - distributables:/app/dist/
  • Run containerized builds using Docker and specified image.
  • Report logs in real-time during pipeline execution (streamed to the console).
  • Report test results and coverage reports.
  • Save artefacts (distributables) from each stage and make them available for download.
  • Report pipeline execution status back to GitFOSS.
  • More integrations with Slack, GitHub, and other tools in GitFOSS.

Installation

$ git clone https://github.com/your-github-user/gitfoss-ci.git
$ cd gitfoss-ci
$ shards build
$ ./bin/gitfoss-ci [--flags] CMD [INPUT]

Usage

TODO: Write usage instructions here

Development

TODO: Write development instructions here

Contributing

  1. Fork it (https://gitfoss.dev/ethicdevs/gitfoss-ci/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

GitFOSS hosted on GitFOSS! :)

https://gitfoss.dev

gitfoss.

HTTP Clone:
https://gitfoss.dev/ethicdevs/gitfoss.git
SSH Clone:
git@gitfoss.dev:ethicdevs/gitfoss.git

Branches:main, master.

Tags:v0.2.0,