Skip to content
This repository has been archived by the owner on Nov 8, 2024. It is now read-only.

feat: use debian for docker file #801

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Create and publish a Docker image
on:
push:
branches:
- 'master'
tags:
- ".*"
pull_request:
paths:
- Dockerfile
- .github/workflows/docker.yml
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Log in to the Container registry
uses: docker/login-action@master
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels)
id: meta-drafter
uses: docker/metadata-action@master
with:
images: ${{ env.REGISTRY }}/${{ github.repository }}/drafter

- name: Build and push drafter Docker image
uses: docker/build-push-action@master
with:
push: true
tags: ${{ steps.meta-drafter.outputs.tags }}
labels: ${{ steps.meta-drafter.outputs.labels }}
target: drafter
no-cache-filters: drafter-build,drafter
cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ github.repository }}:latest
23 changes: 9 additions & 14 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,23 +1,18 @@
FROM alpine:3.10 as build
FROM debian:bullseye-slim AS drafter-build
MAINTAINER Apiary "[email protected]"

WORKDIR /usr/src/drafter

ADD CMakeLists.txt DefaultBuildType.cmake ./
ADD packages packages
COPY . /usr/src/drafter

WORKDIR /tmp/drafter

RUN apk add --no-cache cmake make g++
RUN cmake /usr/src/drafter
WORKDIR /usr/src/drafter

RUN make drafter
RUN make install
RUN apt-get install --yes cmake g++

FROM alpine:3.10
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
RUN cmake --build build
RUN cmake --install build

RUN apk add --no-cache gcc
COPY --from=build /usr/local/bin/drafter /usr/local/bin/drafter
FROM debian:bullseye-slim AS drafter
COPY --from=drafter-build /usr/local/bin/drafter /usr/local/bin/drafter
ADD LICENSE /usr/local/share/licenses/drafter/LICENSE

CMD drafter