liuts / semaphore-demo-go

Semaphore demo CI pipeline using Go.

Home Page:https://docs.semaphoreci.com/examples/golang-continuous-integration/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Semaphore Continuous Integration Golang demo

Build Status

This is an example program and CI pipeline showing how to run a Go project on Semaphore

CI on Semaphore

Feel free to fork this repository and use it to create a Semaphore project.

The CI pipeline is defined in .semaphore/semaphore.yml and when you run it it will look like this:

CI pipeline on Semaphore

You can extend the pipeline with deployment by implementing a promotion. Refer to Semaphore documentation for additional deployment examples.

Building the project

The project has been tested with Go 1.19. After cloning the repository:

$ go get
$ go build -o ./bin/main

Testing locally

To run the tests on you machine:

  1. Install gotestsum: go install gotest.tools/gotestsum@latest
  2. Start a test PostgreSQL instance. The easiest way is with Docker: docker run --rm -d --name test-instance -e POSTGRES_HOST_AUTH_METHOD=trust -p 5432:5432 postgres
  3. Create a test table: psql -p 5432 -h localhost -U postgres -c "CREATE DATABASE s2"
  4. Run the tests with: gotestsum
  5. Stop the test database: docker stop test-instance

License

Copyright (c) 2022 Rendered Text

Distributed under the MIT License. See the file LICENSE.

About

Semaphore demo CI pipeline using Go.

https://docs.semaphoreci.com/examples/golang-continuous-integration/

License:MIT License


Languages

Language:Go 100.0%