Skip to content

Commit

Permalink
qgc v4.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sashreek1 committed Mar 18, 2024
0 parents commit 798589f
Show file tree
Hide file tree
Showing 2,430 changed files with 866,634 additions and 0 deletions.
1 change: 1 addition & 0 deletions .ackrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--ignore-dir=doc
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: Bug report
about: Create a report to help us improve
labels:

---

The following template is for Issue/Bug reporting only. https://docs.qgroundcontrol.com/en/Support/Support.html#github-issues

For questions about how to use or build QGC see: http://qgroundcontrol.com/#resources

If you are using an old stable release please upgrade first and verify your issue before reporting.
----

## Expected Behavior
Please tell us what should happen as detailed as possible.

## Current Behavior
Please describe what happens instead of the expected behavior.

## Steps to Reproduce:
Please provide an unambiguous set of steps to reproduce the current behavior
1.
2.
3.
4.

## System Information
When posting bug reports, include the following information
- Operating System: [e.g. iOS 12.1, Windows 8, macOS Mojave 10.14.1, Ubuntu 14]
- QGC Version: [e.g. 3.4.4]
- QGC build: [e.g., daily, stable, self-built from source, etc...]
- Flight Controller: [e.g., Pixhawk I, Pixhawk Mini, Pixhawk 2, etc.]
- Autopilot (with version): [e.g., PX4 1.8.1, Ardupilot Copter 3.6.1]

## Detailed Description
Provide further details about your issue/bug.

