Skip to content

Optimize map provider iteration to prevent app crashes. Fixed application crash due to segmentation fault. #1953

Optimize map provider iteration to prevent app crashes. Fixed application crash due to segmentation fault.

Optimize map provider iteration to prevent app crashes. Fixed application crash due to segmentation fault. #1953

Workflow file for this run

name: Windows Release
on:
push:
branches:
- 'master'
- 'Stable*'
tags:
- 'v*'
pull_request:
branches:
- '*'
defaults:
run:
shell: cmd
env:
SOURCE_DIR: ${{ github.workspace }}
QT_VERSION: 5.15.2
ARTIFACT: QGroundControl-installer.exe
BUILD_TYPE: ${{ fromJSON('["DailyBuild", "StableBuild"]')[ github.ref_type == 'tag' || contains(github.ref, 'Stable_' ) ] }}
jobs:
build:
runs-on: windows-2019
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
submodules: recursive
- name: Get all tags for correct version determination
working-directory: ${{ github.workspace }}
run: |
git fetch --all --tags -f --depth 1
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: ${{ env.QT_VERSION }}
host: windows
target: desktop
arch: win64_msvc2019_64
dir: ${{ runner.temp }}
modules: qtcharts
setup-python: false
- name: Download JOM
uses: suisei-cn/[email protected]
with:
url: http://download.qt.io/official_releases/jom/jom.zip
target: ${{ runner.temp }}\
- name: Unzip JOM
working-directory: ${{ runner.temp }}
run: |
7z x jom.zip -ojom
- name: Download Gstreamer
uses: suisei-cn/[email protected]
with:
url: https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-msvc-x86_64-1.18.1.msi
target: ${{ runner.temp }}\
- name: Download Gstreamer dev
uses: suisei-cn/[email protected]
with:
url: https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-devel-msvc-x86_64-1.18.1.msi
target: ${{ runner.temp }}\
- name: Install Gstreamer
run: |
cmd /c start /wait msiexec /package ${{ runner.temp }}\gstreamer-1.0-msvc-x86_64-1.18.1.msi /passive ADDLOCAL=ALL
cmd /c start /wait msiexec /package ${{ runner.temp }}\gstreamer-1.0-devel-msvc-x86_64-1.18.1.msi /passive ADDLOCAL=ALL
- name: Create build directory
run: mkdir ${{ runner.temp }}\shadow_build_dir
- name: Set up Visual Studio shell
uses: egor-tensin/vs-shell@v2
with:
arch: x64
- name: Build
working-directory: ${{ runner.temp }}\shadow_build_dir
run: |
qmake -r ${{ env.SOURCE_DIR }}\qgroundcontrol.pro CONFIG+=installer CONFIG+=${{ env. BUILD_TYPE }}
${{ runner.temp }}\jom\jom -j2
- name: Save installer artifact
uses: actions/upload-artifact@master
with:
name: ${{ env.ARTIFACT }}
path: ${{ runner.temp }}\shadow_build_dir\staging\${{ env.ARTIFACT }}
- name: Save PDB artifact
uses: actions/upload-artifact@master
with:
name: qgroundcontrol.pdb
path: ${{ runner.temp }}\shadow_build_dir\staging\qgroundcontrol.pdb
- name: Upload build to S3 Bucket
if: github.event_name == 'push'
working-directory: ${{ runner.temp }}\shadow_build_dir\staging
run: |
aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }}
aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws s3 cp ${{ env.ARTIFACT }} s3://qgroundcontrol/builds/${{ github.ref_name }}/${{ env.ARTIFACT }} --region us-west-2 --acl public-read
- name: Upload tagged stable build to S3 latest Bucket
if: github.event_name == 'push' && github.ref_type == 'tag'
working-directory: ${{ runner.temp }}\shadow_build_dir\staging
run: |
aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }}
aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws s3 cp ${{ env.ARTIFACT }} s3://qgroundcontrol/latest/${{ env.ARTIFACT }} --region us-west-2 --acl public-read