1
0
mirror of https://github.com/qdm12/caddy-scratch.git synced 2022-03-12 19:25:15 +03:00

Github workflows actions to build Docker images

This commit is contained in:
Quentin McGaw
2020-05-12 20:05:02 -04:00
parent ead3bc35bc
commit cc15bf39dc
8 changed files with 108 additions and 59 deletions

View File

@@ -1,8 +1,7 @@
.git
hooks
.github
.gitignore
docker-compose.yml
Dockerfile
LICENSE
README.md
title.svg
title.svg

12
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
name: Docker build
on:
pull_request:
branches: [master]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build image
run: docker build .

37
.github/workflows/buildx-latest.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: Buildx latest
on:
push:
branches: [master]
paths-ignore:
- .github/workflows/build.yml
- .github/workflows/buildx-release.yml
- .github/workflows/dockerhub-description.yml
- .dockerignore
- .gitignore
- docker-compose.yml
- LICENSE
- README.md
- title.svg
jobs:
buildx:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Buildx setup
uses: crazy-max/ghaction-docker-buildx@v1
with:
version: latest
- name: Dockerhub login
run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u qmcgaw --password-stdin 2>&1
- name: Run Buildx
run: |
docker buildx build \
--progress plain \
--platform=linux/amd64,linux/386,linux/arm64 \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
--build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VERSION=latest \
-t qmcgaw/caddy-scratch:latest \
--push \
.
- run: curl -X POST https://hooks.microbadger.com/images/qmcgaw/caddy-scratch/0cfauMomB4AqCj0ulbm2-WSIf-4= || exit 0

37
.github/workflows/buildx-release.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: Buildx release
on:
release:
types: [published]
paths-ignore:
- .github/workflows/build.yml
- .github/workflows/buildx-latest.yml
- .github/workflows/dockerhub-description.yml
- .dockerignore
- .gitignore
- docker-compose.yml
- LICENSE
- README.md
- title.svg
jobs:
buildx:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- id: buildx
uses: crazy-max/ghaction-docker-buildx@v1
with:
version: latest
- name: Dockerhub login
run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u qmcgaw --password-stdin 2>&1
- name: Run Buildx
run: |
docker buildx build \
--progress plain \
--platform=linux/amd64,linux/386,linux/arm64 \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
--build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VERSION=${GITHUB_REF##*/} \
-t qmcgaw/caddy-scratch:${GITHUB_REF##*/} \
--push \
.
- run: curl -X POST https://hooks.microbadger.com/images/qmcgaw/caddy-scratch/0cfauMomB4AqCj0ulbm2-WSIf-4= || exit 0

View File

@@ -0,0 +1,19 @@
name: Docker Hub description
on:
push:
branches: [master]
paths:
- README.md
- .github/workflows/dockerhub-description.yml
jobs:
dockerHubDescription:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Docker Hub Description
uses: peter-evans/dockerhub-description@v2.1.0
env:
DOCKERHUB_USERNAME: qmcgaw
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
DOCKERHUB_REPOSITORY: qmcgaw/caddy-scratch

View File

@@ -1,20 +0,0 @@
dist: xenial
sudo: required
git:
quiet: true
depth: 1
env:
global:
- DOCKER_REPO=qmcgaw/caddy-scratch
before_install:
- curl -fsSL https://get.docker.com | sh
- echo '{"experimental":"enabled"}' | sudo tee /etc/docker/daemon.json
- mkdir -p $HOME/.docker
- echo '{"experimental":"enabled"}' | sudo tee $HOME/.docker/config.json
- sudo service docker start
install:
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- docker buildx create --name xbuilder --use
script: travis_wait 60 bash ci.sh
after_success:
- curl -X POST https://hooks.microbadger.com/images/$DOCKER_REPO/0cfauMomB4AqCj0ulbm2-WSIf-4= || exit 0

View File

@@ -4,7 +4,7 @@
<img height="200" src="title.svg?sanitize=true">
[![Build Status](https://travis-ci.org/qdm12/caddy-scratch.svg?branch=master)](https://travis-ci.org/qdm12/caddy-scratch)
[![Build status](https://github.com/qdm12/caddy-scratch/workflows/Buildx%20latest/badge.svg)](https://github.com/qdm12/caddy-scratch/actions?query=workflow%3A%22Buildx+latest%22)
[![Docker Pulls](https://img.shields.io/docker/pulls/qmcgaw/caddy-scratch.svg)](https://hub.docker.com/r/qmcgaw/caddy-scratch)
[![Docker Stars](https://img.shields.io/docker/stars/qmcgaw/caddy-scratch.svg)](https://hub.docker.com/r/qmcgaw/caddy-scratch)
[![Image size](https://images.microbadger.com/badges/image/qmcgaw/caddy-scratch.svg)](https://microbadger.com/images/qmcgaw/caddy-scratch)

35
ci.sh
View File

@@ -1,35 +0,0 @@
#!/bin/bash
ARCHS=linux/amd64,linux/386,linux/arm64
echo -e "\n\nPull request: $TRAVIS_PULL_REQUEST\nRelease tag: $TRAVIS_TAG\nBranch: $TRAVIS_BRANCH\n\nTarget arch: $ARCHS\n\n"
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
echo -e "\n\nBuilding pull request without pushing to Docker Hub\n\n"
docker buildx build \
--progress plain \
--platform="$ARCHS" \
.
exit $?
fi
echo $DOCKER_PASSWORD | docker login -u qmcgaw --password-stdin 2>&1
TAG="$TRAVIS_TAG"
if [ -z "$TAG" ]; then
TAG=latest
if [ "$TRAVIS_BRANCH" != "master" ]; then
TAG="$TRAVIS_BRANCH"
fi
fi
echo -e "\n\nBuilding Docker images for \"$DOCKER_REPO:$TAG\"\n\n"
docker buildx build \
--progress plain \
--platform="$ARCHS" \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
--build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VERSION=$TAG \
-t $DOCKER_REPO:$TAG \
--push \
.