Skip to content

Commit

Permalink
Merge pull request #34 from yannh/push-docker-image
Browse files Browse the repository at this point in the history
Github action - build docker image
  • Loading branch information
yannh authored Feb 14, 2021
2 parents 61e7082 + 79bd213 commit e4f6eae
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 2 deletions.
65 changes: 65 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,71 @@ jobs:
- name: acceptance-test
run: make docker-acceptance

- name: build-image
run: make docker-image

- name: save image
run: make save-image

- name: archive image
uses: actions/upload-artifact@v2
with:
name: kubeconform-image
path: kubeconform-image.tar

publish-image-master:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
needs: test
steps:
- name: checkout
uses: actions/checkout@v2

- name: Download kubeconform image
uses: actions/download-artifact@v2
with:
name: kubeconform-image

- name: load image
run: docker load < kubeconform-image.tar

- name: push
run: |
echo "${{ github.token }}" | docker login https://docker.pkg.github.com -u ${GITHUB_ACTOR} --password-stdin
make push-image
env:
RELEASE_VERSION: master

publish-image-release:
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
needs: test
steps:
- name: checkout
uses: actions/checkout@v2

- name: Download kubeconform image
uses: actions/download-artifact@v2
with:
name: kubeconform-image

- name: load image
run: docker load < kubeconform-image.tar

- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV

- name: push-tag
run: |
echo "${{ github.token }}" | docker login https://docker.pkg.github.com -u ${GITHUB_ACTOR} --password-stdin
make push-image
- name: push-latest
run: |
make push-image
env:
RELEASE_VERSION: latest

goreleaser:
runs-on: ubuntu-latest
needs: test
Expand Down
13 changes: 11 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/usr/bin/make -f

RELEASE_VERSION ?= latest

.PHONY: test-build test build build-static docker-test docker-build-static build-bats docker-acceptance docker-image release

test-build: test build
Expand All @@ -11,10 +13,17 @@ build:
go build -o bin/ ./...

docker-image:
docker build -t kubeconform .
docker build -t kubeconform:${RELEASE_VERSION} .

save-image:
docker save --output kubeconform-image.tar kubeconform:${RELEASE_VERSION}

push-image:
docker tag kubeconform:latest docker.pkg.github.com/yannh/kubeconform/kubeconform:${RELEASE_VERSION}
docker push docker.pkg.github.com/yannh/kubeconform/kubeconform:${RELEASE_VERSION}

build-static:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o bin/ ./...
CGO_ENABLED=0 GOFLAGS=-mod=vendor GOOS=linux GOARCH=amd64 GO111MODULE=on go build -trimpath -tags=netgo -ldflags "-extldflags=\"-static\"" -a -o bin/ ./...

docker-test:
docker run -t -v $$PWD:/go/src/github.com/yannh/kubeconform -w /go/src/github.com/yannh/kubeconform golang:1.14 make test
Expand Down

0 comments on commit e4f6eae

Please sign in to comment.