Initial: Go app with tests + CI workflow
All checks were successful
CI / test (push) Successful in 1m45s
All checks were successful
CI / test (push) Successful in 1m45s
This commit is contained in:
27
.gitea/workflows/ci.yaml
Normal file
27
.gitea/workflows/ci.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: '1.21'
|
||||
|
||||
- name: Run tests
|
||||
run: go test -v ./...
|
||||
|
||||
- name: Build
|
||||
run: go build -o ci-test .
|
||||
|
||||
- name: Run binary
|
||||
run: ./ci-test
|
||||
16
main.go
Normal file
16
main.go
Normal file
@@ -0,0 +1,16 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func Add(a, b int) int {
|
||||
return a + b
|
||||
}
|
||||
|
||||
func Greet(name string) string {
|
||||
return fmt.Sprintf("Hello, %s!", name)
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Println(Greet("CI/CD"))
|
||||
fmt.Println("2 + 3 =", Add(2, 3))
|
||||
}
|
||||
28
main_test.go
Normal file
28
main_test.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package main
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestAdd(t *testing.T) {
|
||||
tests := []struct {
|
||||
a, b, want int
|
||||
}{
|
||||
{2, 3, 5},
|
||||
{0, 0, 0},
|
||||
{-1, 1, 0},
|
||||
{100, 200, 300},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
got := Add(tt.a, tt.b)
|
||||
if got != tt.want {
|
||||
t.Errorf("Add(%d, %d) = %d, want %d", tt.a, tt.b, got, tt.want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestGreet(t *testing.T) {
|
||||
got := Greet("World")
|
||||
want := "Hello, World!"
|
||||
if got != want {
|
||||
t.Errorf("Greet(World) = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user