Skip to content
This repository has been archived by the owner on Nov 2, 2021. It is now read-only.

Commit

Permalink
Merge pull request #26 from cedrickring/go1.14
Browse files Browse the repository at this point in the history
Add support for Go 1.14
  • Loading branch information
dougnukem authored Mar 3, 2020
2 parents c0f74f4 + aff24c3 commit cdeafbe
Show file tree
Hide file tree
Showing 11 changed files with 129 additions and 64 deletions.
17 changes: 5 additions & 12 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,11 @@ jobs:
env:
IMPORT: cedrickring/golang-action
PROJECT_PATH: ./tests/projects/go_standard
- name: Install dockerfile_lint
run: sudo npm i -g dockerfile_lint
- name: Lint
uses: actions/action-builder/shell@master
with:
entrypoint: make
args: lint
run: make lint
- name: Test
uses: actions/action-builder/shell@master
with:
entrypoint: make
args: test
run: make test
- name: Build
uses: actions/action-builder/docker@master
with:
entrypoint: make
args: build
run: make build
37 changes: 12 additions & 25 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,33 +31,20 @@ jobs:
env:
IMPORT: cedrickring/golang-action
PROJECT_PATH: ./tests/projects/go_standard
- name: Install dockerfile_lint
run: sudo npm i -g dockerfile_lint
- name: Lint
uses: actions/action-builder/shell@master
with:
entrypoint: make
args: lint
- name: Docker Tag
uses: actions/action-builder/docker@master
with:
entrypoint: make
args: docker-tag
- name: Docker Login
uses: actions/docker/login@master
env:
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
run: make lint
- name: Test
uses: actions/action-builder/shell@master
run: make test
- name: Docker Login
uses: azure/docker-login@v1
with:
entrypoint: make
args: test
password: ${{ secrets.DOCKER_PASSWORD }}
username: ${{ secrets.DOCKER_USERNAME }}
- name: Docker Tag
run: make docker-tag
- name: Build
uses: actions/action-builder/docker@master
with:
entrypoint: make
args: build
run: make test
- name: Docker Publish
uses: actions/action-builder/docker@master
with:
entrypoint: make
args: publish
run: make publish
10 changes: 5 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
FROM golang:1.13
FROM golang:1.14

LABEL name="Golang Action"
LABEL maintainer="Cedric Kring"
LABEL version="1.4.1"
LABEL version="1.5.0"
LABEL repository="https://github.com/cedrickring/golang-action"

LABEL com.github.actions.name="Golang Action"
LABEL com.github.actions.description="Run Golang commands"
LABEL com.github.actions.icon="box"
LABEL com.github.actions.color="blue"

# Install dep and check sha256 checksum matches for version 0.5.0 https://github.com/golang/dep/releases/tag/v0.5.0
# Install dep and check sha256 checksum matches for version 0.5.4 https://github.com/golang/dep/releases/tag/v0.5.4
RUN set -eux; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "287b08291e14f1fae8ba44374b26a2b12eb941af3497ed0ca649253e21ba2f83 $GOPATH/bin/dep" | sha256sum -c -; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.4/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "40a78c13753f482208d3f4bea51244ca60a914341050c588dad1f00b1acc116c $GOPATH/bin/dep" | sha256sum -c -; \
chmod +x "${GOPATH}/bin/dep";

COPY entrypoint.sh /entrypoint.sh
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- uses: actions/checkout@master

