mirror of https://github.com/dirtbags/moth.git
Windows executables from CI/CD?
This commit is contained in:
parent
4710b6927a
commit
fa049db1a2
|
@ -5,4 +5,5 @@
|
|||
__debug_bin
|
||||
*.tar.gz
|
||||
transpile
|
||||
mothd
|
||||
mothd
|
||||
winmoth.*.zip
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
stages:
|
||||
- test
|
||||
- build
|
||||
- push
|
||||
|
||||
Run unit tests:
|
||||
|
@ -37,6 +38,16 @@ Generage coverage XML:
|
|||
coverage_format: cobertura
|
||||
path: coverage.xml
|
||||
|
||||
build-win:
|
||||
stage: build
|
||||
image: *goimage
|
||||
needs: ["Run unit tests"]
|
||||
script:
|
||||
- ./build/package/winbuild.sh
|
||||
artifacts:
|
||||
paths:
|
||||
- build/package/winmoth.*.zip
|
||||
|
||||
push:
|
||||
stage: push
|
||||
needs: ["Run unit tests"]
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
FROM golang:1 AS builder
|
||||
ARG GO_VERSION=1.21-alpine
|
||||
FROM docker.io/library/golang:${GO_VERSION} AS builder
|
||||
COPY go.* /src/
|
||||
COPY pkg /src/pkg/
|
||||
COPY cmd /src/cmd/
|
||||
|
|
|
@ -2,19 +2,34 @@
|
|||
|
||||
set -e
|
||||
|
||||
cd $(dirname $0)/../..
|
||||
cd $(dirname $0)
|
||||
base=../..
|
||||
|
||||
PODMAN=$(command -v podman || echo docker)
|
||||
VERSION=$(cat CHANGELOG.md | awk -F '[][]' '/^## \[/ {print $2; exit}')
|
||||
VERSION=$(cat $base/CHANGELOG.md | awk -F '[][]' '/^## \[/ {print $2; exit}')
|
||||
GO_VERSION=$(cat $base/go.mod | sed -n 's/^go //p')
|
||||
|
||||
for target in moth; do
|
||||
tag=dirtbags/$target:$VERSION
|
||||
echo "==== Building $tag"
|
||||
$PODMAN build \
|
||||
--build-arg http_proxy --build-arg https_proxy --build-arg no_proxy \
|
||||
--tag $tag \
|
||||
--target $target \
|
||||
-f build/package/Containerfile .
|
||||
done
|
||||
(
|
||||
zipfile=winmoth.$VERSION.zip
|
||||
echo "=== Building $zipfile"
|
||||
mkdir -p winmoth winmoth/state winmoth/puzzles winmoth/mothballs
|
||||
echo devel > winmoth/state/teamids.txt
|
||||
cp moth-devel.bat winmoth
|
||||
cp -a $base/theme winmoth
|
||||
(
|
||||
cd winmoth
|
||||
GOOS=windows GOARCH=amd64 go build ../$base/cmd/mothd/...
|
||||
)
|
||||
zip -r $zipfile winmoth
|
||||
|
||||
rm -rf winmoth
|
||||
)
|
||||
|
||||
tag=dirtbags/moth:$VERSION
|
||||
echo "==== Building $tag"
|
||||
docker build \
|
||||
--build-arg GO_VERSION=$GO_VERSION \
|
||||
--build-arg http_proxy --build-arg https_proxy --build-arg no_proxy \
|
||||
--tag $tag \
|
||||
-f Containerfile $base
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
.\mothd.exe -puzzles puzzles
|
|
@ -0,0 +1,24 @@
|
|||
#! /bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd $(dirname $0)
|
||||
base=../..
|
||||
|
||||
VERSION=$(cat $base/CHANGELOG.md | awk -F '[][]' '/^## \[/ {print $2; exit}')
|
||||
|
||||
(
|
||||
zipfile=winmoth.$VERSION.zip
|
||||
echo "=== Building $zipfile"
|
||||
mkdir -p winmoth winmoth/state winmoth/puzzles winmoth/mothballs
|
||||
echo devel > winmoth/state/teamids.txt
|
||||
cp moth-devel.bat winmoth
|
||||
cp -a $base/theme winmoth
|
||||
(
|
||||
cd winmoth
|
||||
GOOS=windows GOARCH=amd64 go build ../$base/cmd/mothd/...
|
||||
)
|
||||
zip -r $zipfile winmoth
|
||||
|
||||
rm -rf winmoth
|
||||
)
|
Loading…
Reference in New Issue