## Log Files and Screenshots
- [QGC Console Logs](https://docs.qgroundcontrol.com/en/Support/Support.html#reporting-bugs)
- Autopilot logs when available (post a link).
- Screenshots of QGC to help identify the current issue/bug behavior.
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: Feature request
about: Tell us about your new idea

---

Tell us a bit about the feature:
- What problem does it solve?
- What does it do?
- What flight stacks must it work with? (All, PX4, ArduPilot)
- Relevant vehicle types? (All, multirotor, fixed-wing, VTOL, submarine, etc.)
- Are there other systems that have this feature?
- What communication/integration standards does the feature rely on (e.g. MAVLink commands etc.)

Any additional context you can provide will make the feature easier to evaluate (e.g. mockups, detailed specification, etc.)
146 changes: 146 additions & 0 deletions .github/workflows/android_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
# The 32 and 64 bit version of these actions should be kept in sync
name: Android 32/64-bit Release

on:
push:
branches:
- 'master'
- 'Stable*'
tags:
- 'v*'
pull_request:
branches:
- '*'

defaults:
run:
shell: bash

env:
SOURCE_DIR: ${{ github.workspace }}
QT_VERSION: 5.15.2
BUILD_TYPE: ${{ fromJSON('["DailyBuild", "StableBuild"]')[ github.ref_type == 'tag' || contains(github.ref, 'Stable_' ) ] }}

jobs:
build:
runs-on: ubuntu-20.04

strategy:
matrix:
include:
- architecture: 32bits
eabi: armeabi-v7a
ARTIFACT: QGroundControl32.apk
- architecture: 64bits
eabi: arm64-v8a
ARTIFACT: QGroundControl64.apk

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: linux
target: android
dir: ${{ runner.temp }}
modules: qtcharts
setup-python: true

- name: Install Android NDK
uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r21e
add-to-path: false

- name: Remove Android SDKs to force usage of android-33 only
run: |
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --uninstall "platforms;android-33-ext5"
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --uninstall "platforms;android-33-ext4"
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --uninstall "platforms;android-34"
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --uninstall "platforms;android-34-ext8"
- name: Install ccache
run: sudo apt-get install ccache

- name: Prepare ccache timestamp
id: ccache_cache_timestamp
run: echo "name=timestamp::$(date --utc +'%Y-%m-%d-%H\;%M\;%S')" >> $GITHUB_OUTPUT

- name: ccache cache files
uses: actions/cache@v3
with:
path: ~/.ccache
key: ${{ runner.os }}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: ${{ runner.os }}-ccache-

- name: Setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 5" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: Create build directory
run: mkdir ${{ runner.temp }}/shadow_build_dir

- name: Install gstreamer
working-directory: ${{ github.workspace }}
run: |
wget --quiet https://gstreamer.freedesktop.org/data/pkg/android/1.18.5/gstreamer-1.0-android-universal-1.18.5.tar.xz
mkdir gstreamer-1.0-android-universal-1.18.5
tar xf gstreamer-1.0-android-universal-1.18.5.tar.xz -C gstreamer-1.0-android-universal-1.18.5
- name: Update android manifest
if: github.ref_name != 'Stable'
run: |
${SOURCE_DIR}/tools/update_android_manifest_package.sh ${{ github.ref_name }}
- name: Build
working-directory: ${{ runner.temp }}/shadow_build_dir
env:
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK_LATEST_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK: ${{ steps.setup-ndk.outputs.ndk-path }}
run: |
qmake -r ${SOURCE_DIR}/qgroundcontrol.pro -spec android-clang CONFIG+=${BUILD_TYPE} CONFIG+=installer ANDROID_ABIS="${{ matrix.eabi }}"
make -j2
- name: ccache post-run
run: ccache -s

- name: Save artifact
uses: actions/upload-artifact@master
with:
name: ${{ matrix.ARTIFACT }}
path: ${{ runner.temp }}/shadow_build_dir/package/${{ matrix.ARTIFACT }}

- name: Upload build to S3 Bucket
if: github.event_name == 'push'
working-directory: ${{ runner.temp }}/shadow_build_dir/package
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 ${{ matrix.ARTIFACT }} s3://qgroundcontrol/builds/${{ github.ref_name }}/${{ matrix.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/package
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 ${{ matrix.ARTIFACT }} s3://qgroundcontrol/latest/${{ matrix.ARTIFACT }} --region us-west-2 --acl public-read
96 changes: 96 additions & 0 deletions .github/workflows/linux_debug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Linux Debug and Test

on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'

defaults:
run:
shell: bash

env:
SOURCE_DIR: ${{ github.workspace }}
QT_VERSION: 5.15.2
BUILD_TYPE: ${{ fromJSON('["DailyBuild", "StableBuild"]')[ github.ref_type == 'tag' || contains(github.ref, 'Stable_' ) ] }}

jobs:
build:
runs-on: ubuntu-20.04

steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
submodules: recursive

- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: ${{ env.QT_VERSION }}
host: linux
target: desktop
dir: ${{ runner.temp }}
modules: qtcharts
setup-python: true

- name: Install QGC source dependencies
run: sudo apt-get install -y libsdl2-dev

- name: Install source dependencies required to run unit tests in workflow container
run: sudo apt-get install -y libxkbcommon-x11-0

- name: Install Gstreamer dev packages
run: sudo apt-get install -y libgstreamer-plugins-base1.0-dev libgstreamer1.0-0:amd64 libgstreamer1.0-dev

- name: Install ccache
run: sudo apt-get install ccache

- name: Install post-link dependencies
run: sudo apt-get install -y binutils patchelf

- name: Prepare ccache timestamp
id: ccache_cache_timestamp
run: echo "name=timestamp::$(date --utc +'%Y-%m-%d-%H\;%M\;%S')" >> $GITHUB_OUTPUT

- name: ccache cache files
uses: actions/cache@v3
with:
path: ~/.ccache
key: ${{ runner.os }}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: ${{ runner.os }}-ccache-

- name: Setup ccache
run: |
mkdir -p ~/.ccache
echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
echo "compression = true" >> ~/.ccache/ccache.conf
echo "compression_level = 5" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: Create build directory
run: mkdir ${{ runner.temp }}/shadow_build_dir

- name: Build
working-directory: ${{ runner.temp }}/shadow_build_dir
run: |
qmake -r ${SOURCE_DIR}/qgroundcontrol.pro CONFIG+=debug CONFIG+=${BUILD_TYPE}
make -j2
- name: ccache post-run
run: ccache -s

- name: Setup for unit tests
working-directory: ${{ runner.temp }}/shadow_build_dir
run: |
mkdir -p ~/.config/QtProject/
cp ${SOURCE_DIR}/test/qtlogging.ini ~/.config/QtProject/
export QT_FATAL_WARNINGS=1
- name: Run unit tests
working-directory: ${{ runner.temp }}/shadow_build_dir
run: xvfb-run -a ./staging/qgroundcontrol-start.sh --unittest
Loading

0 comments on commit 798589f

Please sign in to comment.