name: 'Setup action' description: 'Sets up the dependencies for the CI VM' author: 'Andrew Kaster ' inputs: os: description: 'Operating System to set up' required: true default: 'Linux' arch: description: 'Target Architecture to set up' required: false default: 'x86_64' runs: using: "composite" steps: - name: 'Install Dependencies' if: ${{ inputs.os == 'Linux' }} shell: bash run: | set -e wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main' sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install autoconf autoconf-archive automake build-essential cmake libavcodec-dev fonts-liberation2 zip curl tar ccache clang-18 clang++-18 lld-18 gcc-13 g++-13 libstdc++-13-dev \ ninja-build unzip qt6-base-dev qt6-tools-dev-tools libqt6svg6-dev qt6-multimedia-dev libgl1-mesa-dev libpulse-dev libssl-dev libegl1-mesa-dev \ libx11-dev libxrandr-dev sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100 sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 wget https://github.com/WebAssembly/wabt/releases/download/1.0.35/wabt-1.0.35-ubuntu-20.04.tar.gz tar -xzf ./wabt-1.0.35-ubuntu-20.04.tar.gz rm ./wabt-1.0.35-ubuntu-20.04.tar.gz echo "${{ github.workspace }}/wabt-1.0.35/bin" >> $GITHUB_PATH - name: 'Install Python dependencies' if: ${{ inputs.os == 'Linux' }} shell: bash run: | python3 -m pip install --upgrade pip pip3 install requests six - name: 'Install Dependencies' if: ${{ inputs.os == 'macOS' || inputs.os == 'Android' }} shell: bash run: | set -e sudo xcode-select --switch /Applications/Xcode_15.4.app brew update brew install autoconf autoconf-archive automake coreutils bash ffmpeg ninja wabt ccache unzip qt llvm@18 - name: 'Install vcpkg' shell: bash run: ./Toolchain/BuildVcpkg.sh