Compare commits

..

No commits in common. "main" and "v1.0.0" have entirely different histories.
main ... v1.0.0

30 changed files with 62 additions and 172 deletions

View file

@ -1,45 +0,0 @@
name: Bug Report
description: File a bug report
title: "Bug: "
labels: [bug]
assignees:
- janosdebugs
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: checkboxes
id: gotestfmt
attributes:
label: Is this a bug specifically in the GitHub action?
description: Please only file bug reports in this repository for the GitHub action implementation of gotestfmt. Bugs in gotestfmt itself should go into its own repository.
options:
- label: This is not a gotestfmt bug, this is a gotestfmt-action bug
required: true
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Please tell us what happened.
placeholder: Tell us what you see!
value: ""
validations:
required: true
- type: textarea
id: expectations
attributes:
label: What did you expect happened?
description: Please tell us what you expected to happen.
placeholder: Tell us what you would like to happen.
value: ""
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: How did you make this happen?
description: Please tell us in as much detail as possible what your setup is and how to reproduce this issue.
value: ""
validations:
required: true

View file

@ -1 +0,0 @@
blank_issues_enabled: false

View file

@ -1,14 +0,0 @@
name: Other issues
description: Ask a question, tell us something, or report something else.
assignees:
- janosdebugs
body:
- type: textarea
id: message
attributes:
label: What would you like to tell us?
description: Let us know something...
placeholder: Hello world!
value: ""
validations:
required: true

View file

@ -1,7 +0,0 @@
## Please describe the change you are making
...
## Your code will be released under [the MIT license](LICENSE.md). Are you in the position, and are you willing to release your code under this license?
...

View file

@ -1,42 +1,27 @@
on:
push:
pull_request:
name: Self-test
jobs:
self-test:
strategy:
fail-fast: false
matrix:
os: ['ubuntu', 'macos', 'windows']
name: on ${{ matrix.os }}
runs-on: ${{ matrix.os }}-latest
name: Self-test
runs-on: ubuntu-latest
steps:
- name: Install gotestfmt
uses: haveyoudebuggedit/gotestfmt-action@main
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
- name: Checkout
uses: actions/checkout@v2
- name: Install gotestfmt
uses: ./
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Run gotestfmt
working-directory: testdata
shell: bash
run: |
go test -json -v ./... 2>&1 | tee gotest.${{ matrix.os }}.log | gotestfmt
run: go test -v ./... 2>&1 | tee /tmp/gotest.log | gotestfmt
- name: Upload test log
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v2
if: always()
with:
name: test-log-${{ matrix.os }}
path: testdata/gotest.${{ matrix.os }}.log
if-no-files-found: error
name: test-log
path: /tmp/gotest.log
if-no-files-found: error

View file

