mirror of
https://gitlab.com/psuapp/psu.git
synced 2024-08-30 18:12:34 +00:00
Add macOS support
This commit is contained in:
parent
b287b7f16f
commit
8261c27949
@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- macOS support
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Remove parallel requests improvement, because it's buggy in some situations...
|
- Remove parallel requests improvement, because it's buggy in some situations...
|
||||||
|
|
||||||
|
@ -55,6 +55,7 @@ You will need these dependencies installed:
|
|||||||
- [jq](https://stedolan.github.io/jq/)<sup title="required">*</sup> <small>(>= 1.5.1)</small>
|
- [jq](https://stedolan.github.io/jq/)<sup title="required">*</sup> <small>(>= 1.5.1)</small>
|
||||||
- [timeout](https://man7.org/linux/man-pages/man1/timeout.1.html)<sup title="required">*</sup> <small>For macOS run: `brew install coreutils`</small>
|
- [timeout](https://man7.org/linux/man-pages/man1/timeout.1.html)<sup title="required">*</sup> <small>For macOS run: `brew install coreutils`</small>
|
||||||
- [uuidgen](https://man7.org/linux/man-pages/man1/uuidgen.1.html) only for some <abbr title="Operating System">OS</abbr> <small>(Debian and Alpine work fine without it)</small>
|
- [uuidgen](https://man7.org/linux/man-pages/man1/uuidgen.1.html) only for some <abbr title="Operating System">OS</abbr> <small>(Debian and Alpine work fine without it)</small>
|
||||||
|
- greadlink <small>Only for macOS run: `brew install coreutils`</small>
|
||||||
|
|
||||||
<sup>\*</sup> = required
|
<sup>\*</sup> = required
|
||||||
|
|
||||||
|
22
psu
22
psu
@ -970,6 +970,17 @@ curl_wrapper() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Readlink command wrapper
|
||||||
|
# useful to support macOS, run:
|
||||||
|
# brew install coreutils
|
||||||
|
readlink_wrapper() {
|
||||||
|
if [ -x "$(command -v greadlink)" ]; then
|
||||||
|
greadlink "$@"
|
||||||
|
else
|
||||||
|
readlink "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
###################################################
|
###################################################
|
||||||
############### actions section ###################
|
############### actions section ###################
|
||||||
###################################################
|
###################################################
|
||||||
@ -996,10 +1007,10 @@ deploy() {
|
|||||||
if [ "$DOCKER_COMPOSE_LINT" == "true" ]; then
|
if [ "$DOCKER_COMPOSE_LINT" == "true" ]; then
|
||||||
lint
|
lint
|
||||||
fi
|
fi
|
||||||
|
echo_debug "DOCKER_COMPOSE_FILE -> $DOCKER_COMPOSE_FILE"
|
||||||
# Read docker-compose file content
|
# Read docker-compose file content
|
||||||
local docker_compose_file_content
|
local docker_compose_file_content
|
||||||
docker_compose_file_content="$( jq -Rscjr '{StackFileContent: . }' $DOCKER_COMPOSE_FILE | tail -c +2 | head -c -1 )"
|
docker_compose_file_content="$(jq -Rscjr '{StackFileContent: .}' "$DOCKER_COMPOSE_FILE" | sed -e 's/^{//' -e 's/}$//')"
|
||||||
echo_debug "DOCKER_COMPOSE_FILE -> $DOCKER_COMPOSE_FILE"
|
|
||||||
echo_debug "docker_compose_file_content -> $docker_compose_file_content"
|
echo_debug "docker_compose_file_content -> $docker_compose_file_content"
|
||||||
|
|
||||||
local json_temp_path
|
local json_temp_path
|
||||||
@ -1328,7 +1339,12 @@ lint() {
|
|||||||
# JSON string #
|
# JSON string #
|
||||||
###################################################
|
###################################################
|
||||||
env_file_to_json() {
|
env_file_to_json() {
|
||||||
env -i sh -c "(unset \$(env | sed 's/=.*//'); set -a; . $(readlink -f $ENVIRONMENT_VARIABLES_FILE); set +a; jq -njc 'env | to_entries | map({name: .key, value: .value})')"
|
local jq_command
|
||||||
|
|
||||||
|
# For macOS compatibility
|
||||||
|
jq_command="$(which jq)"
|
||||||
|
|
||||||
|
env -i sh -c "(unset \$(env | sed 's/=.*//'); set -a; . $(readlink_wrapper -f $ENVIRONMENT_VARIABLES_FILE); set +a; \"$jq_command\" -njc 'env | to_entries | map({name: .key, value: .value})')"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set the ACTIONS variable who's a list of all psu actions
|
# Set the ACTIONS variable who's a list of all psu actions
|
||||||
|
Loading…
Reference in New Issue
Block a user