mirror of
https://github.com/ArtemSBulgakov/buildozer-action.git
synced 2024-08-16 10:09:52 +02:00
60 lines
2 KiB
Bash
60 lines
2 KiB
Bash
#!/bin/bash
|
|
|
|
# GitHub sets root as owner of repository directory. Change it to user
|
|
sudo chown -R "$USER" "$GITHUB_WORKSPACE"
|
|
# GitHub sets HOME to /github/home, but Buildozer is installed to /home/user. Change HOME to user's home
|
|
export HOME=$HOME_DIR
|
|
|
|
# Install required Buildozer version
|
|
echo ::group::Installing Buildozer
|
|
PIP_INSTALL="pip3 install --user --upgrade"
|
|
if [[ "$INPUT_BUILDOZER_VERSION" == "stable" ]]; then
|
|
$PIP_INSTALL buildozer # Install stable buildozer from PyPI
|
|
elif [[ -d "$INPUT_BUILDOZER_VERSION" ]]; then
|
|
$PIP_INSTALL "$INPUT_BUILDOZER_VERSION" # Install from local directory
|
|
elif [[ "$INPUT_BUILDOZER_VERSION" == "git+"* ]]; then
|
|
$PIP_INSTALL "$INPUT_BUILDOZER_VERSION" # Install from specified git+ link
|
|
elif [[ "$INPUT_BUILDOZER_VERSION" == "" ]]; then
|
|
echo ::warning::Buildozer is not installed because specified buildozer_version is nothing. # Just do nothing
|
|
else
|
|
$PIP_INSTALL "git+https://github.com/kivy/buildozer.git@$INPUT_BUILDOZER_VERSION" # Install specified ref from repository
|
|
fi
|
|
echo ::endgroup::
|
|
|
|
# Buildozer settings to disable interactions
|
|
export BUILDOZER_WARN_ON_ROOT=0
|
|
export APP_ANDROID_ACCEPT_SDK_LICENSE=1
|
|
# Do not allow to change directories
|
|
export BUILDOZER_BUILD_DIR=./.buildozer
|
|
export BUILDOZER_BIN=./bin
|
|
|
|
# Change directory to workir
|
|
if ! cd "$INPUT_WORKDIR"; then
|
|
echo ::error::Specified workdir is not exists.
|
|
exit 1
|
|
fi
|
|
|
|
# Apply patches
|
|
echo ::group::Applying patches to Buildozer
|
|
if ! python3 /action/patches.py; then
|
|
echo ::error::Error while running patches.py
|
|
# exit 1 # Allow to fail
|
|
fi
|
|
echo ::endgroup::
|
|
|
|
# Run command
|
|
if ! sh -c "$INPUT_COMMAND"; then
|
|
echo ::error::Error while executing command \""$INPUT_COMMAND"\"
|
|
exit 1
|
|
fi
|
|
|
|
# Give access to root
|
|
sudo chown -R root "$GITHUB_WORKSPACE"
|
|
|
|
# Set output
|
|
if [ ! -d bin ]; then
|
|
echo ::error::Output directory does not exist. See Buildozer log for error
|
|
exit 1
|
|
fi
|
|
filename=$(ls bin | head -n1)
|
|
echo ::set-output name=filename::"$INPUT_WORKDIR/bin/$filename"
|