Qt Creator 15 #235
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ROS Qt Creator plugin build and archive release | |
on: [push, pull_request] | |
jobs: | |
build: | |
name: build (${{ matrix.config.name }}) | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
matrix: | |
config: | |
- { name: "Linux", os: ubuntu-20.04, build: "RelWithDebInfo" } | |
- { name: "Windows", os: windows-latest, build: "Release" } | |
- { name: "macOS", os: macos-14, build: "Release" } | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- name: install Microsoft Visual C++ (Windows) | |
uses: ilammy/msvc-dev-cmd@v1 | |
if: runner.os == 'Windows' | |
- name: install Linux system dependencies | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt update | |
sudo apt install libgl1-mesa-dev ninja-build libutf8proc-dev libcups2-dev | |
- name: install Windows system dependencies | |
if: runner.os == 'Windows' | |
run: | | |
choco install ninja | |
- name: install macOS system dependencies | |
if: runner.os == 'macOS' | |
run: brew install ninja | |
- name: install Qt and Qt Creator | |
shell: bash | |
run: | | |
pip install pyyaml requests py7zr==0.21 tqdm_loggable | |
python install-sdk.py --export_variables | |
cat env >> $GITHUB_ENV | |
- name: build plugin | |
run: | | |
cmake -B build -GNinja -DCMAKE_BUILD_TYPE=${{ matrix.config.build }} -DCMAKE_PREFIX_PATH="${{ env.QTC_PATH }};${{ env.QT_PATH }}" -DBUILD_ROSTERMINAL=OFF | |
cmake --build build --target package | |
- name: upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: plugin_archive_artifact_${{ matrix.config.name }} | |
if-no-files-found: error | |
path: | | |
./build/ROSProjectManager-*-*-*.zip | |
- name: install Qt Creator DEB package | |
if: runner.os == 'Linux' | |
run: | | |
wget $(./packaging/format-deb-url.py) --directory-prefix=/tmp | |
sudo apt install /tmp/qtcreator-opensource-linux-*-*.deb | |
- name: generate plugin DEB package | |
if: runner.os == 'Linux' | |
run: | | |
cd build | |
cpack -G DEB | |
- name: upload artifact (DEB) | |
if: runner.os == 'Linux' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: plugin_archive_artifact_${{ matrix.config.name }}_deb | |
if-no-files-found: error | |
path: | | |
./build/ROSProjectManager-*-*-*.deb | |
./build/ROSProjectManager-*-*-*-dbgsym.ddeb | |
release: | |
name: create release | |
if: contains(github.ref, '/tags/') | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: plugin_archive_artifact_* | |
merge-multiple: true | |
path: ./ | |
- name: create release | |
uses: ncipollo/release-action@v1 | |
id: create_release | |
with: | |
artifacts: ROSProjectManager-*-*-*.zip,ROSProjectManager-*-*-*.deb,ROSProjectManager-*-*-*-dbgsym.ddeb |