mirror of
https://github.com/jimeh/dotkatapult.git
synced 2026-02-19 11:16:39 +00:00
chore: add Dockerfile and basic CI test
This commit is contained in:
21
.github/workflows/ci.yml
vendored
Normal file
21
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
name: CI
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: 1.18
|
||||||
|
- name: Install dependencies
|
||||||
|
run: go mod download
|
||||||
|
- name: Build binary
|
||||||
|
run: make
|
||||||
|
- name: Run and make request
|
||||||
|
run: |
|
||||||
|
./bin/dotkatapult --port=8080 &
|
||||||
|
curl --silent --retry 10 --retry-delay 1 --retry-connrefused \
|
||||||
|
http://localhost:8080/
|
||||||
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
bin/*
|
||||||
|
/dotkatapult
|
||||||
13
Dockerfile
Normal file
13
Dockerfile
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
FROM golang:1.18-alpine as builder
|
||||||
|
|
||||||
|
RUN apk add --no-cache git make
|
||||||
|
WORKDIR /app
|
||||||
|
COPY . .
|
||||||
|
RUN env CGO_ENABLED=0 go build -a -o dotkatapult -ldflags "-s -w"
|
||||||
|
|
||||||
|
FROM scratch
|
||||||
|
ENV PORT 8080
|
||||||
|
EXPOSE 8080
|
||||||
|
WORKDIR /
|
||||||
|
COPY --from=builder /app/dotkatapult /
|
||||||
|
CMD ["/dotkatapult"]
|
||||||
24
Makefile
Normal file
24
Makefile
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
NAME = dotkatapult
|
||||||
|
BINARY = bin/${NAME}
|
||||||
|
VERSION ?= $(shell cat VERSION)
|
||||||
|
SOURCES = $(shell find . -name '*.go' -o -name 'Makefile')
|
||||||
|
|
||||||
|
$(BINARY): $(SOURCES)
|
||||||
|
CGO_ENABLED=0 go build -a -o ${BINARY} -ldflags "-s -w"
|
||||||
|
|
||||||
|
.PHONY: build
|
||||||
|
build: $(BINARY)
|
||||||
|
|
||||||
|
.PHONY: run
|
||||||
|
run: $(BINARY)
|
||||||
|
$(BINARY)
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
$(eval BIN_DIR := $(shell dirname ${BINARY}))
|
||||||
|
if [ -f ${BINARY} ]; then rm ${BINARY}; fi
|
||||||
|
if [ -d ${BIN_DIR} ]; then rmdir ${BIN_DIR}; fi
|
||||||
|
|
||||||
|
.PHONY: docker
|
||||||
|
docker:
|
||||||
|
docker build -t "$(shell whoami)/$(NAME)" .
|
||||||
Reference in New Issue
Block a user