You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is GitHub project template for a Go library. It has been created for ease-of-use for anyone who wants to:
8
+
This is GitHub project template for Go. It has been created for ease-of-use for anyone who wants to:
9
9
10
10
- quickly get into Go without losing too much time on environment setup,
11
-
- create a new repoisitory with basic Continous Integration,
12
-
- write Go code on Linux, MacOS, Windows.
11
+
- create a new repoisitory with basic Continous Integration.
13
12
14
13
It includes:
15
14
16
15
-[Visual Studio Code](https://code.visualstudio.com) configuration with [Go](https://code.visualstudio.com/docs/languages/go) and [Remote Container](https://code.visualstudio.com/docs/remote/containers) support,
17
16
- dependency management using [Go Modules](https://github.com/golang/go/wiki/Modules),
18
17
- linting with [GolangCI-Lint](https://github.com/golangci/golangci-lint),
19
-
- build automation via [Mage](https://magefile.org), [Docker](https://docs.docker.com/engine), [Docker Compose](https://docs.docker.com/compose), [GitHub Actions](https://github.com/features/actions).
18
+
- build automation via [Make](https://www.gnu.org/software/make), [Docker](https://docs.docker.com/engine), [Docker Compose](https://docs.docker.com/compose), [GitHub Actions](https://github.com/features/actions).
20
19
21
20
`Star` this project if you find it valuable and worth maintaining.
22
21
23
22
## Usage
24
23
25
24
1. Click the `Use this template` button (alt. clone or download this repository).
26
-
1. Replace all occurences of `golang-templates/library` to `your_org/repo_name` in all files.
25
+
1. Replace all occurences of `golang-templates/seed` to `your_org/repo_name` in all files.
27
26
1. Change [LICENSE](LICENSE) and [README.md](README.md).
28
27
29
-
### Setup Development Environment
28
+
### Setup Development Environment - Visual Studio Code
30
29
31
-
Take notice that this project is build in a way that gives developers a lot of freedom on development environments setup. Below you can find proposals when using Visual Studio Code.
30
+
#### Visual Studio Code - Bare-metal
32
31
33
-
-**Bare metal:** See [Dockerfile](Dockerfile) for Mage and GolangCI-Lint installation commands.
- Terminal: `docker-compose up --abort-on-container-exit`. This command is executed by CI build (GitHub Action workflow).
42
54
43
55
### Maintainance
44
56
45
57
1.`Watch` this project to get notified about new releases, issues, etc.
46
-
1. Update Go, Mage and GolangCI-Lint version in [Dockerfile](Dockerfile). Take notice that when working on bare metal or via SSH, then you should also to do it manually on your machine.
58
+
1. Update Goand GolangCI-Lint version in [Dockerfile](Dockerfile).
47
59
1. Configure linters via [.golangci.yml](.golangci.yml).
48
-
1. Develop Mage targets in [magefile.go](magefile.go) and assosiated tasks in [.vscode/tasks.json](.vscode/tasks.json).
60
+
1. Develop Make targets in [Makefile](Makefile) and assosiated tasks in [.vscode/tasks.json](.vscode/tasks.json).
2. Remove Mage installation from [Dockerfile](Dockerfile).
94
-
1. Update [docker-compose.yml](docker-compose.yml) and [.vscode/tasks.json](.vscode/tasks.json) to use `make`.
74
+
### Make does not work on Windows
95
75
96
-
IfyouwanttouseMakeonbare-metalWindows,thenyoucanuse[WSL(WindowsSubsystemforLinux)](https://docs.microsoft.com/en-us/windows/wsl/install-win10) or install [Make Windows port to Git Bash](https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058).
76
+
You can use [WSL (Windows Subsystem for Linux)](https://docs.microsoft.com/en-us/windows/wsl/install-win10) or try[Make Windows port](https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058).
0 commit comments