Skip to content

Bump the pip-dependencies group across 1 directory with 2 updates #46

Bump the pip-dependencies group across 1 directory with 2 updates

Bump the pip-dependencies group across 1 directory with 2 updates #46

Workflow file for this run

name: Check with RockyLinux
on:
push:
branches-ignore:
- 'dependabot**'
tags:
- '*'
paths-ignore:
- '**/lsan.supp'
- 'buildScripts/travis/*'
- 'buildScripts/azure/*'
- 'buildScripts/docker/*'
- 'azure-pipelines.yml'
- '.cirrus.yml'
- '.travis.yml'
- '.mergify.yml'
- 'Brewfile'
- '**/*.html'
- '**/*.txt'
- '**/*.md'
- 'installer/packages/**/meta/prebuild-win32.sh'
- '**/*.dockerfile'
- '**/*.Dockerfile'
- '**/Dockerfile'
- '**/Dockerfile.*'
- 'plugins/robots/checker/scripts/build-checker-installer.sh'
- '.github/workflows/main.yml'
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
lint:
uses: ./.github/workflows/setup_environment.yml
with:
os: ubuntu-latest
lint: true
build: false
build_installer: false
build:
needs: lint
runs-on: ubuntu-latest
container: rockylinux:9
defaults:
run:
shell: bash -l {0} # to force import of ~/.bash_profile
strategy:
fail-fast: false
matrix:
include:
- qt-version: '5.12'
python-minor: 9
gcc-version: 13
deploy-installer: true
steps:
- name: Install packages
run: |
yum install -y epel-release # for ccache and p7zip
yum update -y # useless?
yum install --allowerasing -y \
sudo which \
libusbx-devel curl wget make gcc-toolset-${{ matrix.gcc-version }}-{gcc-c++,libasan-devel,libubsan-devel,gdb} \
git-core ccache zlib-devel rsync python3-{devel,pip,urllib3} mesa-libGL-devel systemd-devel fontconfig p7zip
yum install -y libxkbcommon-x11 qt5-qtbase-gui #no desire to enumerate all required libraries for QtIFw
yum install -y pulseaudio-libs-glib2 # to run TS and 2D-model even with `minimal` platform
echo "source scl_source enable gcc-toolset-${{ matrix.gcc-version }}" >> ~/.bash_profile
- name: Prepare environment variables
run: |
DIR=$(realpath "$GITHUB_WORKSPACE"/../build)
echo "BUILD_DIR=$DIR" >> $GITHUB_ENV
echo "LC_ALL=C.UTF-8" >> $GITHUB_ENV
- name: Configure git
run: |
git --version
git config --global core.symlinks true
git config --global core.autocrlf false
#prepare for actions/checkout, otherwise it fails
#echo "$(dirname $(realpath $(which git)))" >> $GITHUB_PATH
#echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $GITHUB_ENV
#echo "PERL5LIB=$PERL5LIB" >> $GITHUB_ENV
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
submodules: recursive
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v3.x
- name: Create build directory
run: mkdir -vp ${{ env.BUILD_DIR }}
- name: Install Qt
run: |
set -ueo pipefail
python3 -m pip install -U pip
python3 -m pip install aqtinstall
aqt install-qt linux desktop "${{ matrix.qt-version }}" -O /Qt -m qtscript --archives qtbase qtmultimedia qtsvg qtscript qttools qtserialport qtimageformats icu qtwayland
aqt install-tool linux desktop tools_ifw -O /Qt
QT_ROOT_DIR=$(ls -1d /Qt/${{ matrix.qt-version }}*/gcc_64 | head -n 1)
echo "IQTA_TOOLS=/Qt/Tools" >> $GITHUB_ENV
echo "QT_ROOT_DIR=$QT_ROOT_DIR" >> $GITHUB_ENV
echo "$QT_ROOT_DIR/bin" >> $GITHUB_PATH
- name: Check PATH
run: echo PATH="$PATH"
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.14
- name: Check available tools
run: |
set -xueo pipefail
uname -a
rsync --version
qmake --version && qmake -query
python3 --version
which g++
g++ --version
ccache --version
- name: QMake
timeout-minutes: 1
run: |
cd ${{ env.BUILD_DIR }}
qmake $GITHUB_WORKSPACE/studio.pro CONFIG+=release CONFIG+=tests \
PYTHON_VERSION=3.${{ matrix.python-minor }} PYTHON_DIR=$(python-3.${{ matrix.python-minor }}-config --prefix) \
CONFIG+=noPch CONFIG+=ccache CONFIG+=sanitizer CONFIG+=sanitize-undefined
- name: QMake all
timeout-minutes: 5
run: |
cd ${{ env.BUILD_DIR }}
make -j $(nproc) qmake_all
- name: Make all
timeout-minutes: 70
run: |
cd ${{ env.BUILD_DIR }}
make -j $(nproc) all
- name: Unit tests
timeout-minutes: 5
run: |
cd ${{ env.BUILD_DIR }}
export TRIK_PYTHONPATH=$(python3.${{ matrix.python-minor }} -c "import sys; import os; print(os.pathsep.join(sys.path))")
make -k check TESTARGS="-platform offscreen"
- name: Download tests
run: |
curl --output tests.7z "https://dl.trikset.com/edu/.solutions20200701/testing_small.7z"
7za x tests.7z
ls $GITHUB_WORKSPACE/testing_small
- name: Tests
id: tests
timeout-minutes: 2
continue-on-error: true
run: |
echo "$PATH"
echo ------
cd ${{ env.BUILD_DIR }}/bin
env QT_QPA_PLATFORM=minimal python3 "${GITHUB_WORKSPACE}/buildScripts/tests/fieldstest.py" ./2D-model "${GITHUB_WORKSPACE}/testing_small"
- name: Build installer
run: |
set -vx
cd "$GITHUB_WORKSPACE"/installer
export TRIK_PYTHON3_VERSION_MINOR=${{ matrix.python-minor }}
bash -xv ./build-trik-studio.sh "${QT_ROOT_DIR}/bin" $(ls -1d "${IQTA_TOOLS}"/QtInstallerFramework/*/bin | head -n 1) "${{ env.BUILD_DIR }}"
- name: Push installer
uses: actions/upload-artifact@v4
with:
name: trik-studio-auto-installer-rockylinux-qt${{ matrix.qt-version }}
path: |
installer/trik-studio*installer*.run
installer/trik_studio*.qs
installer/reinstall*
- name: Check errors
if: ${{ steps.tests.outcome == 'failure' }}
run: |
echo Errors occurred in the step Tests
exit 1
- name: Get tag
run: echo "CURRENT_TAG=$(git tag --contains HEAD | sort -Vr | head -n1)" >> $GITHUB_ENV
- name: Check tag
if: ${{ env.CURRENT_TAG != ''}}
run: echo "GITHUB_REF_SLUG=${{ env.CURRENT_TAG }}" >> $GITHUB_ENV
- name: Deploy installer
if: ${{ false && matrix.deploy-installer && github.event_name != 'pull_request' && github.repository_owner == 'trikset' }}
run: |
install -m 600 -D /dev/null ~/.ssh/id_rsa
echo "${{ secrets.DL_PRIVATE_SSH_KEY }}" > ~/.ssh/id_rsa
rsync -v --rsh="ssh -o StrictHostKeyChecking=no" installer/trik-studio*installer*.run ${{ secrets.DL_USERNAME }}@${{ secrets.DL_HOST }}:~/dl/ts/fresh/installer/trik-studio-${{ env.GITHUB_REF_SLUG }}-linux-generic-installer.run