|
1 | | -# Placeholder, so that GitHub names this workflow path "build" in the Actions list. |
2 | | -# |
3 | | -# The real build.yaml lives on the buildbranch_<distro>_<platform> branches (pushed by |
4 | | -# main.yaml, generated by `rs <distro> gha`); every branch has its own, with |
5 | | -# `run-name: <distro> <platform>`. GitHub shows one workflow per path and takes its name |
6 | | -# from the default branch's file; without one on main it kept the name of the first |
7 | | -# branch that registered the path. This file is never triggered on its own. |
8 | | -name: build |
9 | | -on: |
10 | | - workflow_dispatch: |
11 | 1 | jobs: |
12 | | - placeholder: |
13 | | - runs-on: ubuntu-latest |
14 | | - permissions: {} |
| 2 | + stage_0_job_0: |
| 3 | + name: psdk-interfaces |
| 4 | + runs-on: windows-2022 |
| 5 | + strategy: |
| 6 | + fail-fast: false |
| 7 | + env: |
| 8 | + CONDA_BLD_PATH: C:\\bld\\ |
| 9 | + VINCA_CUSTOM_CMAKE_BUILD_DIR: C:\\x\\ |
15 | 10 | steps: |
16 | | - - run: echo "Builds run from the buildbranch_<distro>_<platform> branches' own build.yaml." |
| 11 | + - name: Checkout code |
| 12 | + uses: actions/checkout@v7 |
| 13 | + - name: Disable git auto-maintenance |
| 14 | + run: git config --global maintenance.auto false && git config --global gc.auto |
| 15 | + 0 |
| 16 | + - name: Setup pixi |
| 17 | + uses: prefix-dev/setup-pixi@v0.11.0 |
| 18 | + with: |
| 19 | + pixi-version: v0.81.0 |
| 20 | + cache: 'true' |
| 21 | + log-level: v |
| 22 | + frozen: 'true' |
| 23 | + - uses: egor-tensin/cleanup-path@v5 |
| 24 | + with: |
| 25 | + dirs: C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program |
| 26 | + Files\Git\mingw64\bin |
| 27 | + - shell: cmd |
| 28 | + run: | |
| 29 | + set "CI=true" |
| 30 | +
|
| 31 | + :: 4 cores available on GHA: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners |
| 32 | + :: CPU_COUNT is passed through conda build: https://github.com/conda/conda-build/pull/1149 |
| 33 | + set CPU_COUNT=4 |
| 34 | +
|
| 35 | + set PYTHONUNBUFFERED=1 |
| 36 | +
|
| 37 | + call setup_x64 |
| 38 | +
|
| 39 | + :: Set the conda-build working directory to a smaller path |
| 40 | + if "%CONDA_BLD_PATH%" == "" ( |
| 41 | + set "CONDA_BLD_PATH=C:\\bld\\" |
| 42 | + ) |
| 43 | +
|
| 44 | + :: Hosted runners may have libcrypto*.dll & libssl*.dll under |
| 45 | + :: C:\\Windows\\System32, which should not be there (no vendor dlls in windows folder). |
| 46 | + :: They would be found before the openssl libs of the conda environment, so we delete them. |
| 47 | + if defined CI ( |
| 48 | + DEL C:\\Windows\\System32\\libcrypto-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libcrypto-1_1-x64.dll) |
| 49 | + DEL C:\\Windows\\System32\\libssl-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libssl-1_1-x64.dll) |
| 50 | + ) |
| 51 | +
|
| 52 | + :: Make paths like C:\\hostedtoolcache\\windows\\Ruby\\2.5.7\\x64\\bin garbage |
| 53 | + set "PATH=%PATH:ostedtoolcache=%" |
| 54 | + name: conda-forge build setup |
| 55 | + - shell: cmd |
| 56 | + run: call .scripts\build_win.bat |
| 57 | + env: |
| 58 | + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN_JAZZY }} |
| 59 | + CURRENT_RECIPES: ros2-psdk-interfaces ros-jazzy-psdk-interfaces |
| 60 | + PYTHONUNBUFFERED: 1 |
| 61 | + name: Build |
| 62 | + - name: Keep build_timings.jsonl |
| 63 | + if: always() |
| 64 | + uses: actions/upload-artifact@v6 |
| 65 | + with: |
| 66 | + name: ${{ github.job }}-${{ github.run_attempt }} |
| 67 | + path: distros/jazzy/work/build_timings.jsonl |
| 68 | + if-no-files-found: ignore |
| 69 | + retention-days: 30 |
| 70 | + permissions: |
| 71 | + id-token: write |
| 72 | + contents: read |
| 73 | + attestations: write |
| 74 | +name: build |
| 75 | +run-name: jazzy win-64 |
| 76 | +concurrency: |
| 77 | + group: build-jazzy-win-64 |
| 78 | + cancel-in-progress: true |
| 79 | +on: |
| 80 | + push: |
| 81 | + branches: |
| 82 | + - buildbranch_jazzy_win_64 |
| 83 | +env: |
| 84 | + ROBOSTACK_DISTRO: jazzy |
| 85 | + # optional repository variable: upload to this prefix.dev channel instead |
| 86 | + # (e.g. a test channel), or 'none' to only build |
| 87 | + ROBOSTACK_UPLOAD_CHANNEL: ${{ vars.ROBOSTACK_UPLOAD_CHANNEL }} |
0 commit comments