ci: test build Dockerfile

This commit is contained in:
CrazyMax 2023-03-02 19:35:13 +01:00
parent c3a68cbeca
commit cb1f376ddb
No known key found for this signature in database
GPG Key ID: 3248E46B6BB8C7F7
4 changed files with 124 additions and 0 deletions

View File

@ -74,3 +74,93 @@ jobs:
name: Check context
run: |
docker context inspect foo
build-linux:
runs-on: ubuntu-latest
services:
registry:
image: registry:2
ports:
- 5000:5000
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker
uses: ./
with:
version: v23.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
driver: docker
driver-opts: network=host
-
name: Build and push
uses: docker/build-push-action@v4
with:
context: ./test
push: true
tags: |
localhost:5000/name/app:latest
-
name: Inspect
run: |
docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
build-macos:
runs-on: macos-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker
uses: ./
with:
version: v23.0.1
-
name: Start registry
run: |
docker run -d -p 5000:5000 --restart=always --name registry registry:2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
driver: docker
driver-opts: network=host
-
name: Build and push
uses: docker/build-push-action@v4
with:
context: ./test
push: true
tags: |
localhost:5000/name/app:latest
-
name: Inspect
run: |
docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
build-windows:
runs-on: windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker
uses: ./
with:
version: v23.0.1
-
name: Build
working-directory: ./test
run: |
docker build -f win.Dockerfile -t test .
-
name: Inspect
run: |
docker image inspect test

9
test/Dockerfile Normal file
View File

@ -0,0 +1,9 @@
# syntax=docker/dockerfile:1
FROM --platform=$BUILDPLATFORM golang:alpine AS build
ARG TARGETPLATFORM
ARG BUILDPLATFORM
RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM" > /log
FROM alpine
COPY --from=build /log /log

22
test/hello.txt Normal file
View File

@ -0,0 +1,22 @@
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(windows-amd64, nanoserver-1809)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run a Windows Server container with:
PS C:\> docker run -it mcr.microsoft.com/windows/servercore:ltsc2019 powershell
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/

3
test/win.Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM mcr.microsoft.com/windows/nanoserver:1809
COPY hello.txt C:
CMD ["cmd", "/C", "type C:\\hello.txt"]