Skip to content

Commit fc73039

Browse files
Cicd overhaul (#393)
* go mod tidy * alpha channel temp fix * cicd overhaul --------- Co-authored-by: BuckarooBanzay <[email protected]>
1 parent 7219590 commit fc73039

File tree

8 files changed

+81
-117
lines changed

8 files changed

+81
-117
lines changed

.github/workflows/build.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,6 @@ jobs:
4242
run: |
4343
go test ./...
4444
45-
# only on tags or the master branch
46-
- name: Docker Login
47-
if: success() && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master')
48-
uses: docker/login-action@v3
49-
with:
50-
username: ${{ secrets.DOCKER_USERNAME }}
51-
password: ${{ secrets.DOCKER_PASSWORD }}
52-
5345
# only on tags
5446
- name: Run GoReleaser
5547
uses: goreleaser/goreleaser-action@v6
@@ -59,11 +51,3 @@ jobs:
5951
args: release --clean
6052
env:
6153
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62-
63-
# only on the master branch
64-
- name: Build and push latest docker image
65-
if: success() && github.ref == 'refs/heads/master'
66-
run: |
67-
CGO_ENABLED=0 go build .
68-
docker build . -t minetestmapserver/mapserver:latest
69-
docker push minetestmapserver/mapserver:latest

.github/workflows/docker.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: docker
2+
3+
on:
4+
push:
5+
branches:
6+
- 'main'
7+
tags:
8+
- 'v*'
9+
pull_request:
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
with:
18+
fetch-depth: 0
19+
20+
- name: Docker meta
21+
id: meta
22+
uses: docker/metadata-action@v5
23+
with:
24+
images: ghcr.io/minetest-mapserver/mapserver
25+
26+
- name: Log in to the Container registry
27+
uses: docker/login-action@v3
28+
with:
29+
registry: ghcr.io
30+
username: ${{ github.actor }}
31+
password: ${{ secrets.GITHUB_TOKEN }}
32+
33+
- name: Build and push
34+
uses: docker/build-push-action@v5
35+
with:
36+
context: .
37+
push: ${{ github.event_name != 'pull_request' }}
38+
tags: ${{ steps.meta.outputs.tags }}
39+
labels: ${{ steps.meta.outputs.labels }}

.goreleaser.yaml

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,13 @@
1-
before:
2-
hooks:
3-
- go mod tidy
41
builds:
52
- env:
63
- CGO_ENABLED=0
7-
targets:
8-
- linux_amd64
9-
- windows_amd64
10-
- darwin_arm64
11-
- linux_arm_6
4+
goos:
5+
- linux
6+
- windows
7+
goarch:
8+
- amd64
9+
- arm64
1210
ldflags:
1311
- -s -w -X mapserver/app.Version={{.Version}}
1412
changelog:
1513
sort: asc
16-
filters:
17-
exclude:
18-
- '^docs:'
19-
- '^test:'
20-
dockers:
21-
- image_templates:
22-
- "minetestmapserver/mapserver:{{ .Version }}"
23-
- "minetestmapserver/mapserver:latest"
24-
dockerfile: Dockerfile

Dockerfile

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1-
FROM scratch
2-
COPY mapserver /bin/mapserver
1+
FROM node:20.15.0 as bundle-builder
2+
COPY public /public
3+
WORKDIR /public
4+
RUN npm ci && npm run bundle
5+
6+
FROM golang:1.22.4 as go-builder
7+
COPY . /data
8+
COPY --from=bundle-builder /public/js/bundle* /data/public/js/
9+
WORKDIR /data
10+
RUN CGO_ENABLED=0 go build .
11+
12+
FROM alpine:3.20.1
13+
COPY --from=go-builder /data/mapserver /bin/mapserver
314
ENV MT_CONFIG_PATH "mapserver.json"
415
ENV MT_LOGLEVEL "INFO"
516
ENV MT_READONLY "false"

doc/install.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@ For additional infos (lag,time,players => active mode) on the mapserver interfac
1414

1515
## Docker image
1616

17-
* Docker-hub: https://hub.docker.com/repository/docker/minetestmapserver/mapserver
18-
1917
Simple docker run example to run in the world-directory:
2018

2119
```
22-
docker run --rm --it -p 8080:8080 -v $(pwd):/minetest -w /minetest minetestmapserver/mapserver
20+
docker run --rm --it -p 8080:8080 -v $(pwd):/minetest -w /minetest ghcr.io/minetest-mapserver/mapserver
2321
```
2422

2523
## Docker compose
@@ -29,7 +27,7 @@ Examplary `docker-compose` config:
2927
```yml
3028
services:
3129
mapserver:
32-
image: minetesttools/mapserver
30+
image: ghcr.io/minetest-mapserver/mapserver
3331
restart: always
3432
networks:
3533
- default

go.mod

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,37 +21,28 @@ require (
2121
github.com/cespare/xxhash/v2 v2.2.0 // indirect
2222
github.com/davecgh/go-spew v1.1.1 // indirect
2323
github.com/dustin/go-humanize v1.0.1 // indirect
24-
github.com/google/go-cmp v0.6.0 // indirect
2524
github.com/hashicorp/errwrap v1.1.0 // indirect
2625
github.com/hashicorp/go-multierror v1.1.1 // indirect
2726
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
28-
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
2927
github.com/klauspost/compress v1.16.0 // indirect
3028
github.com/kr/text v0.2.0 // indirect
3129
github.com/mattn/go-isatty v0.0.20 // indirect
3230
github.com/mattn/go-sqlite3 v1.14.16 // indirect
33-
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
3431
github.com/ncruces/go-strftime v0.1.9 // indirect
3532
github.com/pmezard/go-difflib v1.0.0 // indirect
3633
github.com/prometheus/client_model v0.5.0 // indirect
3734
github.com/prometheus/common v0.48.0 // indirect
3835
github.com/prometheus/procfs v0.12.0 // indirect
3936
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
4037
go.uber.org/atomic v1.7.0 // indirect
41-
golang.org/x/mod v0.16.0 // indirect
4238
golang.org/x/net v0.23.0 // indirect
4339
golang.org/x/sys v0.19.0 // indirect
44-
golang.org/x/tools v0.19.0 // indirect
4540
google.golang.org/protobuf v1.33.0 // indirect
4641
gopkg.in/yaml.v3 v3.0.1 // indirect
47-
lukechampine.com/uint128 v1.2.0 // indirect
48-
modernc.org/cc/v3 v3.41.0 // indirect
49-
modernc.org/ccgo/v3 v3.17.0 // indirect
5042
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect
5143
modernc.org/libc v1.52.1 // indirect
5244
modernc.org/mathutil v1.6.0 // indirect
5345
modernc.org/memory v1.8.0 // indirect
54-
modernc.org/opt v0.1.3 // indirect
5546
modernc.org/strutil v1.2.0 // indirect
5647
modernc.org/token v1.1.0 // indirect
5748
)

0 commit comments

Comments
 (0)