setup-cytoplasm-telodendria/action.yml

63 lines
2.0 KiB
YAML

name: Setup Cytoplasm/Telodendria
description: Setup Cytoplasm or Telodendria out
inputs:
to_install:
description:
required: false
default: Cytoplasm
compiler:
description: Compiler to use as CC
required: false
default: gcc
ssl:
description: SSL library used
required: false
default: openssl
runs:
using: composite
steps:
- name: Downloading Cytoplasm/Telodendria
id: download-cyto-telo
if: "${{inputs.to_install == 'Cytoplasm' }}"
shell: bash
run: |
echo Downloading Cytoplasm...
# Shallow build, since we don't have to deal with that.
git clone --depth=1 https://git.telodendria.io/Telodendria/Cytoplasm Cytoplasm
- name: Downloading Cytoplasm/Telodendria
id: download-cyto-telo
if: "${{inputs.to_install == 'Telodendria' }}"
shell: bash
run: |
# Download the right branch of Telodendria.
echo Downloading Telodendria...
git clone https://git.telodendria.io/${{github.repository}} Telodendria
cd Telodendria
git checkout ${{github.ref_name}}
- name: Compiling ${{inputs.checkout}}
id: compile
shell: bash
run: |
echo Compiling ${{inputs.to_install}}...
cd ${{inputs.to_install}}
export CC="${{inputs.compiler}}"
# We need to tell the valid SSL library if we're dealing with Cytoplasm.
# TODO: Install Cytoplasm to some temporary directory instead of being
# invasive and putting it in /usr.
[ "${{inputs.to_install}}" = "Cytoplasm" ] && ./configure --prefix=/usr --no-static --with-${{inputs.ssl}}
[ "${{inputs.to_install}}" = "Cytoplasm" ] || ./configure --no-static
if ! make; then
# Fails? Do it again. Hopefully, it should have
# seen all of the schemas by then.
#
# TODO: Fix this in Telodendria!
./configure --prefix=/usr --no-static
make 2>&1
fi
[ "${{inputs.install}}" = "true" ] && make install
echo Done!