Add build workflow #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: | |
- '**' | |
jobs: | |
build: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@main | |
with: | |
submodules: true | |
- name: Free up some space | |
run: | | |
sudo rm --recursive --force \ | |
'/opt/'* \ | |
'/usr/local/lib/android' \ | |
'/usr/local/share/vcpkg' \ | |
'/usr/share/java' | |
sudo apt purge --auto-remove \ | |
'*apache2*' \ | |
'*docker*' \ | |
'*dotnet*' \ | |
'*firefox*' \ | |
'*google*' \ | |
'*jdk*' \ | |
'*nginx*' \ | |
'*php*' \ | |
'*ruby*' \ | |
'*wayland*' \ | |
'auto*' \ | |
'azure-cli' \ | |
'bind9*' \ | |
'build-essential' \ | |
'clang*' \ | |
'container*' \ | |
'glib*' \ | |
'libmono*' \ | |
'lld*' \ | |
'llvm*' \ | |
'mercurial*' \ | |
'mysql*' \ | |
'postgresql*' \ | |
'powershell' \ | |
'x11*' \ | |
'xdg*' | |
- name: Setup Linux cross-compiler | |
run: | | |
declare -r SPHYNX_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Sphynx/releases/latest')")" | |
declare -r SPHYNX_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r SPHYNX_URL="https://github.com/AmanoTeam/Sphynx/releases/download/${SPHYNX_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${SPHYNX_URL}" --output "${SPHYNX_TARBALL}" | |
tar --directory="$(dirname "${SPHYNX_TARBALL}")" --extract --file="${SPHYNX_TARBALL}" | |
echo 'SPHYNX_HOME=/tmp/sphynx' >> "${GITHUB_ENV}" | |
echo '/tmp/sphynx/bin' >> "${GITHUB_PATH}" | |
- name: Setup NetBSD cross-compiler | |
run: | | |
declare -r DAKINI_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Dakini/releases/latest')")" | |
declare -r DAKINI_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r DAKINI_URL="https://github.com/AmanoTeam/Dakini/releases/download/${DAKINI_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${DAKINI_URL}" --output "${DAKINI_TARBALL}" | |
tar --directory="$(dirname "${DAKINI_TARBALL}")" --extract --file="${DAKINI_TARBALL}" | |
echo 'DAKINI_HOME=/tmp/dakini' >> "${GITHUB_ENV}" | |
echo '/tmp/dakini/bin' >> "${GITHUB_PATH}" | |
- name: Setup FreeBSD cross-compiler | |
run: | | |
declare -r LOKI_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Loki/releases/latest')")" | |
declare -r LOKI_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r LOKI_URL="https://github.com/AmanoTeam/Loki/releases/download/${LOKI_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --silent --connect-timeout '10' --retry '15' --retry-all-errors --fail --location --url "${LOKI_URL}" --output "${LOKI_TARBALL}" | |
tar --directory="$(dirname "${LOKI_TARBALL}")" --extract --file="${LOKI_TARBALL}" | |
echo 'LOKI_HOME=/tmp/loki' >> "${GITHUB_ENV}" | |
echo '/tmp/loki/bin' >> "${GITHUB_PATH}" | |
- name: Setup DragonFly cross-compiler | |
run: | | |
declare -r DRAGONFLY_CROSS_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Venti/releases/latest')")" | |
declare -r DRAGONFLY_CROSS_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r DRAGONFLY_CROSS_URL="https://github.com/AmanoTeam/dr4g0nflybsdcr0ss/releases/download/${DRAGONFLY_CROSS_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${DRAGONFLY_CROSS_URL}" --output "${DRAGONFLY_CROSS_TARBALL}" | |
tar --directory="$(dirname "${DRAGONFLY_CROSS_TARBALL}")" --extract --file="${DRAGONFLY_CROSS_TARBALL}" | |
echo 'VENTI_HOME=/tmp/venti' >> "${GITHUB_ENV}" | |
echo '/tmp/venti/bin' >> "${GITHUB_PATH}" | |
- name: Setup Haiku cross-compiler | |
run: | | |
declare -r SIL_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Sil/releases/latest')")" | |
declare -r SIL_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r SIL_URL="https://github.com/AmanoTeam/Sil/releases/download/${SIL_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${SIL_URL}" --output "${SIL_TARBALL}" | |
tar --directory="$(dirname "${SIL_TARBALL}")" --extract --file="${SIL_TARBALL}" | |
echo 'SIL_HOME=/tmp/sil' >> "${GITHUB_ENV}" | |
echo '/tmp/sil/bin' >> "${GITHUB_PATH}" | |
- name: Setup OBGGCC cross-compiler | |
run: | | |
declare -r OBGGCC_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/obggcc/releases/latest')")" | |
declare -r OBGGCC_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r OBGGCC_URL="https://github.com/AmanoTeam/obggcc/releases/download/${OBGGCC_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${OBGGCC_URL}" --output "${OBGGCC_TARBALL}" | |
tar --directory="$(dirname "${OBGGCC_TARBALL}")" --extract --file="${OBGGCC_TARBALL}" | |
echo 'OBGGCC_HOME=/tmp/obggcc' >> "${GITHUB_ENV}" | |
echo '/tmp/obggcc/bin' >> "${GITHUB_PATH}" | |
- name: Setup OpenBSD cross-compiler | |
run: | | |
declare -r ATAR_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Atar/releases/latest')")" | |
declare -r ATAR_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r ATAR_URL="https://github.com/AmanoTeam/Atar/releases/download/${ATAR_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${ATAR_URL}" --output "${ATAR_TARBALL}" | |
tar --directory="$(dirname "${ATAR_TARBALL}")" --extract --file="${ATAR_TARBALL}" | |
echo 'ATAR_HOME=/tmp/atar' >> "${GITHUB_ENV}" | |
echo '/tmp/atar/bin' >> "${GITHUB_PATH}" | |
- name: Setup Linux musl cross-compiler | |
run: | | |
declare -r RAIDEN_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Raiden/releases/latest')")" | |
declare -r RAIDEN_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r RAIDEN_URL="https://github.com/AmanoTeam/Raiden/releases/download/${RAIDEN_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${RAIDEN_URL}" --output "${RAIDEN_TARBALL}" | |
tar --directory="$(dirname "${RAIDEN_TARBALL}")" --extract --file="${RAIDEN_TARBALL}" | |
echo 'RAIDEN_HOME=/tmp/raiden' >> "${GITHUB_ENV}" | |
echo '/tmp/raiden/bin' >> "${GITHUB_PATH}" | |
- name: Setup SerenityOS cross-compiler | |
run: | | |
declare -r SENNA_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Senna/releases/latest')")" | |
declare -r SENNA_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r SENNA_URL="https://github.com/AmanoTeam/Senna/releases/download/${SENNA_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${SENNA_URL}" --output "${SENNA_TARBALL}" | |
tar --directory="$(dirname "${SENNA_TARBALL}")" --extract --file="${SENNA_TARBALL}" | |
echo 'SENNA_HOME=/tmp/senna' >> "${GITHUB_ENV}" | |
echo '/tmp/senna/bin' >> "${GITHUB_PATH}" | |
- name: Setup Kindle cross-compiler | |
run: | | |
declare -r KEL_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Kel/releases/latest')")" | |
declare -r KEL_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r KEL_URL="https://github.com/AmanoTeam/Kel/releases/download/${KEL_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${KEL_URL}" --output "${KEL_TARBALL}" | |
tar --directory="$(dirname "${KEL_TARBALL}")" --extract --file="${KEL_TARBALL}" | |
echo 'KEL_HOME=/tmp/kel' >> "${GITHUB_ENV}" | |
echo '/tmp/kel/bin' >> "${GITHUB_PATH}" | |
- name: Setup PocketBook cross-compiler | |
run: | | |
declare -r NERO_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Nero/releases/latest')")" | |
declare -r NERO_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r NERO_URL="https://github.com/AmanoTeam/Nero/releases/download/${NERO_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${NERO_URL}" --output "${NERO_TARBALL}" | |
tar --directory="$(dirname "${NERO_TARBALL}")" --extract --file="${NERO_TARBALL}" | |
echo 'NERO_HOME=/tmp/nero' >> "${GITHUB_ENV}" | |
echo '/tmp/nero/bin' >> "${GITHUB_PATH}" | |
- name: Setup reMarkable cross-compiler | |
run: | | |
declare -r NAN_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Nan/releases/latest')")" | |
declare -r NAN_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r NAN_URL="https://github.com/AmanoTeam/Nan/releases/download/${NAN_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${NAN_URL}" --output "${NAN_TARBALL}" | |
tar --directory="$(dirname "${NAN_TARBALL}")" --extract --file="${NAN_TARBALL}" | |
echo 'NAN_HOME=/tmp/nan' >> "${GITHUB_ENV}" | |
echo '/tmp/nan/bin' >> "${GITHUB_PATH}" | |
- name: Setup Cervantes cross-compiler | |
run: | | |
declare -r NIL_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Nil/releases/latest')")" | |
declare -r NIL_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r NIL_URL="https://github.com/AmanoTeam/Nil/releases/download/${NIL_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${NIL_URL}" --output "${NIL_TARBALL}" | |
tar --directory="$(dirname "${NIL_TARBALL}")" --extract --file="${NIL_TARBALL}" | |
echo 'NIL_HOME=/tmp/nil' >> "${GITHUB_ENV}" | |
echo '/tmp/nil/bin' >> "${GITHUB_PATH}" | |
- name: Setup Bookeen cross-compiler | |
run: | | |
declare -r AI_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Ai/releases/latest')")" | |
declare -r AI_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r AI_URL="https://github.com/AmanoTeam/Ai/releases/download/${AI_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${AI_URL}" --output "${AI_TARBALL}" | |
tar --directory="$(dirname "${AI_TARBALL}")" --extract --file="${AI_TARBALL}" | |
echo 'AI_HOME=/tmp/ai' >> "${GITHUB_ENV}" | |
echo '/tmp/ai/bin' >> "${GITHUB_PATH}" | |
- name: Setup Kobo cross-compiler | |
run: | | |
declare -r KAL_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Kal/releases/latest')")" | |
declare -r KAL_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r KAL_URL="https://github.com/AmanoTeam/Kal/releases/download/${KAL_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${KAL_URL}" --output "${KAL_TARBALL}" | |
tar --directory="$(dirname "${KAL_TARBALL}")" --extract --file="${KAL_TARBALL}" | |
echo 'KAL_HOME=/tmp/kal' >> "${GITHUB_ENV}" | |
echo '/tmp/kal/bin' >> "${GITHUB_PATH}" | |
- name: Setup Tizen cross-compiler | |
run: | | |
declare -r NUL_TAG="$(jq --raw-output '.tag_name' <<< "$(curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --url 'https://api.github.com/repos/AmanoTeam/Nul/releases/latest')")" | |
declare -r NUL_TARBALL='/tmp/toolchain.tar.xz' | |
declare -r NUL_URL="https://github.com/AmanoTeam/Nul/releases/download/${NUL_TAG}/x86_64-unknown-linux-gnu.tar.xz" | |
curl --connect-timeout '10' --retry '15' --retry-all-errors --fail --silent --location --url "${NUL_URL}" --output "${NUL_TARBALL}" | |
tar --directory="$(dirname "${NUL_TARBALL}")" --extract --file="${NUL_TARBALL}" | |
echo 'NUL_HOME=/tmp/nul' >> "${GITHUB_ENV}" | |
echo '/tmp/nul/bin' >> "${GITHUB_PATH}" | |
- name: Build | |
run: | | |
bash './build.sh' | |
- name: Upload artifact | |
uses: actions/upload-artifact@main | |
with: | |
path: /tmp/FFmpeg |