|
15 | 15 | # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot. |
16 | 16 | copilot-setup-steps: |
17 | 17 | runs-on: [ "self-hosted", "Linux", "X64", "heavy" ] |
| 18 | + container: 'ghcr.io/xrplf/ci/ubuntu-noble:clang-19' |
18 | 19 |
|
19 | 20 | # Set the permissions to the lowest permissions possible needed for your steps. |
20 | 21 | # Copilot will be given its own token for its operations. |
|
25 | 26 | # You can define any steps you want, and they will run before the agent starts. |
26 | 27 | # If you do not check out your code, Copilot will do this for you. |
27 | 28 | steps: |
28 | | - - name: Checkout code |
29 | | - uses: actions/checkout@v4 |
| 29 | + - name: Checkout repository |
| 30 | + uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 |
| 31 | + - name: Check configuration (Linux and MacOS) |
| 32 | + run: | |
| 33 | + echo 'Checking path.' |
| 34 | + echo ${PATH} | tr ':' '\n' |
| 35 | +
|
| 36 | + echo 'Checking environment variables.' |
| 37 | + env | sort |
| 38 | +
|
| 39 | + echo 'Checking CMake version.' |
| 40 | + cmake --version |
| 41 | +
|
| 42 | + echo 'Checking compiler version.' |
| 43 | +
|
| 44 | + echo 'Checking Conan version.' |
| 45 | + conan --version |
| 46 | +
|
| 47 | + echo 'Checking Ninja version.' |
| 48 | + ninja --version |
| 49 | +
|
| 50 | + echo 'Checking nproc version.' |
| 51 | + nproc --version |
| 52 | + - name: Set up Conan home directory (MacOS) |
| 53 | + if: ${{ inputs.os == 'macos' }} |
| 54 | + run: | |
| 55 | + echo 'Setting up Conan home directory.' |
| 56 | + export CONAN_HOME=${{ github.workspace }}/.conan |
| 57 | + mkdir -p ${CONAN_HOME} |
| 58 | + - name: Set up Conan home directory (Windows) |
| 59 | + if: ${{ inputs.os == 'windows' }} |
| 60 | + run: | |
| 61 | + echo 'Setting up Conan home directory.' |
| 62 | + set CONAN_HOME=${{ github.workspace }}\.conan |
| 63 | + mkdir -p %CONAN_HOME% |
| 64 | + - name: Set up Conan configuration |
| 65 | + run: | |
| 66 | + echo 'Installing configuration.' |
| 67 | + cat conan/global.conf ${{ inputs.os == 'linux' && '>>' || '>' }} $(conan config home)/global.conf |
| 68 | +
|
| 69 | + echo 'Conan configuration:' |
| 70 | + conan config show '*' |
| 71 | + - name: Set up Conan profile |
| 72 | + run: | |
| 73 | + echo 'Installing profile.' |
| 74 | + conan config install conan/profiles/default -tf $(conan config home)/profiles/ |
| 75 | +
|
| 76 | + echo 'Conan profile:' |
| 77 | + conan profile show |
| 78 | + - name: Set up Conan remote |
| 79 | + shell: bash |
| 80 | + run: | |
| 81 | + echo "Adding Conan remote '${{ inputs.conan_remote_name }}' at ${{ inputs.conan_remote_url }}." |
| 82 | + conan remote add --index 0 --force ${{ inputs.conan_remote_name }} ${{ inputs.conan_remote_url }} |
| 83 | +
|
| 84 | + echo 'Listing Conan remotes.' |
| 85 | + conan remote list |
| 86 | + - name: Build dependencies |
| 87 | + uses: ./.github/actions/build-deps |
| 88 | + with: |
| 89 | + build_dir: ${{ inputs.build_dir }} |
| 90 | + build_type: ${{ matrix.build_type }} |
| 91 | + conan_remote_name: ${{ inputs.conan_remote_name }} |
| 92 | + conan_remote_url: ${{ inputs.conan_remote_url }} |
| 93 | + conan_remote_username: ${{ secrets.conan_remote_username }} |
| 94 | + conan_remote_password: ${{ secrets.conan_remote_password }} |
| 95 | + force_build: ${{ inputs.dependencies_force_build }} |
| 96 | + force_upload: ${{ inputs.dependencies_force_upload }} |
30 | 97 |
|
31 | 98 | # - name: Set up Node.js |
32 | 99 | # uses: actions/setup-node@v4 |
|
0 commit comments