You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by oc...@apache.org on 2022/11/15 20:19:23 UTC
[trafficcontrol] 02/02: Set actions to run go tests
This is an automated email from the ASF dual-hosted git repository.
ocket8888 pushed a commit to tag v1
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
commit 3f30f77510d7ef87f617b4b29536a33211f8d76c
Author: ocket8888 <oc...@gmail.com>
AuthorDate: Wed Oct 30 10:53:14 2019 -0600
Set actions to run go tests
---
.github/actions/go-test/Dockerfile | 5 +++++
.github/actions/go-test/README.md | 25 +++++++++++++++++++++++++
.github/actions/go-test/action.yml | 17 +++++++++++++++++
.github/actions/go-test/entrypoint.sh | 7 +++++++
.github/workflows/main.yml | 17 +++++++++++++----
5 files changed, 67 insertions(+), 4 deletions(-)
diff --git a/.github/actions/go-test/Dockerfile b/.github/actions/go-test/Dockerfile
new file mode 100644
index 0000000000..a6793a7b2d
--- /dev/null
+++ b/.github/actions/go-test/Dockerfile
@@ -0,0 +1,5 @@
+FROM golang:latest
+
+COPY entrypoint.sh /entrypoint.sh
+
+ENTRYPOINT /entrypoint.sh
diff --git a/.github/actions/go-test/README.md b/.github/actions/go-test/README.md
new file mode 100644
index 0000000000..b420b3f65e
--- /dev/null
+++ b/.github/actions/go-test/README.md
@@ -0,0 +1,25 @@
+# go-test Docker action
+
+This action runs Go unit tests.
+
+## Inputs
+
+### `dir`
+
+**Required** Directory in which to run tests.
+
+## Outputs
+
+### `result`
+
+Test results.
+
+### `exit-code`
+
+Exit code of the test command
+
+## Example usage
+
+uses: actions/go-test@v1
+with:
+ dir: './lib/...'
diff --git a/.github/actions/go-test/action.yml b/.github/actions/go-test/action.yml
new file mode 100644
index 0000000000..55e1e2411b
--- /dev/null
+++ b/.github/actions/go-test/action.yml
@@ -0,0 +1,17 @@
+name: 'go-test'
+description: 'Runs go tests'
+inputs:
+ dir: # id of input
+ description: 'Directory in which to run tests'
+ required: true
+outputs:
+ result: # id of output
+ description: 'Test results'
+ exit-code:
+ description: 'Exit code of the test command'
+runs:
+ using: 'docker'
+ image: 'Dockerfile'
+ args:
+ - -v
+ - ${{ inputs.dir }}
diff --git a/.github/actions/go-test/entrypoint.sh b/.github/actions/go-test/entrypoint.sh
new file mode 100644
index 0000000000..52103b9eae
--- /dev/null
+++ b/.github/actions/go-test/entrypoint.sh
@@ -0,0 +1,7 @@
+#!/bin/sh -l
+
+output=$(go test $@ 2>&1)
+code=$?
+
+echo ::set-output name=result::$output
+echo ::set-output name=exit-code::$code
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 35d1795245..22bdb19d28 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -5,9 +5,18 @@ on: [push]
jobs:
build:
- runs-on: golang-latest
+ runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
- - name: Run a one-line script
- run: go test -v lib/...
+ - name: Checkout
+ uses: actions/checkout@v1
+ - uses: ./.github/actions/go-test/
+ - name: Go test step
+ id: gotest
+ uses: ocket8888/trafficcontrol/.github/actions/go-test@v1
+ with:
+ dir: ./lib/...
+ - name: Get the results
+ run: echo "${{ steps.gotest.outputs.result }}"
+ - name: Print exit code
+ run: echo "Exited with code ${{ steps.gotest.outputs.exit-code }}"