mirror of
https://github.com/GoTestTools/gotestfmt-action.git
synced 2026-02-08 00:37:27 +00:00
GitHub Action for gotestfmt
* Correctly identify windows os Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Prevent darwin from being reported as Linux Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove unix specific logging and determine .zip extension on windows Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Add selftest on windows Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Run self test on all push events (for testing) Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Inline postfix declaration Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Separate extension detection from postfix Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Correctly avoid assignment to const variable Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Make postfix constant Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Prevent curl from assuming tar.gz format Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Refactor download stage * Separate logical steps * Use string interpolation for curl command Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Use environment defined temp path Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Fix missing `$` Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Correct all references to hardcoded filename Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Attempt debugging missing download Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Restore original console loggers Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * USe GOOs Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Extract binary directly to GOPATH rather than hardcoded lib path Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Properly log GOOS detection Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove GOOS detection as GOOS not in environment Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Replace GOPATH with system dependent lib path Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Fix windows path separator problems Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Simplify archive path Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Fix escape character Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Use more meaningful name for binpath Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Fix whitespace Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Add debugger lines Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Add debugger lines for executed commands Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Use console debug instead of log Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Use program files as binpath Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Add install directory to path Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove debuggers Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Fix os check Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove redundant pathsep variable Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Add documentation comments Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Fix missing path separators Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Explicitly echo bin path into GITHUB_PATH Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Quote bin path when `cd`ing into it to avoid shell globbing Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Ensure bin path exists Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Attempt to prevent existing directories causing problems Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Use core.addPath to add binpath to job's PATH Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Attempt to use pre-existing lib path instead of creating new one Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Add debugger for PATH variable Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List System32 files to look for gotestfmt binary Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove debugger Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Manually setup binpath and add it to system path Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List PATH targets for debugging Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Add debuggers for userprofile Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List install target's contents Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List files recursively and verbosely Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Search `/bin` specifically Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Only manually add the binpath on windows Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List all PATHs Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Split on correct separator Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Don't force the directory to exist/into PATH Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Attempt to create custom binpath in windows Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Fix mkdir invocation Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Create all path components Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List all files in target directory Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Try using pwsh for Windows runner Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Try using exe for pwsh Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove testing step Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List files extracted to bin path Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Expand debugger Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List files in temporary directory Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List files in current directory Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Rather than changing directories, specify target to tar command Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Quote parameters to tar command Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Specify target directory before target files Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Move extracted binary manually Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Add callback to file move Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Use system defined target file Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Correct interpolation Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Copy binfile instead of renaming to prevent cross-device linking Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List installed files Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Use binfile in final success log message Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove explicit path separator Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Specify fs.constants.COPYFILE_EXCL copy mode Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Extract archive directly into workspace Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove redundant `binfile` variable Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove debugger Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * List all files in workspace Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove debugging steps Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> * Remove inline comments This is per @engelmi's comment: https://github.com/GoTestTools/gotestfmt-action/pull/10/files#r1017614705 Signed-off-by: Y. Meyer-Norwood <106889957+norwd@users.noreply.github.com> Signed-off-by: Yuri Norwood <106889957+norwd@users.noreply.github.com> Signed-off-by: Y. Meyer-Norwood <106889957+norwd@users.noreply.github.com> |
||
|---|---|---|
| .github | ||
| node_modules | ||
| testdata | ||
| .gitignore | ||
| action.yml | ||
| index.js | ||
| LICENSE.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
gotestfmt: go test output for humans
⚠️ Action required: gotestfmt has moved to the
GoTestToolsorganization and you need to update your references. Please see the announcement. The old repository will be deleted on January 1, 2023.
This action uses gotestfmt to create a beautifully formatted test output in GitHub Actions.
Usage
You can use gotestfmt with the following configuration:
jobs:
build:
name: Test
runs-on: ubuntu-latest
steps:
# Checkout your project with git
- name: Checkout
uses: actions/checkout@v2
# Install Go on the VM running the action.
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
# Install gotestfmt on the VM running the action.
- name: Set up gotestfmt
uses: GoTestTools/gotestfmt-action@v2
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
# Optional: pass an organization name and repo to use a fork
org: GoTestTools
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
# Upload the original go test log as an artifact for later review.
- name: Upload test log
uses: actions/upload-artifact@v2
if: always()
with:
name: test-log
path: /tmp/gotest.log
if-no-files-found: error
For more information about gotestfmt please see the gotestfmt repository.