mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-04-30 21:07:57 +00:00
2fb8beee62
This PR changes the CI build scripts to also build LLVM for windows. **It doesn't build `revive` itself for windows**. This will come in a follow up. But once we have a LLVM binary release the turn around time will be much quicker for experimenting with the revive windows build. I manually uploaded the release those changes produce [here](https://github.com/paritytech/revive-alex-workflowtest/releases/tag/llvm-18.1.8-revive.22f3ceb). This enables this PR's CI to find the proper release. This is necessary because I am also making changes to the folder structure and artifact naming that the other CI jobs are depending on. Releases generated from this branch can be inspected here: https://github.com/paritytech/revive-alex-workflowtest/releases/tag/v0.1.0-dev.12 Summary of changes: - Change `llvm-builder` to use MSVC toolchain on windows - Fix `llvm-builder` to work with `.exe` files - Unify the llvm release jobs into a single one. This removed a lot of copy pasted code and also speeds up the build by giving each their own runner. - Use the LLVM target triple to name the binary releases instead of an ad-hoc naming convention - Remove the nested folder hierarchy inside the llvm release. Its just now a single folder `llvm-<target>` that contains the toolchain. - Give jobs and workflows consistent names - Replace all runners bei their `*-latest` counterpart - Only use `parity-large` to build llvm now. All other jobs use github runners
32 lines
851 B
YAML
32 lines
851 B
YAML
name: "Install Solidity Compiler"
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Put Solc Direcotry into PATH
|
|
shell: bash
|
|
run: |
|
|
mkdir -p solc
|
|
echo "$(pwd)/solc/" >> $GITHUB_PATH
|
|
|
|
- name: Figure out Solc Download URL
|
|
shell: bash
|
|
run: |
|
|
if [[ "${{ runner.os }}" == "Linux" ]]; then
|
|
echo "SOLC_NAME=solc-static-linux" >> $GITHUB_ENV
|
|
elif [[ "${{ runner.os }}" == "Windows" ]]; then
|
|
echo "SOLC_NAME=solc-windows.exe" >> $GITHUB_ENV
|
|
else
|
|
echo "SOLC_NAME=solc-macos" >> $GITHUB_ENV
|
|
fi
|
|
|
|
- name: Download Solc
|
|
shell: bash
|
|
run: |
|
|
curl -sSL --output solc/solc https://github.com/ethereum/solidity/releases/download/v0.8.28/${SOLC_NAME}
|
|
|
|
- name: Make Solc Executable
|
|
shell: bash
|
|
run: |
|
|
chmod +x solc/solc
|