adding version input, adjusting tests
Some checks failed
test / test (push) Failing after 3s

This commit is contained in:
jake 2025-05-22 21:49:48 -04:00
parent d45fdbf3ca
commit 55cb2b2be5
4 changed files with 33 additions and 9 deletions

View File

@ -17,7 +17,6 @@ jobs:
shell: bash shell: bash
env: env:
GO_INSTALL_COMMANDS: code.jakeyoungdev.com/jake/mctl@v0.3.4 GO_INSTALL_COMMANDS: code.jakeyoungdev.com/jake/mctl@v0.3.4
GO_INSTALL_ARCH: amd64
run: | run: |
chmod +x install.sh chmod +x install.sh
./install.sh ./install.sh
@ -28,4 +27,18 @@ jobs:
- name: "check go installed command" - name: "check go installed command"
shell: bash shell: bash
run: mctl -v | grep "mctl version v0.3.4" run: mctl -v | grep "mctl version v0.3.4"
- name: "remove go"
shell: bash
env:
GO_INSTALL_COMMANDS: code.jakeyoungdev.com/jake/mctl@v0.3.4
GO_INSTALL_PURGE: yes
GO_INSTALL_VERSION: 1.23.2
run: |
rm go.mod
./install.sh
- name: "check go version"
shell: bash
run: go version | grep "go version go1.23.2 linux/amd64"

View File

@ -14,15 +14,16 @@ Use a tagged release to avoid unexpected changes that may come to the master bra
``` ```
#### Go verions #### Go verions
Go version is determined using the go.mod file in the root of working directory. Go files are pulled directly from the go download [site](https://go.dev/dl/) and all go commands are installed using 'go install' after setup. If a Go version is already present the 'purge' input must be set to 'yes' to avoid errors. The Go version installed is determined by the version specified in the go.mod file. If not mod file is present the 'version' input is used. Go files are pulled directly from the Go download [site](https://go.dev/dl/) and all go commands are installed using 'go install' after setup. If a different version of Go is already installed the 'purge' input must be set to 'yes' to remove it and avoid errors.
#### Inputs #### Inputs
Some inputs are available to customize the installation Some inputs are available to customize the installation
|Input|Required|Values|Default|Description| |Input|Required|Values|Default|Description|
|---|---|---|---|---| |---|---|---|---|---|
|arch|no|any arch for Go|amd64|system architecture for golang |arch|no|any arch for Go|amd64|system architecture for go
|purge|no|yes/no|no|remove any golang files found on system before install |purge|no|yes/no|no|remove any go files found on system before install
|commands|no|any public go repositories|.|links to any commands to be installed using 'go install' |commands|no|any public go repositories|.|links to any commands to be installed using 'go install'
|version|no|any go version|.|the go version to use if no mod file is present
## Issues ## Issues
This repo is a as brain-dead as I could make it and is intended to be as fast and low-level as possible. Please open an issue for any problems or suggestions. This repo is a as brain-dead as I could make it and is intended to be as fast and low-level as possible. Please open an issue for any problems or suggestions.

View File

@ -13,6 +13,10 @@ inputs:
description: "Optional, any commands to be installed with 'go install', must include version" description: "Optional, any commands to be installed with 'go install', must include version"
required: false required: false
default: "." default: "."
version:
description: "Optional, the Go version to install if no go.mod file is present"
required: false
default: "."
runs: runs:
using: composite using: composite
steps: steps:
@ -22,4 +26,5 @@ runs:
env: env:
GO_INSTALL_COMMANDS: ${{ inputs.commands }} GO_INSTALL_COMMANDS: ${{ inputs.commands }}
GO_INSTALL_ARCH: ${{ inputs.arch }} GO_INSTALL_ARCH: ${{ inputs.arch }}
GO_INSTALL_PURGE: ${{ inputs.purge }} GO_INSTALL_PURGE: ${{ inputs.purge }}
GO_INSTALL_VERSION: ${{ inputs.version }}

View File

@ -27,8 +27,13 @@ echo "Parsing go version"
# -P uses perl syntax # -P uses perl syntax
DL_VERSION_RAW="$(grep "^go [0-9]+.[0-9]+" go.mod -P)" DL_VERSION_RAW="$(grep "^go [0-9]+.[0-9]+" go.mod -P)"
if [[ -z "$DL_VERSION_RAW" ]]; then if [[ -z "$DL_VERSION_RAW" ]]; then
echo "FATAL: Unable to pull version from go.mod" #no go.mod file found
exit 1 DL_VERSION_RAW=$GO_INSTALL_VERSION
#no version input set either
if [[ "$DL_VERSION_RAW" == "." ]]; then
echo "FATAL: No Go version found, set version input if no go.mod file is present"
exit 1
fi
fi fi
echo "Found go version: ${DL_VERSION_RAW}" echo "Found go version: ${DL_VERSION_RAW}"