From 3d9cabcea4cd6a139c682d045f085981891bc2ed Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Fri, 26 Oct 2018 12:08:59 +0300 Subject: [PATCH] Add GitHub workflow for branch test, build and push --- .github/main.workflow | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/main.workflow diff --git a/.github/main.workflow b/.github/main.workflow new file mode 100644 index 0000000..e5c33c0 --- /dev/null +++ b/.github/main.workflow @@ -0,0 +1,44 @@ +workflow "Publish branch" { + on = "push" + resolves = ["Is branch", "Push branch"] +} + +action "Is branch" { + uses = "actions/bin/filter@master" + args = "ref refs/heads/*" +} + +action "Test branch" { + needs = ["Is branch"] + uses = "docker://golang:1.10" + runs = "sh -c" + args = ["cp -a vendor/. /usr/local/go/src; go test -v ./..."] +} + +action "Build branch" { + needs = ["Test branch"] + uses = "actions/docker/cli@master" + args = "build -t app -f Dockerfile.ci ." +} + +action "Tag branch" { + needs = ["Build branch"] + uses = "actions/docker/cli@master" + args = "tag app ${DOCKER_IMAGE}:$(echo ${GITHUB_REF} | rev | cut -d/ -f1 | rev)-$(echo ${GITHUB_SHA} | head -c7)" + secrets = ["DOCKER_IMAGE"] +} + +action "Login branch" { + needs = ["Tag branch"] + uses = "actions/docker/login@master" + secrets = ["DOCKER_USERNAME", "DOCKER_PASSWORD"] +} + +action "Push branch" { + needs = ["Login branch"] + uses = "actions/docker/cli@master" + args = "push ${DOCKER_IMAGE}:$(echo ${GITHUB_REF} | rev | cut -d/ -f1 | rev)-$(echo ${GITHUB_SHA} | head -c7)" + secrets = ["DOCKER_IMAGE"] +} + +