v2.31.0-dev7 9ef6929

action.yml RawHistoryFolder

1name: 'Setup Gordon'
2description: 'Install the Gordon CLI binary into the runner PATH'
3author: 'Gordon Contributors'
4
5branding:
6  icon: 'download-cloud'
7  color: 'blue'
8
9inputs:
10  version:
11    description: 'Gordon version to install (e.g. v2.0.0 or latest)'
12    required: false
13    default: 'latest'
14
15outputs:
16  version:
17    description: 'The version of Gordon that was installed'
18    value: ${{ steps.install.outputs.version }}
19  path:
20    description: 'Path to the installed Gordon binary'
21    value: ${{ steps.install.outputs.path }}
22
23runs:
24  using: 'composite'
25  steps:
26    - name: Install Gordon
27      id: install
28      shell: bash
29      run: |
30        set -euo pipefail
31
32        # Map RUNNER_OS to gordon OS identifier
33        case "${RUNNER_OS}" in
34          Linux)  os="linux" ;;
35          macOS)  os="darwin" ;;
36          *)      echo "Unsupported OS: ${RUNNER_OS}" >&2; exit 1 ;;
37        esac
38
39        # Map RUNNER_ARCH to gordon arch identifier
40        case "${RUNNER_ARCH}" in
41          X64)    arch="amd64" ;;
42          ARM64)  arch="arm64" ;;
43          *)      echo "Unsupported architecture: ${RUNNER_ARCH}" >&2; exit 1 ;;
44        esac
45
46        version="${{ inputs.version }}"
47
48        # Resolve 'latest' to an actual tag via redirect URL
49        if [ "${version}" = "latest" ]; then
50          redirect_url="$(curl -fsSL -o /dev/null -w '%{redirect_url}' "https://github.com/bnema/gordon/releases/latest")"
51          version="${redirect_url##*/}"
52          if [ -z "${version}" ]; then
53            echo "Failed to resolve latest Gordon version" >&2
54            exit 1
55          fi
56        fi
57
58        archive="gordon_${os}_${arch}.tar.gz"
59        url="https://github.com/bnema/gordon/releases/download/${version}/${archive}"
60        dest="/tmp/${archive}"
61        install_path="/usr/local/bin/gordon"
62
63        echo "Installing Gordon ${version} (${os}/${arch}) from ${url}"
64
65        # Download the release archive
66        curl -fsSL -o "${dest}" "${url}"
67
68        # Extract just the gordon binary and clean up
69        tar -xzf "${dest}" -C /usr/local/bin/ gordon
70        rm -f "${dest}"
71
72        # Make executable and verify
73        chmod +x "${install_path}"
74        gordon version
75
76        # Set outputs
77        echo "version=${version}" >> "${GITHUB_OUTPUT}"
78        echo "path=${install_path}" >> "${GITHUB_OUTPUT}"

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 7

Tags 106

↑↓ moveenter openesc close