WIP: Docker container

This commit is contained in:
Aaron Dewes 2021-10-27 15:29:18 +01:00
parent 6b7ab33efe
commit 2b095bbba3
3 changed files with 104 additions and 0 deletions

43
.github/workflows/on-push.yml vendored Normal file
View File

@ -0,0 +1,43 @@
name: Build on push
permissions:
packages: write
on:
push:
branches:
- main
- master
jobs:
build:
name: Build image
runs-on: ubuntu-20.04
steps:
- name: Checkout project
uses: actions/checkout@v2
- name: Set env variables
run: |
echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')" >> $GITHUB_ENV
IMAGE_NAME="${GITHUB_REPOSITORY#*/}"
echo "IMAGE_NAME=${IMAGE_NAME//docker-/}" >> $GITHUB_ENV
- name: Login to Docker Hub
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
id: qemu
- name: Setup Docker buildx action
uses: docker/setup-buildx-action@v1
id: buildx
- name: Run Docker buildx
run: |
docker buildx build \
--platform linux/amd64,linux/arm64 \
--tag ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME:$BRANCH \
--output "type=registry" ./

43
.github/workflows/on-tag.yml vendored Normal file
View File

@ -0,0 +1,43 @@
name: Build on tag
permissions:
packages: write
on:
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+
- v[0-9]+.[0-9]+.[0-9]+-*
jobs:
build:
name: Build image
runs-on: ubuntu-20.04
steps:
- name: Checkout project
uses: actions/checkout@v2
- name: Set env variables
run: |
echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
IMAGE_NAME="${GITHUB_REPOSITORY#*/}"
echo "IMAGE_NAME=${IMAGE_NAME//docker-/}" >> $GITHUB_ENV
- name: Login to Docker Hub
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
id: qemu
- name: Setup Docker buildx action
uses: docker/setup-buildx-action@v1
id: buildx
- name: Run Docker buildx
run: |
docker buildx build \
--platform linux/amd64,linux/arm64 \
--tag ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME:$BRANCH \
--output "type=registry" ./

18
Dockerfile Normal file
View File

@ -0,0 +1,18 @@
# Go base image
FROM golang:1.17-alpine as builder
RUN go get github.com/GeertJohan/go.rice && go get github.com/GeertJohan/go.rice/rice
WORKDIR /app
COPY . .
RUN go install
RUN rice embed-go && go build
FROM golang:1.17-alpine
COPY --from=builder /app/lnme /lnme
CMD ["/lnme"]