@ -1,10 +1,6 @@
# gotestfmt: go test output for humans
# Beautiful test output for go tests
> ⚠️ **Action required:** gotestfmt has moved to the `GoTestTools` organization and you need to update your references. Please see the [announcement](https://github.com/GoTestTools/gotestfmt/discussions/46). The old repository will be deleted on January 1, 2023.
This action uses [gotestfmt](https://github.com/GoTestTools/gotestfmt) to create a beautifully formatted test output in GitHub Actions.
![An animation showcasing that gotestfmt transforms a text log into an interactive log with folding sections.](https://raw.githubusercontent.com/GoTestTools/.github/main/gotestfmt.svg)
This action uses [gotestfmt](https://github.com/haveyoudebuggedit/gotestfmt) to create a beautifully formatted test output in GitHub Actions.
## Usage
@ -28,21 +24,19 @@ jobs:
# Install gotestfmt on the VM running the action.
- name: Set up gotestfmt
uses: GoTestTools/gotestfmt-action@v2
uses: haveyoudebuggedit/gotestfmt-action@v1
with:
# Optional: pass GITHUB_TOKEN to avoid rate limiting.
token: ${{ secrets.GITHUB_TOKEN }}
# Optional: pass the gotestfmt version you want to run.
version: v2.0.0
version: v1.0.0
# Optional: pass an organization name and repo to use a fork
org: GoTestTools
org: haveyoudebuggedit
repo: gotestfmt
# Run tests with nice formatting. Save the original log in /tmp/gotest.log
- name: Run tests
run: |
set -euo pipefail
go test -json -v ./... 2>&1 | tee /tmp/gotest.log | gotestfmt
run: go test -v ./... 2>&1 | tee /tmp/gotest.log | gotestfmt
# Upload the original go test log as an artifact for later review.
- name: Upload test log
@ -54,4 +48,4 @@ jobs:
if-no-files-found: error
```
For more information about gotestfmt please see the [gotestfmt](https://github.com/GoTestTools/gotestfmt) repository.
For more information about gotestfmt please see the [gotestfmt](https://github.com/haveyoudebuggedit/gotestfmt) repository.

View file

@ -15,11 +15,11 @@ inputs:
org:
description: 'Organization to fetch gotestfmt from.'
required: false
default: 'GoTestTools'
default: 'haveyoudebuggedit'
repo:
description: 'Repository to fetch gotestfmt from.'
required: false
default: 'gotestfmt'
runs:
using: 'node20'
using: 'node12'
main: 'index.js'

View file

@ -3,44 +3,37 @@ const { Octokit } = require("@octokit/rest");
const fs = require("fs")
const { execSync } = require("child_process")
async function downloadRelease(octokit, os, org, repo, release, token) {
const postfix = `_${os}_amd64.${os === "windows" ? "zip" : "tar.gz"}`;
const tempdir = os === "windows" ? process.env.TEMP + "\\" : "/tmp/";
const extract = os === "windows" ? "tar -xvf" : "tar -xvzf";
const archive = `${tempdir}gotestfmt${postfix}`;
async function downloadRelease(octokit, org, repo, release, token) {
const releaseAssets = await octokit.rest.repos.listReleaseAssets({
owner: org,
repo: repo,
release_id: release.id,
})
for (let asset of releaseAssets.data) {
console.log("Examining release asset " + asset.name + " at " + asset.browser_download_url + " ...")
if (asset.name.endsWith(postfix)) {
console.log("Found binary named " + asset.name + " at " + asset.browser_download_url + " , attempting download...")
if (asset.name.endsWith("_linux_amd64.tar.gz")) {
console.log("Found Linux binary named " + asset.name + " at " + asset.browser_download_url + " , attempting download...")
if (token) {
execSync(`curl -L -o ${archive} -H "Authorization: Bearer ${token}" ${asset.browser_download_url}`)
execSync("curl -L -o /tmp/gotestfmt.tar.gz -H \"Authorization: Bearer " + token + "\" " + asset.browser_download_url)
} else {
execSync(`curl -L -o ${archive} ${asset.browser_download_url}`)
execSync("curl -L -o /tmp/gotestfmt.tar.gz " + asset.browser_download_url)
}
console.log("Unpacking archive file...")
core.addPath(process.env.GITHUB_WORKSPACE)
process.chdir(process.env.GITHUB_WORKSPACE)
execSync(`${extract} "${archive}"`)
console.log("Removing asset archive...")
fs.unlinkSync(archive)
console.log("Creating /usr/local/lib/gotestfmt directory...")
execSync("sudo mkdir -p /usr/local/lib/gotestfmt")
console.log("Unpacking tar file...")
execSync("cd /usr/local/lib/gotestfmt && sudo tar -xvzf /tmp/gotestfmt.tar.gz")
console.log("Removing tarball...")
fs.unlinkSync("/tmp/gotestfmt.tar.gz")
console.log("Linking gotestfmt...")
execSync("sudo ln -s /usr/local/lib/gotestfmt/gotestfmt /usr/bin/gotestfmt")
console.log("Successfully set up gotestfmt.")
return
}
}
throw `No release asset matched postfix '${postfix}'.`
throw "No release asset matched criteria."
}
async function downloadGofmt(octokit, version, versionPrefix, os, org, repo, token) {
async function downloadGofmt(octokit, version, versionPrefix, org, repo, token) {
if (version !== "") {
if (!version.startsWith(versionPrefix)) {
throw "Specified version " + version + " does not start with required version prefix " + versionPrefix + "."
@ -60,7 +53,7 @@ async function downloadGofmt(octokit, version, versionPrefix, os, org, repo, tok
if ((version !== "" && release.name === version) || (!release.prerelease && release.name.startsWith(versionPrefix))) {
console.log("Found release " + release.name + " matching criteria, attempting to download binary...")
try {
await downloadRelease(octokit, os, org, repo, release, token)
await downloadRelease(octokit, org, repo, release, token)
return
} catch (e) {
tries++
@ -76,24 +69,10 @@ async function downloadGofmt(octokit, version, versionPrefix, os, org, repo, tok
throw "Failed to find a release matching the criteria."
}
async function determineOS() {
const uname = execSync("uname")
let os = uname.toString().trim().toLowerCase()
if (os.indexOf("msys_nt") === 0)
{
os = "windows";
}
console.log(`Running on OS '${os}'`)
return os
}
async function main() {
try {
// versionPrefix is the prefix of the version gotestfmt-action supports.
const versionPrefix = "v2."
const versionPrefix = "v1."
const token = core.getInput('token');
const version = core.getInput('version');
const org = core.getInput("org")
@ -101,8 +80,7 @@ async function main() {
const octokit = new Octokit({
auth: token,
})
const os = await determineOS()
await downloadGofmt(octokit, version, versionPrefix, os, org, repo, token)
await downloadGofmt(octokit, version, versionPrefix, org, repo, token)
console.log("Setup complete.")
} catch (error) {
console.log("Setup failed.")

View file

@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.4.0.tgz",
"_shasum": "cf2e6ee317e314b03886adfeb20e448d50d6e524",
"_spec": "@actions/core",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action",
"bugs": {
"url": "https://github.com/actions/toolkit/issues"
},

View file

@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz",
"_shasum": "1754127976c50bd88b2e905f10d204d76d1472f8",
"_spec": "@actions/github",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action",
"bugs": {
"url": "https://github.com/actions/toolkit/issues"
},

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz",
"_shasum": "c58b12e9aa8b159ee39e7dd6cbd0e91d905633c0",
"_spec": "@actions/http-client@^1.0.11",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@actions\\github",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@actions\\github",
"author": {
"name": "GitHub, Inc."
},

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz",
"_shasum": "568ccfb8cb46f36441fac094ce34f7a875b197f3",
"_spec": "@octokit/auth-token@^2.4.4",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\core",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\core",
"bugs": {
"url": "https://github.com/octokit/auth-token.js/issues"
},

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz",
"_shasum": "8601ceeb1ec0e1b1b8217b960a413ed8e947809b",
"_spec": "@octokit/core@^3.4.0",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@actions\\github",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@actions\\github",
"bugs": {
"url": "https://github.com/octokit/core.js/issues"
},

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"_shasum": "3b4d47a4b0e79b1027fb8d75d4221928b2d05658",
"_spec": "@octokit/endpoint@^6.0.1",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\request",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\request",
"bugs": {
"url": "https://github.com/octokit/endpoint.js/issues"
},

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.4.tgz",
"_shasum": "0c3f5bed440822182e972317122acb65d311a5ed",
"_spec": "@octokit/graphql@^4.5.8",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\core",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\core",
"bugs": {
"url": "https://github.com/octokit/graphql.js/issues"
},

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.1.1.tgz",
"_shasum": "fb87f2e2f44b95a5720d61dee409a9f1fbc59217",
"_spec": "@octokit/openapi-types@^9.1.1",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\types",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\types",
"author": {
"name": "Gregor Martynus",
"url": "https://twitter.com/gr2m"

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.14.0.tgz",
"_shasum": "f469cb4a908792fb44679c5973d8bba820c88b0f",
"_spec": "@octokit/plugin-paginate-rest@^2.13.3",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@actions\\github",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@actions\\github",
"bugs": {
"url": "https://github.com/octokit/plugin-paginate-rest.js/issues"
},

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
"_shasum": "5e50ed7083a613816b1e4a28aeec5fb7f1462e85",
"_spec": "@octokit/plugin-request-log@^1.0.2",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\rest",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\rest",
"bugs": {
"url": "https://github.com/octokit/plugin-request-log.js/issues"
},

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.5.1.tgz",
"_shasum": "31cce8fc3eda4d186bd90828cb7a2203ad95e3d1",
"_spec": "@octokit/plugin-rest-endpoint-methods@^5.1.1",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@actions\\github",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@actions\\github",
"bugs": {
"url": "https://github.com/octokit/plugin-rest-endpoint-methods.js/issues"
},

View file

@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"_shasum": "9e150357831bfc788d13a4fd4b1913d60c74d677",
"_spec": "@octokit/request-error@^2.0.5",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\core",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\core",
"bugs": {
"url": "https://github.com/octokit/request-error.js/issues"
},

View file

@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.0.tgz",
"_shasum": "6084861b6e4fa21dc40c8e2a739ec5eff597e672",
"_spec": "@octokit/request@^5.6.0",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\core",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\core",
"bugs": {
"url": "https://github.com/octokit/request.js/issues"
},

View file

@ -23,7 +23,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.7.1.tgz",
"_shasum": "575ecf8b881b79540daa28b0fa3a2b3ae8ef2649",
"_spec": "@octokit/rest",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action",
"bugs": {
"url": "https://github.com/octokit/rest.js/issues"
},

View file

@ -29,7 +29,7 @@
"_resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.21.1.tgz",
"_shasum": "d0f2b7598c88e13d0bd87e330d975e3fb2a90180",
"_spec": "@octokit/types@^6.0.3",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\core",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\core",
"bugs": {
"url": "https://github.com/octokit/types.ts/issues"
},

View file

@ -21,7 +21,7 @@
"_resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
"_shasum": "a6e8ca41028d90ee2c24222f201c90956091613e",
"_spec": "before-after-hook@^2.2.0",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\core",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\core",
"author": {
"name": "Gregor Martynus"
},

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"_shasum": "6368cbdb40abf3373b525ac87e4a260c3a700919",
"_spec": "deprecation@^2.0.0",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\request-error",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\request-error",
"bugs": {
"url": "https://github.com/gr2m/deprecation/issues"
},

View file

@ -22,7 +22,7 @@
"_resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"_shasum": "4427f50ab3429e9025ea7d52e9043a9ef4159344",
"_spec": "is-plain-object@^5.0.0",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\request",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\request",
"author": {
"name": "Jon Schlinkert",
"url": "https://github.com/jonschlinkert"

View file

@ -24,7 +24,7 @@
"_resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"_shasum": "3381f8503b251c0d9cd21bc1de939ec9df5480ee",
"_spec": "universal-user-agent@^6.0.0",
"_where": "D:\\go\\src\\github.com\\gotesttools\\gotestfmt-action\\node_modules\\@octokit\\core",
"_where": "D:\\go\\src\\github.com\\haveyoudebuggedit\\gotestfmt-action\\node_modules\\@octokit\\core",
"bugs": {
"url": "https://github.com/gr2m/universal-user-agent/issues"
},

2
package-lock.json generated
View file

@ -1,5 +1,5 @@
{
"name": "@gotesttools/gotestfmt-action",
"name": "@haveyoudebuggedit/gotestfmt-action",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,

View file

@ -1,17 +1,17 @@
{
"name": "@gotesttools/gotestfmt-action",
"name": "@haveyoudebuggedit/gotestfmt-action",
"version": "1.0.0",
"private": true,
"main": "index.js",
"repository": {
"type": "git",
"url": "git+https://github.com/gotesttools/gotestfmt-action.git"
"url": "git+https://github.com/haveyoudebuggedit/gotestfmt-action.git"
},
"license": "ISC",
"bugs": {
"url": "https://github.com/gotesttools/gotestfmt-action/issues"
"url": "https://github.com/haveyoudebuggedit/gotestfmt-action/issues"
},
"homepage": "https://github.com/gotesttools/gotestfmt-action#readme",
"homepage": "https://github.com/haveyoudebuggedit/gotestfmt-action#readme",
"dependencies": {
"@actions/core": "^1.4.0",
"@actions/github": "^5.0.0",

2
testdata/go.mod vendored
View file

@ -1,3 +1,3 @@
module "github.com/gotesttools/example"
module "github.com/haveyoudebuggedit/example"
go 1.16