2626 - name : Checkout
2727 uses : actions/checkout@v4
2828
29+ # Determine where the CMake project root is.
30+ # Some repo layouts have CMakeLists.txt at the repository root,
31+ # others keep the project under ./easy-stun.
32+ - name : Detect project root
33+ shell : bash
34+ run : |
35+ set -euo pipefail
36+ if [ -f CMakeLists.txt ]; then
37+ echo "PROJECT_DIR=." >> "$GITHUB_ENV"
38+ elif [ -f easy-stun/CMakeLists.txt ]; then
39+ echo "PROJECT_DIR=easy-stun" >> "$GITHUB_ENV"
40+ else
41+ echo "Could not find CMakeLists.txt in '.' or './easy-stun'" >&2
42+ ls -la
43+ exit 1
44+ fi
45+ echo "Detected PROJECT_DIR=$PROJECT_DIR"
46+
2947 - name : Install dependencies (Ubuntu)
3048 if : runner.os == 'Linux'
3149 run : |
@@ -41,26 +59,30 @@ jobs:
4159
4260 - name : Configure (Ubuntu)
4361 if : runner.os == 'Linux'
62+ working-directory : ${{ env.PROJECT_DIR }}
4463 run : |
45- cmake -S easy-stun -B easy-stun/ build -G Ninja -DCMAKE_BUILD_TYPE=Release
64+ cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
4665
4766 - name : Configure (macOS)
4867 if : runner.os == 'macOS'
68+ working-directory : ${{ env.PROJECT_DIR }}
4969 env :
5070 OPENSSL_ROOT_DIR : /opt/homebrew/opt/openssl@3
5171 PKG_CONFIG_PATH : /opt/homebrew/opt/openssl@3/lib/pkgconfig
5272 run : |
53- cmake -S easy-stun -B easy-stun/ build -G Ninja -DCMAKE_BUILD_TYPE=Release
73+ cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
5474
5575 - name : Build
76+ working-directory : ${{ env.PROJECT_DIR }}
5677 run : |
57- cmake --build easy-stun/ build
78+ cmake --build build
5879
5980 - name : Package artifact
81+ working-directory : ${{ env.PROJECT_DIR }}
6082 shell : bash
6183 run : |
6284 set -euo pipefail
63- BIN="easy-stun/ build/easy-stun"
85+ BIN="build/easy-stun"
6486 test -f "$BIN"
6587
6688 OS="${{ runner.os }}"
7294 cp "$BIN" "$OUTDIR/easy-stun"
7395 (cd "$OUTDIR" && tar -czf "${NAME}.tar.gz" easy-stun)
7496
75- echo "ASSET_PATH=$OUTDIR/${NAME}.tar.gz" >> "$GITHUB_ENV"
97+ echo "ASSET_PATH=${{ env.PROJECT_DIR }}/$ OUTDIR/${NAME}.tar.gz" >> "$GITHUB_ENV"
7698 echo "ASSET_NAME=${NAME}.tar.gz" >> "$GITHUB_ENV"
7799
78100 - name : Upload build artifact (non-tag)
0 commit comments