Romie is a golang project created by some friends in a way that is a professional environment (some would say overkill) with CI and CD systems. Its purpose is to teach us golang and to learn how we can set up CI/CD and other workflows. The purpose of the code will be a script/program that would allow you to download ROMs from various sites for Retropie. We want to have fun learning and doing a fun project. See here for the authors and contributors.
To replicate GH-Actions locally, use act.
See all the targets:
$ act -l
ID Stage Name
build 0 Building the Project
analyze 0 Run CodeQL analysis
lint 0 Run golangci-lint
deploy 0 Update the website
test 0 Run unit tests
Run a target:
$ act -j <ID> # i.e act -j build
Your PR should not break the tests and also pass the linter.
Go testing:
$ go test -v ./...
Go testing with coverage:
$ go test -coverprofile cover.out ./...
$ go tool cover -html=cover.out
Linters:
act -j lint