Skip to content
This repository has been archived by the owner on Mar 17, 2023. It is now read-only.

frantjc/sequence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sequence

push

Run sequential containerized workloads on the same volume using tools from each container along the way.

summary

Sequence is, first and foremost, a library for running sequential containerized workloads on the same volume to produce some result. To achieve this, it builds upon some existing technologies:

  • Borrow GitHub Action's Workflow syntax and expand upon it (e.g. by allowing each step to designate what image it should run inside). This should allow Sequence to utilize useful GitHub Actions, which are GitHub repositories which can be concisely referenced to execute complicated tasks (e.g. downloading and installing Go)
  • Use a pluggable container Runtime whose default implementation is Docker to run each containerized task.
  • Take advantage of Concourse Resources to additionally expand the functionality of what a single step can do

Sequence aims to have tools built from this library to unify the development and continuous integration (CI) experiences:

  • sqnctl CLI to run workflows against local changes before pushing them to be executed by CI
  • sqncd RPC daemon that can be connected to remotely to run workloads

developing

  • make is required - version 3.81 is tested
  • golang is required - version 1.18.x or above is required for generics
  • docker is required - version 20.10.x is tested
  • buf is required if modifying proto - version 1.4.x is tested
  • upx is required for compressing sqnc-shim on generate
  • protoc is required if modifying proto - version 3.19.x is tested

The latter two of these can be installed by:

make tools

test

Create a .env that looks like .env.example but with a real GitHub token, and:

make test # go test ./...

lint

Format .go code.

make fmt    # go fmt ./...
make lint   # golangci-lint run

generate

Generate .go code from .proto code.

make generate # buf generate .

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages