52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
name: release
|
|
on:
|
|
release:
|
|
types: [published]
|
|
paths:
|
|
- .github/workflows/release.yml
|
|
- cmd/**
|
|
- internal/**
|
|
- .dockerignore
|
|
- .golangci.yml
|
|
- Dockerfile
|
|
- go.mod
|
|
- go.sum
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- env:
|
|
DOCKER_BUILDKIT: "1"
|
|
run: docker build --target test .
|
|
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- env:
|
|
DOCKER_BUILDKIT: "1"
|
|
run: docker build --target lint .
|
|
|
|
docker:
|
|
runs-on: ubuntu-latest
|
|
needs: [test, lint]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: docker/setup-qemu-action@v1
|
|
- uses: docker/setup-buildx-action@v1
|
|
- name: Dockerhub login
|
|
run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u qmcgaw --password-stdin 2>&1
|
|
- name: Docker buildx
|
|
run: |
|
|
docker buildx build \
|
|
--platform=linux/amd64,linux/386,linux/arm64,linux/arm/v6,linux/arm/v7,linux/s390x,linux/ppc64le \
|
|
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
|
--build-arg COMMIT=`git rev-parse --short HEAD` \
|
|
--build-arg VERSION=${GITHUB_REF##*/} \
|
|
-t qmcgaw/private-internet-access:${GITHUB_REF##*/} \
|
|
-t qmcgaw/gluetun:${GITHUB_REF##*/} \
|
|
--push \
|
|
.
|