- name: run
uses: cedrickring/golang-action@1.4.1
uses: cedrickring/golang-action@1.5.0
```
Expand All @@ -27,7 +27,7 @@ To run a custom command, just use:
```yaml
steps:
- name: Run custom command
uses: cedrickring/golang-action@1.4.1
uses: cedrickring/golang-action@1.5.0
with:
args: make my-target
```
Expand All @@ -39,7 +39,7 @@ source Go project:
```yaml
steps:
- name: Run with custom import path
uses: cedrickring/golang-action@1.4.1
uses: cedrickring/golang-action@1.5.0
env:
IMPORT: "root/repo"
```
Expand All @@ -49,7 +49,7 @@ To use Go Modules add `GO111MODULE=on` to the step:
```yaml
steps:
- name: Go Modules
uses: cedrickring/golang-action@1.4.1
uses: cedrickring/golang-action@1.5.0
env:
GO111MODULE: "on"
```
Expand All @@ -59,7 +59,7 @@ If your go project is not located at the root of the repo you can also specify e
```yaml
steps:
- name: Custom project path
uses: cedrickring/golang-action@1.4.1
uses: cedrickring/golang-action@1.5.0
env:
PROJECT_PATH: "./path/in/my/project"
```
Expand All @@ -68,5 +68,5 @@ To use a specific golang version (1.10, 1.11, 1.12, 1.13), defaults to the lates
```yaml
steps:
- name: Use Go 1.11
uses: cedrickring/golang-action/go1.11@1.4.1
uses: cedrickring/golang-action/go1.11@1.5.0
```
3 changes: 3 additions & 0 deletions docker.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ ACTION_MINOR_VERSION=$(shell build/semver get minor $(ACTION_VERSION))

.PHONY: docker-lint
docker-lint: update-docker-go-versions ## Run Dockerfile Lint on all dockerfiles.
ifeq (, $(shell which dockerfile_lint))
$(error "dockerfile_lint not installed")
endif
dockerfile_lint -r $(ROOT_DIR)/.dockerfile_lint/github_actions.yaml $(wildcard Dockerfile* */Dockerfile*)

.PHONY: docker-build
Expand Down
8 changes: 4 additions & 4 deletions go1.10/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ FROM golang:1.10

LABEL name="Golang Action"
LABEL maintainer="Cedric Kring"
LABEL version="1.4.1"
LABEL version="1.5.0"
LABEL repository="https://github.com/cedrickring/golang-action"

LABEL com.github.actions.name="Golang Action"
LABEL com.github.actions.description="Run Golang commands"
LABEL com.github.actions.icon="box"
LABEL com.github.actions.color="blue"

# Install dep and check sha256 checksum matches for version 0.5.0 https://github.com/golang/dep/releases/tag/v0.5.0
# Install dep and check sha256 checksum matches for version 0.5.4 https://github.com/golang/dep/releases/tag/v0.5.4
RUN set -eux; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "287b08291e14f1fae8ba44374b26a2b12eb941af3497ed0ca649253e21ba2f83 $GOPATH/bin/dep" | sha256sum -c -; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.4/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "40a78c13753f482208d3f4bea51244ca60a914341050c588dad1f00b1acc116c $GOPATH/bin/dep" | sha256sum -c -; \
chmod +x "${GOPATH}/bin/dep";

COPY entrypoint.sh /entrypoint.sh
Expand Down
8 changes: 4 additions & 4 deletions go1.11/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ FROM golang:1.11

LABEL name="Golang Action"
LABEL maintainer="Cedric Kring"
LABEL version="1.4.1"
LABEL version="1.5.0"
LABEL repository="https://github.com/cedrickring/golang-action"

LABEL com.github.actions.name="Golang Action"
LABEL com.github.actions.description="Run Golang commands"
LABEL com.github.actions.icon="box"
LABEL com.github.actions.color="blue"

# Install dep and check sha256 checksum matches for version 0.5.0 https://github.com/golang/dep/releases/tag/v0.5.0
# Install dep and check sha256 checksum matches for version 0.5.4 https://github.com/golang/dep/releases/tag/v0.5.4
RUN set -eux; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "287b08291e14f1fae8ba44374b26a2b12eb941af3497ed0ca649253e21ba2f83 $GOPATH/bin/dep" | sha256sum -c -; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.4/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "40a78c13753f482208d3f4bea51244ca60a914341050c588dad1f00b1acc116c $GOPATH/bin/dep" | sha256sum -c -; \
chmod +x "${GOPATH}/bin/dep";

COPY entrypoint.sh /entrypoint.sh
Expand Down
8 changes: 4 additions & 4 deletions go1.12/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ FROM golang:1.12

LABEL name="Golang Action"
LABEL maintainer="Cedric Kring"
LABEL version="1.4.1"
LABEL version="1.5.0"
LABEL repository="https://github.com/cedrickring/golang-action"

LABEL com.github.actions.name="Golang Action"
LABEL com.github.actions.description="Run Golang commands"
LABEL com.github.actions.icon="box"
LABEL com.github.actions.color="blue"

# Install dep and check sha256 checksum matches for version 0.5.0 https://github.com/golang/dep/releases/tag/v0.5.0
# Install dep and check sha256 checksum matches for version 0.5.4 https://github.com/golang/dep/releases/tag/v0.5.4
RUN set -eux; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "287b08291e14f1fae8ba44374b26a2b12eb941af3497ed0ca649253e21ba2f83 $GOPATH/bin/dep" | sha256sum -c -; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.4/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "40a78c13753f482208d3f4bea51244ca60a914341050c588dad1f00b1acc116c $GOPATH/bin/dep" | sha256sum -c -; \
chmod +x "${GOPATH}/bin/dep";

COPY entrypoint.sh /entrypoint.sh
Expand Down
8 changes: 4 additions & 4 deletions go1.13/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ FROM golang:1.13

LABEL name="Golang Action"
LABEL maintainer="Cedric Kring"
LABEL version="1.4.1"
LABEL version="1.5.0"
LABEL repository="https://github.com/cedrickring/golang-action"

LABEL com.github.actions.name="Golang Action"
LABEL com.github.actions.description="Run Golang commands"
LABEL com.github.actions.icon="box"
LABEL com.github.actions.color="blue"

# Install dep and check sha256 checksum matches for version 0.5.0 https://github.com/golang/dep/releases/tag/v0.5.0
# Install dep and check sha256 checksum matches for version 0.5.4 https://github.com/golang/dep/releases/tag/v0.5.4
RUN set -eux; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "287b08291e14f1fae8ba44374b26a2b12eb941af3497ed0ca649253e21ba2f83 $GOPATH/bin/dep" | sha256sum -c -; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.4/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "40a78c13753f482208d3f4bea51244ca60a914341050c588dad1f00b1acc116c $GOPATH/bin/dep" | sha256sum -c -; \
chmod +x "${GOPATH}/bin/dep";

COPY entrypoint.sh /entrypoint.sh
Expand Down
22 changes: 22 additions & 0 deletions go1.14/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
FROM golang:1.14

LABEL name="Golang Action"
LABEL maintainer="Cedric Kring"
LABEL version="1.5.0"
LABEL repository="https://github.com/cedrickring/golang-action"

LABEL com.github.actions.name="Golang Action"
LABEL com.github.actions.description="Run Golang commands"
LABEL com.github.actions.icon="box"
LABEL com.github.actions.color="blue"

# Install dep and check sha256 checksum matches for version 0.5.4 https://github.com/golang/dep/releases/tag/v0.5.4
RUN set -eux; \
curl -L -s https://github.com/golang/dep/releases/download/v0.5.4/dep-linux-amd64 -o "$GOPATH/bin/dep"; \
echo "40a78c13753f482208d3f4bea51244ca60a914341050c588dad1f00b1acc116c $GOPATH/bin/dep" | sha256sum -c -; \
chmod +x "${GOPATH}/bin/dep";

COPY entrypoint.sh /entrypoint.sh

ENTRYPOINT ["/entrypoint.sh"]
CMD [""]
60 changes: 60 additions & 0 deletions go1.14/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/bin/sh

set -e

if [ -z "${IMPORT}" ]; then
IMPORT="${GITHUB_REPOSITORY}"
fi
WORKDIR="${GOPATH}/src/github.com/${IMPORT}"

# PROJECT_PATH specifies the subdirectory in the working directory that the Go project is
if [ -z "${PROJECT_PATH}" ]; then
PROJECT_PATH="."
fi

# Go can only find dependencies if they're under $GOPATH/src.
# GitHub Actions mounts your repository outside of $GOPATH.
# So symlink the repository into $GOPATH, and then cd to it.
mkdir -p "$(dirname "${WORKDIR}")"
ln -s "${PWD}" "${WORKDIR}"
cd "${WORKDIR}/${PROJECT_PATH}"

# If a command was specified with `args="..."`, then run it. Otherwise,
# look for something useful to run.
if [ $# -eq 0 ] || [ "$*" = "" ]; then
if [ -r Makefile ]; then
make
else
if [ -r go.mod ]; then
export GO111MODULE=on
# Check if using vendored dependencies
if [ -d "vendor" ]; then
export GOFLAGS="-mod=vendor"
else
# Ensure no go.mod changes are made that weren't committed
export GOFLAGS="-mod=readonly"
fi
else
if [ -r Gopkg.toml ]; then
# Check if using vendored dependencies
if [ -d "vendor" ]; then
# Check that dep is in sync with /vendor dependencies and that running dep ensure doesn't result in modifications to Gopkg.lock/Gopkg.toml
"$GOPATH/bin/dep" ensure && "$GOPATH/bin/dep" check
git_workspace_status="$(git status --porcelain)"
if [ -n "${git_workspace_status}" ]; then
echo "Unexpected changes were found in dep /vendored. Please run $(dep ensure) and commit changes:";
echo "${git_workspace_status}";
exit 1;
fi
else
# Run dep ensure to download and sync dependencies
"$GOPATH/bin/dep" ensure
fi
fi
fi
go build ./...
go test ./...
fi
else
sh -c "$*"
fi

0 comments on commit cdeafbe

Please sign in to comment.