최예리

Delete not necessary file

Showing 72 changed files with 0 additions and 4830 deletions
1 ---ignore-dir=Documentation
1 -#!/usr/bin/env groovy
2 -
3 -pipeline {
4 - agent none
5 - stages {
6 -
7 - stage('Build') {
8 - steps {
9 - script {
10 - def build_nodes = [:]
11 - def docker_images = [
12 - armhf: "px4io/px4-dev-armhf:2021-04-29",
13 - arm64: "px4io/px4-dev-aarch64:2021-04-29",
14 - base: "px4io/px4-dev-base-bionic:2021-04-29",
15 - nuttx: "px4io/px4-dev-nuttx-focal:2021-04-29",
16 - snapdragon: "lorenzmeier/px4-dev-snapdragon:2020-04-01"
17 - ]
18 -
19 - def armhf_builds = [
20 - target: ["beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default", "scumaker_pilotpi_default"],
21 - image: docker_images.armhf,
22 - archive: false
23 - ]
24 -
25 - def arm64_builds = [
26 - target: ["scumaker_pilotpi_arm64"],
27 - image: docker_images.arm64,
28 - archive: false
29 - ]
30 -
31 - def base_builds = [
32 - target: ["px4_sitl_rtps"],
33 - image: docker_images.base,
34 - archive: false
35 - ]
36 -
37 - def nuttx_builds_archive = [
38 - target: [
39 - "airmind_mindpx-v2_default",
40 - "ark_can-flow_canbootloader",
41 - "ark_can-flow_default",
42 - "av_x-v1_default",
43 - "bitcraze_crazyflie_default",
44 - "bitcraze_crazyflie21_default",
45 - "cuav_can-gps-v1_canbootloader",
46 - "cuav_can-gps-v1_default",
47 - "cuav_nora_default",
48 - "cuav_x7pro_default",
49 - "cubepilot_cubeorange_default",
50 - "cubepilot_cubeyellow_default",
51 - "freefly_can-rtk-gps_canbootloader",
52 - "freefly_can-rtk-gps_default",
53 - "holybro_can-gps-v1_canbootloader",
54 - "holybro_can-gps-v1_default",
55 - "holybro_durandal-v1_default",
56 - "holybro_kakutef7_default",
57 - "holybro_pix32v5_default",
58 - "modalai_fc-v1_default",
59 - "modalai_fc-v1_rtps",
60 - "modalai_fc-v2_default",
61 - "mro_ctrl-zero-f7_default",
62 - "mro_ctrl-zero-f7-oem_default",
63 - "mro_ctrl-zero-h7_default",
64 - "mro_ctrl-zero-h7-oem_default",
65 - "mro_pixracerpro_default",
66 - "mro_x21-777_default",
67 - "mro_x21_default",
68 - "nxp_fmuk66-e_default",
69 - "nxp_fmuk66-e_rtps",
70 - "nxp_fmuk66-e_socketcan",
71 - "nxp_fmuk66-v3_default",
72 - "nxp_fmuk66-v3_rtps",
73 - "nxp_fmuk66-v3_socketcan",
74 - "nxp_fmurt1062-v1_default",
75 - "nxp_ucans32k146_default",
76 - "nxp_ucans32k146_canbootloader",
77 - "omnibus_f4sd_default",
78 - "px4_fmu-v2_default",
79 - "px4_fmu-v2_fixedwing",
80 - "px4_fmu-v2_multicopter",
81 - "px4_fmu-v2_rover",
82 - "px4_fmu-v3_default",
83 - "px4_fmu-v4_cannode",
84 - "px4_fmu-v4_default",
85 - "px4_fmu-v4pro_default",
86 - "px4_fmu-v5_ctrlalloc",
87 - "px4_fmu-v5_debug",
88 - "px4_fmu-v5_default",
89 - "px4_fmu-v5_fixedwing",
90 - "px4_fmu-v5_multicopter",
91 - "px4_fmu-v5_optimized",
92 - "px4_fmu-v5_rover",
93 - "px4_fmu-v5_rtps",
94 - "px4_fmu-v5_stackcheck",
95 - "px4_fmu-v5_uavcanv0periph",
96 - "px4_fmu-v5_uavcanv1",
97 - "px4_fmu-v5x_base_phy_DP83848C",
98 - "px4_fmu-v5x_default",
99 - "px4_fmu-v6u_default",
100 - "px4_fmu-v6x_default",
101 - "px4_io-v2_default",
102 - "spracing_h7extreme_default",
103 - "uvify_core_default"
104 - ],
105 - image: docker_images.nuttx,
106 - archive: true
107 - ]
108 -
109 - def snapdragon_builds = [
110 - target: ["atlflight_eagle_qurt", "atlflight_eagle_default"],
111 - image: docker_images.snapdragon,
112 - archive: false
113 - ]
114 -
115 - def docker_builds = [
116 - armhf_builds, base_builds, nuttx_builds_archive//, snapdragon_builds
117 - ]
118 -
119 - for (def build_type = 0; build_type < docker_builds.size(); build_type++) {
120 - for (def build_target = 0; build_target < docker_builds[build_type].target.size(); build_target++) {
121 - build_nodes.put(docker_builds[build_type].target[build_target],
122 - createBuildNode(docker_builds[build_type].archive, docker_builds[build_type].image, docker_builds[build_type].target[build_target])
123 - )
124 - }
125 - }
126 -
127 - parallel build_nodes
128 -
129 - } // script
130 - } // steps
131 - } // stage Build
132 -
133 - // TODO: actually upload artifacts to S3
134 - // stage('S3 Upload') {
135 - // agent {
136 - // docker { image 'px4io/px4-dev-base-focal:2021-04-29' }
137 - // }
138 - // options {
139 - // skipDefaultCheckout()
140 - // }
141 - // when {
142 - // anyOf {
143 - // branch 'master'
144 - // branch 'beta'
145 - // branch 'stable'
146 - // branch 'pr-jenkins' // for testing
147 - // }
148 - // }
149 - // steps {
150 - // sh 'echo "uploading to S3"'
151 - // }
152 - // }
153 -
154 - } // stages
155 - environment {
156 - CCACHE_DIR = '/tmp/ccache'
157 - CI = true
158 - }
159 - options {
160 - buildDiscarder(logRotator(numToKeepStr: '5', artifactDaysToKeepStr: '14'))
161 - timeout(time: 90, unit: 'MINUTES')
162 - }
163 -}
164 -
165 -def createBuildNode(Boolean archive, String docker_image, String target) {
166 - return {
167 -
168 - // TODO: fix the snapdragon image
169 - bypass_entrypoint = ''
170 - if (docker_image == 'lorenzmeier/px4-dev-snapdragon:2020-04-01') {
171 - bypass_entrypoint = ' --entrypoint=""'
172 - }
173 -
174 - node {
175 - docker.withRegistry('https://registry.hub.docker.com', 'docker_hub_dagar') {
176 - docker.image(docker_image).inside('-e CCACHE_BASEDIR=${WORKSPACE} -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' + bypass_entrypoint) {
177 - stage(target) {
178 - try {
179 - sh('export')
180 - checkout(scm)
181 - sh('make distclean')
182 - sh('git fetch --tags')
183 - sh('ccache -s')
184 - sh('make ' + target)
185 - sh('ccache -s')
186 - sh('make sizes')
187 - if (archive) {
188 - archiveArtifacts(allowEmptyArchive: false, artifacts: 'build/*/*.px4, build/*/*.elf, build/*/*.bin', fingerprint: true, onlyIfSuccessful: true)
189 - }
190 - sh('make ' + target + ' package')
191 - archiveArtifacts(allowEmptyArchive: true, artifacts: 'build/*/*.tar.bz2', fingerprint: true, onlyIfSuccessful: true)
192 - archiveArtifacts(allowEmptyArchive: true, artifacts: 'build/*/*.deb', fingerprint: true, onlyIfSuccessful: true)
193 - }
194 - catch (exc) {
195 - throw (exc)
196 - }
197 - finally {
198 - sh('make distclean')
199 - }
200 - }
201 - }
202 - }
203 - }
204 - }
205 -}
This diff is collapsed. Click to expand it.
1 ----
2 -Checks: '*,
3 - -android*,
4 - -bugprone-integer-division,
5 - -cert-dcl50-cpp,
6 - -cert-env33-c,
7 - -cert-err34-c,
8 - -cert-err58-cpp,
9 - -cert-msc30-c,
10 - -cert-msc50-cpp,
11 - -clang-analyzer-core.CallAndMessage,
12 - -clang-analyzer-core.NullDereference,
13 - -clang-analyzer-core.UndefinedBinaryOperatorResult,
14 - -clang-analyzer-core.uninitialized.Assign,
15 - -clang-analyzer-core.VLASize,
16 - -clang-analyzer-cplusplus.NewDelete,
17 - -clang-analyzer-cplusplus.NewDeleteLeaks,
18 - -clang-analyzer-deadcode.DeadStores,
19 - -clang-analyzer-optin.cplusplus.VirtualCall,
20 - -clang-analyzer-optin.performance.Padding,
21 - -clang-analyzer-security.insecureAPI.strcpy,
22 - -clang-analyzer-unix.API,
23 - -clang-analyzer-unix.cstring.BadSizeArg,
24 - -clang-analyzer-unix.Malloc,
25 - -clang-analyzer-unix.MallocSizeof,
26 - -cppcoreguidelines-c-copy-assignment-signature,
27 - -cppcoreguidelines-interfaces-global-init,
28 - -cppcoreguidelines-no-malloc,
29 - -cppcoreguidelines-owning-memory,
30 - -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
31 - -cppcoreguidelines-pro-bounds-constant-array-index,
32 - -cppcoreguidelines-pro-bounds-pointer-arithmetic,
33 - -cppcoreguidelines-pro-type-const-cast,
34 - -cppcoreguidelines-pro-type-cstyle-cast,
35 - -cppcoreguidelines-pro-type-member-init,
36 - -cppcoreguidelines-pro-type-reinterpret-cast,
37 - -cppcoreguidelines-pro-type-union-access,
38 - -cppcoreguidelines-pro-type-vararg,
39 - -cppcoreguidelines-special-member-functions,
40 - -fuchsia-default-arguments,
41 - -fuchsia-overloaded-operator,
42 - -google-build-using-namespace,
43 - -google-explicit-constructor,
44 - -google-global-names-in-headers,
45 - -google-readability-casting,
46 - -google-readability-function-size,
47 - -google-readability-namespace-comments,
48 - -google-readability-todo,
49 - -google-runtime-int,
50 - -google-runtime-references,
51 - -hicpp-deprecated-headers,
52 - -hicpp-explicit-conversions,
53 - -hicpp-function-size,
54 - -hicpp-member-init,
55 - -hicpp-no-array-decay,
56 - -hicpp-no-assembler,
57 - -hicpp-no-malloc,
58 - -hicpp-signed-bitwise,
59 - -hicpp-special-member-functions,
60 - -hicpp-use-auto,
61 - -hicpp-use-equals-default,
62 - -hicpp-use-equals-delete,
63 - -hicpp-use-override,
64 - -hicpp-vararg,
65 - -llvm-header-guard,
66 - -llvm-include-order,
67 - -llvm-namespace-comment,
68 - -misc-incorrect-roundings,
69 - -misc-macro-parentheses,
70 - -misc-misplaced-widening-cast,
71 - -misc-redundant-expression,
72 - -misc-unconventional-assign-operator,
73 - -misc-unused-parameters,
74 - -modernize-deprecated-headers,
75 - -modernize-loop-convert,
76 - -modernize-pass-by-value,
77 - -modernize-return-braced-init-list,
78 - -modernize-use-auto,
79 - -modernize-use-bool-literals,
80 - -modernize-use-default-member-init,
81 - -modernize-use-equals-default,
82 - -modernize-use-equals-delete,
83 - -modernize-use-override,
84 - -modernize-use-using,
85 - -performance-inefficient-string-concatenation,
86 - -readability-avoid-const-params-in-decls,
87 - -readability-container-size-empty,
88 - -readability-else-after-return,
89 - -readability-function-size,
90 - -readability-implicit-bool-cast,
91 - -readability-implicit-bool-conversion,
92 - -readability-inconsistent-declaration-parameter-name,
93 - -readability-named-parameter,
94 - -readability-non-const-parameter,
95 - -readability-redundant-declaration,
96 - -readability-static-accessed-through-instance,
97 - -readability-static-definition-in-anonymous-namespace,
98 - '
99 -WarningsAsErrors: '*'
100 -CheckOptions:
101 - - key: google-readability-function-size.BranchThreshold
102 - value: '600'
103 - - key: google-readability-function-size.LineThreshold
104 - value: '4000'
105 - - key: google-readability-function-size.StatementThreshold
106 - value: '4000'
107 -...
1 -// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
2 -// https://github.com/microsoft/vscode-dev-containers/tree/v0.134.0/containers/cpp
3 -{
4 - "name": "px4-dev-nuttx",
5 - "image": "px4io/px4-dev-nuttx-focal:2021-04-29",
6 -
7 - "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
8 -
9 - // Set *default* container specific settings.json values on container create.
10 - "settings": {
11 - "terminal.integrated.shell.linux": "/bin/bash"
12 - },
13 -
14 - // Add the IDs of extensions you want installed when the container is created.
15 - "extensions": [
16 - "chiehyu.vscode-astyle",
17 - "dan-c-underwood.arm",
18 - "fredericbonnet.cmake-test-adapter",
19 - "github.vscode-pull-request-github",
20 - "marus25.cortex-debug",
21 - "ms-azuretools.vscode-docker",
22 - "ms-iot.vscode-ros",
23 - "ms-python.python",
24 - "ms-vscode.cmake-tools",
25 - "ms-vscode.cpptools",
26 - "ms-vscode.cpptools-extension-pack",
27 - "redhat.vscode-yaml",
28 - "streetsidesoftware.code-spell-checker",
29 - "twxs.cmake",
30 - "uavcan.dsdl",
31 - "wholroyd.jinja",
32 - "zixuanwang.linkerscript"
33 - ],
34 -
35 - "containerUser": "user",
36 - "containerEnv": {
37 - "LOCAL_USER_ID": "${localEnv:UID}"
38 - },
39 -
40 - // Use 'forwardPorts' to make a list of ports inside the container available locally.
41 - "forwardPorts": [14556],
42 -}
1 -* text=auto eol=lf
2 -
3 -*.cmake text eol=lf
4 -*.c text eol=lf
5 -*.cc text eol=lf
6 -*.cpp text eol=lf
7 -*.h text eol=lf
8 -*.hh text eol=lf
9 -*.hpp text eol=lf
10 -*.hxx text eol=lf
11 -*.S text eol=lf
12 -
13 -*.ipynb text eol=lf
14 -*.m text eol=lf
15 -*.mat binary
16 -*.py text eol=lf
17 -
18 -*.java text eol=lf
19 -*.jar binary
20 -*.xml text eol=lf
21 -
22 -# PX4 mixers, msgs, etc
23 -*.bin binary
24 -*.mix text eol=lf
25 -*.msg text eol=lf
26 -*.config text eol=lf
27 -*.sdf text eol=lf
28 -*.uavcan text eol=lf
29 -
30 -# NuttX
31 -Makefile.* text eol=lf
32 -*.defs text eol=lf
33 -*.ld text eol=lf
34 -
35 -*.csv text eol=lf
36 -*.md text eol=lf
37 -*.txt text eol=lf
38 -
39 -# Scripts
40 -*.bash text eol=lf
41 -*.sh text eol=lf
42 -*.zsh text eol=lf
43 -# These are explicitly windows files and should use crlf
44 -*.ps1 text eol=crlf
45 -*.{cmd,[cC][mM][dD]} text eol=crlf
46 -*.{bat,[bB][aA][tT]} text eol=crlf
47 -
48 -# Serialisation
49 -*.json text eol=lf
50 -*.toml text eol=lf
51 -*.xml text eol=lf
52 -*.yaml text eol=lf
53 -*.yml text eol=lf
54 -
55 -# Graphics
56 -*.png binary
57 -*.jpg binary
58 -*.jpeg binary
59 -*.gif binary
60 -*.tif binary
61 -*.tiff binary
62 -*.ico binary
63 -*.pdf binary
64 -# SVG treated as an asset (binary) by default.
65 -*.svg text eol=lf
66 -
67 -# Text files where line endings should be preserved
68 -*.patch -text
69 -
70 -# Archives
71 -*.7z binary
72 -*.gz binary
73 -*.tar binary
74 -*.tgz binary
75 -*.zip binary
76 -
77 -# everything else
78 -.gitattributes text eol=lf
79 -.gitignore text eol=lf
80 -Makefile text eol=lf
1 ----
2 -name: Bug report
3 -about: Create a report to help us improve
4 -
5 ----
6 -
7 -**Describe the bug**
8 -A clear and concise description of the bug.
9 -
10 -**To Reproduce**
11 -Steps to reproduce the behavior:
12 -1. Drone switched on '...'
13 -2. Uploaded mission '....' (attach QGC mission file)
14 -3. Took off '....'
15 -4. See error
16 -
17 -**Expected behavior**
18 -A clear and concise description of what you expected to happen.
19 -
20 -**Log Files and Screenshots**
21 -*Always* provide a link to the flight log file:
22 -- Download the flight log file from the vehicle ([tutorial](https://docs.px4.io/master/en/getting_started/flight_reporting.html)).
23 -- Share the link to a log showing the problem on [PX4 Flight Review](http://logs.px4.io/).
24 -
25 -Add screenshots to help explain your problem.
26 -
27 -**Drone (please complete the following information):**
28 -- Describe the type of drone.
29 -- Photo of the IMU / autopilot setup if possible.
30 -
31 -**Additional context**
32 -Add any other context about the problem here.
1 ----
2 -name: 🚀 Feature Request
3 -about: Suggest an idea for this project
4 -
5 ----
6 -
7 -For general questions please use [PX4 Discuss](http://discuss.px4.io/) or [Slack](http://slack.px4.io/).
8 -
9 -**Describe problem solved by the proposed feature**
10 -A clear and concise description of the problem, if any, this feature will solve. E.g. I'm always frustrated when ...
11 -
12 -**Describe your preferred solution**
13 -A clear and concise description of what you want to happen.
14 -
15 -**Describe possible alternatives**
16 -A clear and concise description of alternative solutions or features you've considered.
17 -
18 -**Additional context**
19 -Add any other context or screenshots for the feature request here.
1 ----
2 -name: ⛔ Support Question
3 -about: See [PX4 Discuss](http://discuss.px4.io/) for questions about using PX4.
4 -
5 ----
6 -
7 -We use GitHub issues only to discuss PX4 bugs and new features. For
8 -questions about using PX4 or related components, please use [PX4 Discuss](http://discuss.px4.io/).
9 -
10 -Thanks!
1 ----
2 -name: ⛔ Documentation Issue
3 -about: See https://github.com/PX4/Devguide for documentation issues
4 -
5 ----
6 -
7 -PX4 has dedicated repositories for developer documentation (https://github.com/PX4/Devguide) and user documentation (https://github.com/PX4/px4_user_guide).
8 -
9 -Thanks!
1 -# Number of days of inactivity before an issue becomes stale
2 -daysUntilStale: 90
3 -# Number of days of inactivity before a stale issue is closed, or `false` to disable
4 -daysUntilClose: false
5 -# Issues with these labels will never be considered stale
6 -exemptLabels:
7 - - pinned
8 -# Label to use when marking an issue as stale
9 -staleLabel: stale
10 -# Comment to post when marking an issue as stale. Set to `false` to disable
11 -markComment: >
12 - This issue has been automatically marked as stale because it has not had
13 - recent activity. Thank you for your contributions.
14 -# Comment to post when closing a stale issue. Set to `false` to disable
15 -closeComment: false
1 -name: Checks
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - strategy:
15 - fail-fast: false
16 - matrix:
17 - check: [
18 - "check_format",
19 - "tests",
20 - "tests_coverage",
21 - "px4_fmu-v2_default stack_check",
22 - "validate_module_configs",
23 - "shellcheck_all",
24 - "NO_NINJA_BUILD=1 px4_fmu-v5_default",
25 - "NO_NINJA_BUILD=1 px4_sitl_default",
26 - "airframe_metadata",
27 - "module_documentation",
28 - "parameters_metadata",
29 - ]
30 - container:
31 - image: px4io/px4-dev-nuttx-focal:2021-04-29
32 - options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
33 - steps:
34 - - uses: actions/checkout@v1
35 - with:
36 - token: ${{ secrets.ACCESS_TOKEN }}
37 -
38 - - name: Prepare ccache timestamp
39 - id: ccache_cache_timestamp
40 - shell: cmake -P {0}
41 - run: |
42 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
43 - message("::set-output name=timestamp::${current_date}")
44 - - name: ccache cache files
45 - uses: actions/cache@v2
46 - with:
47 - path: ~/.ccache
48 - key: tests_${{matrix.ubuntu_release}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
49 - restore-keys: tests_${{matrix.ubuntu_release}}-ccache-
50 - - name: setup ccache
51 - run: |
52 - mkdir -p ~/.ccache
53 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
54 - echo "compression = true" >> ~/.ccache/ccache.conf
55 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
56 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
57 - ccache -s
58 - ccache -z
59 - - name: check environment
60 - run: |
61 - export
62 - ulimit -a
63 - - name: ${{matrix.check}}
64 - run: make ${{matrix.check}}
65 - - name: upload coverage
66 - if: contains(matrix.check, 'coverage')
67 - uses: codecov/codecov-action@v1
68 - with:
69 - token: ${{ secrets.CODECOV_TOKEN }}
70 - flags: unittests
71 - file: coverage/lcov.info
1 -name: Clang Tidy
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-clang:2021-04-29
15 - steps:
16 - - uses: actions/checkout@v1
17 - with:
18 - token: ${{secrets.ACCESS_TOKEN}}
19 -
20 - - name: Prepare ccache timestamp
21 - id: ccache_cache_timestamp
22 - shell: cmake -P {0}
23 - run: |
24 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
25 - message("::set-output name=timestamp::${current_date}")
26 - - name: ccache cache files
27 - uses: actions/cache@v2
28 - with:
29 - path: ~/.ccache
30 - key: clang-tidy-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
31 - restore-keys: clang-tidy-ccache-
32 - - name: setup ccache
33 - run: |
34 - mkdir -p ~/.ccache
35 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
36 - echo "compression = true" >> ~/.ccache/ccache.conf
37 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
38 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
39 - ccache -s
40 - ccache -z
41 -
42 - - name: make clang-tidy-quiet
43 - run: |
44 - ccache -z
45 - make clang-tidy-quiet
46 - ccache -s
1 -name: Linux Targets
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-armhf:2021-04-29
15 - strategy:
16 - matrix:
17 - config: [
18 - beaglebone_blue_default,
19 - emlid_navio2_default,
20 - px4_raspberrypi_default,
21 - scumaker_pilotpi_default,
22 - ]
23 - steps:
24 - - uses: actions/checkout@v1
25 - with:
26 - token: ${{secrets.ACCESS_TOKEN}}
27 -
28 - - name: Prepare ccache timestamp
29 - id: ccache_cache_timestamp
30 - shell: cmake -P {0}
31 - run: |
32 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
33 - message("::set-output name=timestamp::${current_date}")
34 - - name: ccache cache files
35 - uses: actions/cache@v2
36 - with:
37 - path: ~/.ccache
38 - key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
39 - restore-keys: ${{matrix.config}}-ccache-
40 - - name: setup ccache
41 - run: |
42 - mkdir -p ~/.ccache
43 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
44 - echo "compression = true" >> ~/.ccache/ccache.conf
45 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
46 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
47 - ccache -s
48 - ccache -z
49 -
50 - - name: make ${{matrix.config}}
51 - run: make ${{matrix.config}}
52 - - name: ccache post-run
53 - run: ccache -s
1 -name: Linux ARM64 Targets
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-aarch64:2021-04-29
15 - strategy:
16 - matrix:
17 - config: [
18 - scumaker_pilotpi_arm64,
19 - ]
20 - steps:
21 - - uses: actions/checkout@v1
22 - with:
23 - token: ${{secrets.ACCESS_TOKEN}}
24 -
25 - - name: Prepare ccache timestamp
26 - id: ccache_cache_timestamp
27 - shell: cmake -P {0}
28 - run: |
29 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
30 - message("::set-output name=timestamp::${current_date}")
31 - - name: ccache cache files
32 - uses: actions/cache@v2
33 - with:
34 - path: ~/.ccache
35 - key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
36 - restore-keys: ${{matrix.config}}-ccache-
37 - - name: setup ccache
38 - run: |
39 - mkdir -p ~/.ccache
40 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
41 - echo "compression = true" >> ~/.ccache/ccache.conf
42 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
43 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
44 - ccache -s
45 - ccache -z
46 -
47 - - name: make ${{matrix.config}}
48 - run: make ${{matrix.config}}
49 - - name: ccache post-run
50 - run: ccache -s
1 -name: MacOS build
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: macos-10.15
14 - strategy:
15 - matrix:
16 - config: [
17 - px4_fmu-v5_default,
18 - px4_sitl
19 - #tests, # includes px4_sitl
20 - ]
21 - steps:
22 - - uses: actions/checkout@v1
23 - with:
24 - token: ${{secrets.ACCESS_TOKEN}}
25 -
26 - - name: setup
27 - run: ./Tools/setup/macos.sh; ./Tools/setup/macos.sh
28 -
29 - - name: Prepare ccache timestamp
30 - id: ccache_cache_timestamp
31 - shell: cmake -P {0}
32 - run: |
33 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
34 - message("::set-output name=timestamp::${current_date}")
35 - - name: ccache cache files
36 - uses: actions/cache@v2
37 - with:
38 - path: ~/.ccache
39 - key: macos_${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
40 - restore-keys: macos_${{matrix.config}}-ccache-
41 - - name: setup ccache
42 - run: |
43 - mkdir -p ~/.ccache
44 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
45 - echo "compression = true" >> ~/.ccache/ccache.conf
46 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
47 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
48 - ccache -s
49 - ccache -z
50 -
51 - - name: make ${{matrix.config}}
52 - run: |
53 - ccache -z
54 - make ${{matrix.config}}
55 - ccache -s
1 -name: Nuttx Targets
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-nuttx-focal:2021-04-29
15 - strategy:
16 - matrix:
17 - config: [
18 - airmind_mindpx-v2_default,
19 - ark_can-flow_canbootloader,
20 - ark_can-flow_debug,
21 - ark_can-flow_default,
22 - ark_can-gps_canbootloader,
23 - ark_can-gps_debug,
24 - ark_can-gps_default,
25 - av_x-v1_default,
26 - bitcraze_crazyflie21_default,
27 - bitcraze_crazyflie_default,
28 - cuav_can-gps-v1_canbootloader,
29 - cuav_can-gps-v1_debug,
30 - cuav_can-gps-v1_default,
31 - cuav_nora_default,
32 - cuav_x7pro_default,
33 - cubepilot_cubeorange_default,
34 - cubepilot_cubeorange_test,
35 - cubepilot_cubeyellow_default,
36 - cubepilot_cubeyellow_test,
37 - cubepilot_io-v2_default,
38 - freefly_can-rtk-gps_canbootloader,
39 - freefly_can-rtk-gps_default,
40 - holybro_can-gps-v1_canbootloader,
41 - holybro_can-gps-v1_debug,
42 - holybro_can-gps-v1_default,
43 - holybro_durandal-v1_default,
44 - holybro_kakutef7_default,
45 - holybro_pix32v5_default,
46 - modalai_fc-v1_default,
47 - modalai_fc-v1_rtps,
48 - modalai_fc-v2_default,
49 - mro_ctrl-zero-f7-oem_default,
50 - mro_ctrl-zero-f7_default,
51 - mro_ctrl-zero-h7-oem_default,
52 - mro_ctrl-zero-h7_default,
53 - mro_pixracerpro_default,
54 - mro_x21-777_default,
55 - mro_x21_default,
56 - nxp_fmuk66-e_default,
57 - nxp_fmuk66-e_rtps,
58 - nxp_fmuk66-e_socketcan,
59 - nxp_fmuk66-v3_default,
60 - nxp_fmuk66-v3_rtps,
61 - nxp_fmuk66-v3_socketcan,
62 - nxp_fmurt1062-v1_default,
63 - nxp_ucans32k146_canbootloader,
64 - nxp_ucans32k146_default,
65 - omnibus_f4sd_default,
66 - px4_fmu-v2_default,
67 - px4_fmu-v2_fixedwing,
68 - px4_fmu-v2_multicopter,
69 - px4_fmu-v2_rover,
70 - px4_fmu-v3_default,
71 - px4_fmu-v4_cannode,
72 - px4_fmu-v4_default,
73 - px4_fmu-v4pro_default,
74 - px4_fmu-v5_ctrlalloc,
75 - px4_fmu-v5_debug,
76 - px4_fmu-v5_default,
77 - px4_fmu-v5_fixedwing,
78 - px4_fmu-v5_multicopter,
79 - px4_fmu-v5_optimized,
80 - px4_fmu-v5_rover,
81 - px4_fmu-v5_rtps,
82 - px4_fmu-v5_stackcheck,
83 - px4_fmu-v5_uavcanv0periph,
84 - px4_fmu-v5_uavcanv1,
85 - px4_fmu-v5x_base_phy_DP83848C,
86 - px4_fmu-v5x_default,
87 - px4_fmu-v6u_default,
88 - px4_fmu-v6x_default,
89 - px4_io-v2_default,
90 - spracing_h7extreme_default,
91 - uvify_core_default
92 - ]
93 - steps:
94 - - uses: actions/checkout@v1
95 - with:
96 - token: ${{secrets.ACCESS_TOKEN}}
97 -
98 - - name: Prepare ccache timestamp
99 - id: ccache_cache_timestamp
100 - shell: cmake -P {0}
101 - run: |
102 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
103 - message("::set-output name=timestamp::${current_date}")
104 - - name: ccache cache files
105 - uses: actions/cache@v2
106 - with:
107 - path: ~/.ccache
108 - key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
109 - restore-keys: ${{matrix.config}}-ccache-
110 - - name: setup ccache
111 - run: |
112 - mkdir -p ~/.ccache
113 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
114 - echo "compression = true" >> ~/.ccache/ccache.conf
115 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
116 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
117 - ccache -s
118 - ccache -z
119 -
120 - - name: make ${{matrix.config}}
121 - run: make ${{matrix.config}}
122 - - name: make ${{matrix.config}} bloaty_compileunits
123 - run: make ${{matrix.config}} bloaty_compileunits || true
124 - - name: make ${{matrix.config}} bloaty_inlines
125 - run: make ${{matrix.config}} bloaty_inlines || true
126 - - name: make ${{matrix.config}} bloaty_segments
127 - run: make ${{matrix.config}} bloaty_segments || true
128 - - name: make ${{matrix.config}} bloaty_symbols
129 - run: make ${{matrix.config}} bloaty_symbols || true
130 - - name: make ${{matrix.config}} bloaty_templates
131 - run: make ${{matrix.config}} bloaty_templates || true
132 - - name: make ${{matrix.config}} bloaty_ram
133 - run: make ${{matrix.config}} bloaty_ram || true
134 - - name: make ${{matrix.config}} bloaty_compare_master
135 - run: make ${{matrix.config}} bloaty_compare_master || true
136 - - name: ccache post-run
137 - run: ccache -s
138 -
139 - - name: Upload px4 package
140 - uses: actions/upload-artifact@v1
141 - with:
142 - name: px4_package_${{matrix.config}}
143 - path: build/${{matrix.config}}/${{matrix.config}}.px4
1 -name: NuttX UAVCAN firmware
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-nuttx-focal:2021-04-29
15 - strategy:
16 - matrix:
17 - config: [
18 - ark_can-flow_default,
19 - cuav_can-gps-v1_default,
20 - freefly_can-rtk-gps_default,
21 - holybro_can-gps-v1_default,
22 - #nxp_ucans32k146_default,
23 - px4_fmu-v4_cannode
24 - ]
25 - steps:
26 - - uses: actions/checkout@v1
27 - with:
28 - token: ${{secrets.ACCESS_TOKEN}}
29 -
30 - - name: Prepare ccache timestamp
31 - id: ccache_cache_timestamp
32 - shell: cmake -P {0}
33 - run: |
34 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
35 - message("::set-output name=timestamp::${current_date}")
36 - - name: ccache cache files
37 - uses: actions/cache@v2
38 - with:
39 - path: ~/.ccache
40 - key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
41 - restore-keys: ${{matrix.config}}-ccache-
42 - - name: setup ccache
43 - run: |
44 - mkdir -p ~/.ccache
45 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
46 - echo "compression = true" >> ~/.ccache/ccache.conf
47 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
48 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
49 - ccache -s
50 - ccache -z
51 -
52 - - name: make ${{matrix.config}}
53 - run: make ${{matrix.config}}
54 -
55 - - name: ccache post-run
56 - run: ccache -s
57 -
58 - - name: Upload px4 package
59 - uses: actions/upload-artifact@v2
60 - with:
61 - name: px4_cannode_${{matrix.config}}
62 - path: build/${{matrix.config}}/*.uavcan.bin
1 -name: Deploy metadata for all targets
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - - 'release/*'
8 - - 'pr-metadata-test'
9 -
10 -jobs:
11 - enumerate_targets:
12 - runs-on: ubuntu-latest
13 - outputs:
14 - matrix: ${{ steps.set-matrix.outputs.matrix }}
15 - steps:
16 - - uses: actions/checkout@v1
17 - with:
18 - token: ${{secrets.ACCESS_TOKEN}}
19 - - id: set-matrix
20 - run: echo "::set-output name=matrix::$(./Tools/generate_board_targets_json.py)"
21 - build:
22 - runs-on: ubuntu-latest
23 - needs: enumerate_targets
24 - strategy:
25 - matrix: ${{fromJson(needs.enumerate_targets.outputs.matrix)}}
26 - container: px4io/px4-dev-${{ matrix.container }}:2021-04-29
27 - steps:
28 - - uses: actions/checkout@v1
29 - with:
30 - token: ${{secrets.ACCESS_TOKEN}}
31 -
32 - - name: Prepare ccache timestamp
33 - id: ccache_cache_timestamp
34 - shell: cmake -P {0}
35 - run: |
36 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
37 - message("::set-output name=timestamp::${current_date}")
38 - - name: ccache cache files
39 - uses: actions/cache@v2
40 - with:
41 - path: ~/.ccache
42 - key: ${{matrix.target}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
43 - restore-keys: ${{matrix.target}}-ccache-
44 - - name: setup ccache
45 - run: |
46 - mkdir -p ~/.ccache
47 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
48 - echo "compression = true" >> ~/.ccache/ccache.conf
49 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
50 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
51 - ccache -s
52 - ccache -z
53 -
54 - - name: make ${{matrix.target}}
55 - run: make ${{matrix.target}}
56 - - name: ccache post-run
57 - run: ccache -s
58 -
59 - - name: parameter metadata
60 - run: |
61 - make ${{matrix.target}} ver_gen
62 - ./src/lib/version/get_git_tag_or_branch_version.sh build/${{ matrix.target }} >> $GITHUB_ENV
63 - cd build/${{ matrix.target }}
64 - mkdir _metadata || true
65 - cp parameters.* _metadata
66 -
67 - - uses: jakejarvis/s3-sync-action@master
68 - with:
69 - args: --acl public-read
70 - env:
71 - AWS_S3_BUCKET: 'px4-travis'
72 - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
73 - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
74 - AWS_REGION: 'us-west-1'
75 - SOURCE_DIR: 'build/${{ matrix.target }}/_metadata/'
76 - DEST_DIR: 'Firmware/${{ env.version }}/${{ matrix.target }}/'
77 -
1 -name: MAVROS Mission Tests
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - strategy:
15 - fail-fast: false
16 - matrix:
17 - config:
18 - - {vehicle: "iris", mission: "MC_mission_box", build_type: "RelWithDebInfo"}
19 - - {vehicle: "rover", mission: "rover_mission_1", build_type: "RelWithDebInfo"}
20 - #- {vehicle: "plane", mission: "FW_mission_1", build_type: "RelWithDebInfo"}
21 - #- {vehicle: "plane_catapult",mission: "FW_mission_1", build_type: "RelWithDebInfo"}
22 - #- {vehicle: "standard_vtol", mission: "VTOL_mission_1", build_type: "Coverage"}
23 - #- {vehicle: "standard_vtol", mission: "VTOL_mission_1", build_type: "AddressSanitizer"}
24 - #- {vehicle: "tailsitter", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
25 - #- {vehicle: "tiltrotor", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
26 -
27 - container:
28 - image: px4io/px4-dev-ros-melodic:2021-04-29
29 - options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
30 - steps:
31 - - uses: actions/checkout@v1
32 - with:
33 - token: ${{ secrets.ACCESS_TOKEN }}
34 -
35 - - name: Prepare ccache timestamp
36 - id: ccache_cache_timestamp
37 - shell: cmake -P {0}
38 - run: |
39 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
40 - message("::set-output name=timestamp::${current_date}")
41 - - name: ccache cache files
42 - uses: actions/cache@v2
43 - with:
44 - path: ~/.ccache
45 - key: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
46 - restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
47 - - name: setup ccache
48 - run: |
49 - mkdir -p ~/.ccache
50 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
51 - echo "compression = true" >> ~/.ccache/ccache.conf
52 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
53 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
54 - ccache -s
55 - ccache -z
56 -
57 - - name: check environment
58 - run: |
59 - export
60 - ulimit -a
61 - - name: Build PX4 and sitl_gazebo
62 - env:
63 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
64 - run: |
65 - ccache -z
66 - make px4_sitl_default
67 - make px4_sitl_default sitl_gazebo
68 - ccache -s
69 -
70 - - name: Core dump settings
71 - run: |
72 - ulimit -c unlimited
73 - echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
74 -
75 - - name: Run SITL tests
76 - env:
77 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
78 - run: |
79 - export
80 - ./test/rostest_px4_run.sh mavros_posix_test_mission.test mission:=${{matrix.config.mission}} vehicle:=${{matrix.config.vehicle}}
81 -
82 - - name: Look at core files
83 - if: failure()
84 - run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
85 - - name: Upload px4 coredump
86 - if: failure()
87 - uses: actions/upload-artifact@v2-preview
88 - with:
89 - name: coredump
90 - path: px4.core
91 -
92 - - name: ecl EKF analysis
93 - if: always()
94 - run: ./Tools/ecl_ekf/process_logdata_ekf.py ~/.ros/log/*/*.ulg || true
95 -
96 - - name: Upload logs to flight review
97 - if: always()
98 - run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ~/.ros/log/*/*.ulg
99 -
100 - - name: Upload px4 binary
101 - if: failure()
102 - uses: actions/upload-artifact@v2
103 - with:
104 - name: binary
105 - path: build/px4_sitl_default/bin/px4
106 -
107 - - name: Store PX4 log
108 - if: failure()
109 - uses: actions/upload-artifact@v2
110 - with:
111 - name: px4_log
112 - path: ~/.ros/log/*/*.ulg
113 -
114 - - name: Store ROS log
115 - if: failure()
116 - uses: actions/upload-artifact@v2
117 - with:
118 - name: ros_log
119 - path: ~/.ros/**/rostest-*.log
120 -
121 - # Report test coverage
122 - - name: Upload coverage
123 - if: contains(matrix.config.build_type, 'Coverage')
124 - run: |
125 - git config --global credential.helper "" # disable the keychain credential helper
126 - git config --global --add credential.helper store # enable the local store credential helper
127 - echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
128 - git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
129 - mkdir -p coverage
130 - lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
131 - - name: Upload coverage information to Codecov
132 - if: contains(matrix.config.build_type, 'Coverage')
133 - uses: codecov/codecov-action@v1
134 - with:
135 - token: ${{ secrets.CODECOV_TOKEN }}
136 - flags: mavros_mission
137 - file: coverage/lcov.info
1 -name: MAVROS Offboard Tests
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - strategy:
15 - fail-fast: false
16 - matrix:
17 - config:
18 - - {test_file: "mavros_posix_tests_offboard_posctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
19 - #- {test_file: "mavros_posix_tests_offboard_attctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
20 - #- {test_file: "mavros_posix_tests_offboard_rpyrt_ctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
21 -
22 - container:
23 - image: px4io/px4-dev-ros-melodic:2021-04-29
24 - options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
25 - steps:
26 - - uses: actions/checkout@v1
27 - with:
28 - token: ${{ secrets.ACCESS_TOKEN }}
29 -
30 - - name: Prepare ccache timestamp
31 - id: ccache_cache_timestamp
32 - shell: cmake -P {0}
33 - run: |
34 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
35 - message("::set-output name=timestamp::${current_date}")
36 - - name: ccache cache files
37 - uses: actions/cache@v2
38 - with:
39 - path: ~/.ccache
40 - key: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
41 - restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
42 - - name: setup ccache
43 - run: |
44 - mkdir -p ~/.ccache
45 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
46 - echo "compression = true" >> ~/.ccache/ccache.conf
47 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
48 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
49 - ccache -s
50 - ccache -z
51 -
52 - - name: check environment
53 - run: |
54 - export
55 - ulimit -a
56 - - name: Build PX4 and sitl_gazebo
57 - env:
58 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
59 - run: |
60 - ccache -z
61 - make px4_sitl_default
62 - make px4_sitl_default sitl_gazebo
63 - ccache -s
64 -
65 - - name: Core dump settings
66 - run: |
67 - ulimit -c unlimited
68 - echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
69 -
70 - - name: Run SITL tests
71 - env:
72 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
73 - run: |
74 - export
75 - ./test/rostest_px4_run.sh ${{matrix.config.test_file}} vehicle:=${{matrix.config.vehicle}}
76 -
77 - - name: Look at core files
78 - if: failure()
79 - run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
80 - - name: Upload px4 coredump
81 - if: failure()
82 - uses: actions/upload-artifact@v2-preview
83 - with:
84 - name: coredump
85 - path: px4.core
86 -
87 - - name: ecl EKF analysis
88 - if: always()
89 - run: ./Tools/ecl_ekf/process_logdata_ekf.py ~/.ros/log/*/*.ulg || true
90 -
91 - - name: Upload logs to flight review
92 - if: always()
93 - run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ~/.ros/log/*/*.ulg
94 -
95 - - name: Upload px4 binary
96 - if: failure()
97 - uses: actions/upload-artifact@v2
98 - with:
99 - name: binary
100 - path: build/px4_sitl_default/bin/px4
101 -
102 - - name: Store PX4 log
103 - if: failure()
104 - uses: actions/upload-artifact@v2
105 - with:
106 - name: px4_log
107 - path: ~/.ros/log/*/*.ulg
108 -
109 - - name: Store ROS log
110 - if: failure()
111 - uses: actions/upload-artifact@v2
112 - with:
113 - name: ros_log
114 - path: ~/.ros/**/rostest-*.log
115 -
116 - # Report test coverage
117 - - name: Upload coverage
118 - if: contains(matrix.config.build_type, 'Coverage')
119 - run: |
120 - git config --global credential.helper "" # disable the keychain credential helper
121 - git config --global --add credential.helper store # enable the local store credential helper
122 - echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
123 - git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
124 - mkdir -p coverage
125 - lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
126 - - name: Upload coverage information to Codecov
127 - if: contains(matrix.config.build_type, 'Coverage')
128 - uses: codecov/codecov-action@v1
129 - with:
130 - token: ${{ secrets.CODECOV_TOKEN }}
131 - flags: mavros_offboard
132 - file: coverage/lcov.info
1 -name: Metadata
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - - 'release/*'
8 - - 'pr-metadata-test'
9 -
10 -jobs:
11 -
12 - airframe:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-base-focal:2021-04-29
15 - steps:
16 - - uses: actions/checkout@v1
17 - with:
18 - token: ${{ secrets.ACCESS_TOKEN }}
19 -
20 - - name: airframe metadata
21 - run: |
22 - make airframe_metadata
23 - cd build/px4_sitl_default/docs
24 - ls -ls *
25 - # TODO: deploy to userguide gitbook and s3
26 -
27 - module:
28 - runs-on: ubuntu-latest
29 - container: px4io/px4-dev-base-focal:2021-04-29
30 - steps:
31 - - uses: actions/checkout@v1
32 - with:
33 - token: ${{ secrets.ACCESS_TOKEN }}
34 -
35 - - name: module documentation
36 - run: |
37 - make module_documentation
38 - cd build/px4_sitl_default/docs
39 - ls -ls *
40 - # TODO: deploy to userguide gitbook and s3
41 -
42 - parameter:
43 - runs-on: ubuntu-latest
44 - container: px4io/px4-dev-base-focal:2021-04-29
45 - steps:
46 - - uses: actions/checkout@v1
47 - with:
48 - token: ${{ secrets.ACCESS_TOKEN }}
49 -
50 - - name: parameter metadata
51 - run: |
52 - make parameters_metadata
53 - ./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
54 -
55 - - uses: jakejarvis/s3-sync-action@master
56 - with:
57 - args: --acl public-read
58 - env:
59 - AWS_S3_BUCKET: 'px4-travis'
60 - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
61 - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
62 - AWS_REGION: 'us-west-1'
63 - SOURCE_DIR: 'build/px4_sitl_default/docs/'
64 - DEST_DIR: 'Firmware/${{ env.version }}/_general/'
65 -
66 - uorb_graph:
67 - runs-on: ubuntu-latest
68 - container: px4io/px4-dev-nuttx-focal:2021-04-29
69 - steps:
70 - - uses: actions/checkout@v1
71 - with:
72 - token: ${{ secrets.ACCESS_TOKEN }}
73 -
74 - - name: uORB graph
75 - run: |
76 - make uorb_graphs
77 - cd Tools/uorb_graph
78 - ls -ls *
79 - # TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
80 -
81 - micrortps_agent:
82 - runs-on: ubuntu-latest
83 - container: px4io/px4-dev-base-focal:2021-04-29
84 - steps:
85 - - uses: actions/checkout@v1
86 - with:
87 - token: ${{ secrets.ACCESS_TOKEN }}
88 -
89 - - name: microRTPS agent
90 - run: |
91 - make px4_sitl_rtps
92 - git clone https://github.com/PX4/micrortps_agent.git
93 - cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent
94 -
95 - ROS_msgs:
96 - runs-on: ubuntu-latest
97 - container: px4io/px4-dev-base-focal:2021-04-29
98 - steps:
99 - - uses: actions/checkout@v1
100 - with:
101 - token: ${{ secrets.ACCESS_TOKEN }}
102 -
103 - - name: PX4 ROS msgs
104 - run: |
105 - git clone https://github.com/PX4/px4_msgs.git
106 - python3 msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/
107 -
108 - ROS2_bridge:
109 - runs-on: ubuntu-latest
110 - container: px4io/px4-dev-base-focal:2021-04-29
111 - steps:
112 - - uses: actions/checkout@v1
113 - with:
114 - token: ${{ secrets.ACCESS_TOKEN }}
115 -
116 - - name: PX4 ROS2 bridge
117 - run: |
118 - git clone https://github.com/PX4/px4_ros_com.git
119 - ./msg/tools/uorb_to_ros_rtps_ids.py -i msg/tools/uorb_rtps_message_ids.yaml -o px4_ros_com/templates/uorb_rtps_message_ids.yaml
1 -name: Python CI Checks
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - steps:
15 - - uses: actions/checkout@v1
16 - with:
17 - token: ${{ secrets.ACCESS_TOKEN }}
18 - - name: Install Python3
19 - run: sudo apt-get install python3 python3-setuptools python3-pip -y
20 - - name: Install tools
21 - run: pip3 install --user mypy flake8
22 - - name: Check MAVSDK test scripts with mypy
23 - run: $HOME/.local/bin/mypy --strict test/mavsdk_tests/*.py
24 - - name: Check MAVSDK test scripts with flake8
25 - run: $HOME/.local/bin/flake8 test/mavsdk_tests/*.py
1 -name: SITL Tests
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - strategy:
15 - fail-fast: false
16 - matrix:
17 - config:
18 - - {latitude: "59.617693", longitude: "-151.145316", altitude: "48", build_type: "RelWithDebInfo", model: "iris" } # Alaska
19 - - {latitude: "-38.071235", longitude: "145.281220", altitude: "31", build_type: "RelWithDebInfo", model: "standard_vtol" } # Australia
20 - - {latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo", model: "tailsitter" } # Florida
21 - - {latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage", model: "standard_vtol" } # Zurich
22 - container:
23 - image: px4io/px4-dev-simulation-focal:2021-04-29
24 - options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
25 - steps:
26 - - uses: actions/checkout@v1
27 - with:
28 - token: ${{ secrets.ACCESS_TOKEN }}
29 -
30 - - name: Download MAVSDK
31 - run: wget "https://github.com/mavlink/MAVSDK/releases/download/v$(cat test/mavsdk_tests/MAVSDK_VERSION)/mavsdk_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
32 - - name: Install MAVSDK
33 - run: dpkg -i "mavsdk_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
34 -
35 - - name: Prepare ccache timestamp
36 - id: ccache_cache_timestamp
37 - shell: cmake -P {0}
38 - run: |
39 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
40 - message("::set-output name=timestamp::${current_date}")
41 - - name: ccache cache files
42 - uses: actions/cache@v2
43 - with:
44 - path: ~/.ccache
45 - key: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
46 - restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
47 - - name: setup ccache
48 - run: |
49 - mkdir -p ~/.ccache
50 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
51 - echo "compression = true" >> ~/.ccache/ccache.conf
52 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
53 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
54 - ccache -s
55 - ccache -z
56 -
57 - - name: check environment
58 - env:
59 - PX4_HOME_LAT: ${{matrix.config.latitude}}
60 - PX4_HOME_LON: ${{matrix.config.longitude}}
61 - PX4_HOME_ALT: ${{matrix.config.altitude}}
62 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
63 - run: |
64 - export
65 - ulimit -a
66 - - name: Build PX4
67 - env:
68 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
69 - run: make px4_sitl_default
70 - - name: ccache post-run px4/firmware
71 - run: ccache -s
72 - - name: Build SITL Gazebo
73 - env:
74 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
75 - run: make px4_sitl_default sitl_gazebo
76 - - name: ccache post-run sitl_gazebo
77 - run: ccache -s
78 - - name: Build MAVSDK tests
79 - env:
80 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
81 - DONT_RUN: 1
82 - run: make px4_sitl_default gazebo mavsdk_tests
83 - - name: ccache post-run mavsdk_tests
84 - run: ccache -s
85 -
86 - - name: Core dump settings
87 - run: |
88 - ulimit -c unlimited
89 - echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
90 -
91 - - name: Run SITL tests
92 - env:
93 - PX4_HOME_LAT: ${{matrix.config.latitude}}
94 - PX4_HOME_LON: ${{matrix.config.longitude}}
95 - PX4_HOME_ALT: ${{matrix.config.altitude}}
96 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
97 - run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --abort-early --model ${{matrix.config.model}} --upload test/mavsdk_tests/configs/sitl.json
98 -
99 - - name: Look at core files
100 - if: failure()
101 - run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
102 - - name: Upload px4 coredump
103 - if: failure()
104 - uses: actions/upload-artifact@v2-preview
105 - with:
106 - name: coredump
107 - path: px4.core
108 -
109 - - name: Upload px4 binary
110 - if: failure()
111 - uses: actions/upload-artifact@v2-preview
112 - with:
113 - name: binary
114 - path: build/px4_sitl_default/bin/px4
115 -
116 - # Report test coverage
117 - - name: Upload coverage
118 - if: contains(matrix.config.build_type, 'Coverage')
119 - run: |
120 - git config --global credential.helper "" # disable the keychain credential helper
121 - git config --global --add credential.helper store # enable the local store credential helper
122 - echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
123 - git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
124 - mkdir -p coverage
125 - lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
126 - - name: Upload coverage information to Codecov
127 - if: contains(matrix.config.build_type, 'Coverage')
128 - uses: codecov/codecov-action@v1
129 - with:
130 - token: ${{ secrets.CODECOV_TOKEN }}
131 - flags: mavsdk
132 - file: coverage/lcov.info
1 -# How to install:
2 -# gem install github_changelog_generator
3 -# How to run:
4 -# github_changelog_generator -u PX4 -p Firmware
5 -# Description:
6 -# The following params are sensible defaults for the PX4 project,
7 -# if you want to do a changelog before a release you need to update since-tag and future-releases,
8 -
9 -# Params:
10 -# github_changelog_generator --help for all options
11 -
12 -# max-issues
13 -# max threshold for github api queries
14 -# make sure you set your CHANGELOG_GITHUB_TOKEN before
15 -# running
16 -max-issues=1500
17 -
18 -# exclude-tags-regex
19 -# excludes release candidates
20 -exclude-tags-regex=rc[0-9]{1,}|beta[0-9]{1,}
21 -
22 -# since-tag
23 -# version of last stable release
24 -# you need to change this depending on what you need
25 -# if you want a changelog between versions this is the lowest version
26 -since-tag=1.6.5
27 -
28 -# future-release
29 -# version you are about to release
30 -# if you want a changelog between a version and all unreleased changes grouped as a release
31 -# eg: v1.6.5 to v1.7.0
32 -future-release=v1.7.0
33 -
1 -*.dSYM
2 -*.o
3 -*.gch
4 -*.pyc
5 -*~
6 -.*.swp
7 -.context
8 -.cproject
9 -.DS_Store
10 -.gdbinit
11 -.gdb_history
12 -.project
13 -.settings
14 -.swp
15 -.~lock.*
16 -Testing/
17 -Packages/*
18 -build/*
19 -build_*/
20 -cscope.out
21 -cscope.in.out
22 -cscope.po.out
23 -Firmware.sublime-workspace
24 -user.sublime*
25 -/Documentation/doxy.log
26 -/Documentation/html/
27 -/Documentation/doxygen*objdb*tmp
28 -.tags
29 -tags
30 -.tags_sorted_by_file
31 -.pydevproject
32 -.ropeproject
33 -*.orig
34 -Firmware.zip
35 -*.generated.h
36 -.vagrant
37 -*.pretty
38 -xcode
39 -rootfs/
40 -*.autosave
41 -CMakeLists.txt.user
42 -GPATH
43 -GRTAGS
44 -GTAGS
45 -*.creator
46 -*.creator.user
47 -*.files
48 -*.includes
49 -
50 -# CLion ignores
51 -.idea
52 -cmake-build-*/
53 -
54 -posix-configs/SITL/init/test/*_generated
55 -
56 -/airframes.md
57 -/airframes.xml
58 -/parameters.md
59 -/parameters.xml
60 -/modules
61 -/msg/ros/*.msg
62 -
63 -*.gcov
64 -.coverage
65 -.coverage.*
66 -
67 -# KDevelop ignores
68 -.kdev4/*
69 -*.kdev4
70 -
71 -# cmake in tree (ninja)
72 -.ninja_deps
73 -.ninja_log
74 -bin/
75 -build.ninja
76 -cmake_install.cmake
77 -CMakeCache.txt
78 -CMakeFiles
79 -compile_commands.json
80 -CPackConfig.cmake
81 -CPackSourceConfig.cmake
82 -CTestTestfile.cmake
83 -external/
84 -rules.ninja
85 -
86 -# in tree build
87 -**/*.a
88 -**/*.px4mod
89 -**/*.stamp
90 -/coverage*
91 -/functional-*
92 -/generated_params/
93 -/googletest-*/
94 -/logs
95 -/mavsdk_tests
96 -/test_mixer_multirotor
97 -/unit-*
98 -/uORB/
99 -DartConfiguration.tcl
100 -msg/tmp/
101 -msg/topics_sources/
102 -platforms/posix/apps.cpp
103 -platforms/posix/apps.h
104 -src/lib/version/build_git_version.h
105 -src/modules/simulator/simulator_config.h
106 -src/systemcmds/topic_listener/listener_generated.cpp
107 -
108 -# SITL
109 -dataman
110 -eeprom/
1 -[submodule "mavlink/include/mavlink/v2.0"]
2 - path = mavlink/include/mavlink/v2.0
3 - url = https://github.com/mavlink/c_library_v2.git
4 - branch = master
5 -[submodule "src/drivers/uavcan/libuavcan"]
6 - path = src/drivers/uavcan/libuavcan
7 - url = https://github.com/PX4/libuavcan.git
8 - branch = px4
9 -[submodule "Tools/jMAVSim"]
10 - path = Tools/jMAVSim
11 - url = https://github.com/PX4/jMAVSim.git
12 - branch = master
13 -[submodule "Tools/sitl_gazebo"]
14 - path = Tools/sitl_gazebo
15 - url = https://github.com/PX4/PX4-SITL_gazebo.git
16 - branch = master
17 -[submodule "src/lib/matrix"]
18 - path = src/lib/matrix
19 - url = https://github.com/PX4/PX4-Matrix.git
20 - branch = master
21 -[submodule "src/lib/ecl"]
22 - path = src/lib/ecl
23 - url = https://github.com/PX4/PX4-ECL.git
24 - branch = master
25 -[submodule "boards/atlflight/cmake_hexagon"]
26 - path = boards/atlflight/cmake_hexagon
27 - url = https://github.com/PX4/cmake_hexagon.git
28 - branch = px4
29 -[submodule "src/drivers/gps/devices"]
30 - path = src/drivers/gps/devices
31 - url = https://github.com/PX4/PX4-GPSDrivers.git
32 - branch = master
33 -[submodule "src/modules/micrortps_bridge/micro-CDR"]
34 - path = src/modules/micrortps_bridge/micro-CDR
35 - url = https://github.com/PX4/Micro-CDR.git
36 - branch = master
37 -[submodule "platforms/nuttx/NuttX/nuttx"]
38 - path = platforms/nuttx/NuttX/nuttx
39 - url = https://github.com/PX4/NuttX.git
40 - branch = px4_firmware_nuttx-10.0.0+
41 -[submodule "platforms/nuttx/NuttX/apps"]
42 - path = platforms/nuttx/NuttX/apps
43 - url = https://github.com/PX4/NuttX-apps.git
44 - branch = px4_firmware_nuttx-10.0.0+
45 -[submodule "platforms/qurt/dspal"]
46 - path = platforms/qurt/dspal
47 - url = https://github.com/ATLFlight/dspal.git
48 -[submodule "Tools/flightgear_bridge"]
49 - path = Tools/flightgear_bridge
50 - url = https://github.com/PX4/PX4-FlightGear-Bridge.git
51 -[submodule "Tools/jsbsim_bridge"]
52 - path = Tools/jsbsim_bridge
53 - url = https://github.com/PX4/px4-jsbsim-bridge.git
54 -[submodule "src/drivers/uavcan_v1/libcanard"]
55 - path = src/drivers/uavcan_v1/libcanard
56 - url = https://github.com/UAVCAN/libcanard.git
57 -[submodule "src/drivers/uavcan_v1/public_regulated_data_types"]
58 - path = src/drivers/uavcan_v1/public_regulated_data_types
59 - url = https://github.com/UAVCAN/public_regulated_data_types.git
60 -[submodule "src/drivers/uavcannode_gps_demo/public_regulated_data_types"]
61 - path = src/drivers/uavcannode_gps_demo/public_regulated_data_types
62 - url = https://github.com/UAVCAN/public_regulated_data_types.git
63 -[submodule "src/drivers/uavcannode_gps_demo/libcanard"]
64 - path = src/drivers/uavcannode_gps_demo/libcanard
65 - url = https://github.com/UAVCAN/libcanard.git
66 -[submodule "src/drivers/uavcan_v1/legacy_data_types"]
67 - path = src/drivers/uavcan_v1/legacy_data_types
68 - url = https://github.com/PX4/public_regulated_data_types.git
69 - branch = legacy
1 -language: cpp
2 -
3 -git:
4 - depth: 100
5 - submodules: false
6 -
7 -matrix:
8 - fast_finish: true
9 - include:
10 - - os: linux
11 - dist: xenial
12 - # In order to stay under the coverity rate limit, we only run this weekly
13 - # and not on push which is configured in travis-ci settings.
14 - if: branch = master
15 -
16 -before_install:
17 - - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
18 -
19 -install:
20 - - export PATH=$HOME/.local/bin:$PATH
21 - - pip install --user --upgrade pip
22 - - pip install --user -r Tools/setup/requirements.txt
23 -
24 -script:
25 - - make
26 -
27 -addons:
28 - coverity_scan:
29 - project:
30 - name: "PX4/Firmware"
31 - description: "Build submitted via Travis CI"
32 - notification_email: ci@px4.io
33 - build_command_prepend: "make distclean"
34 - build_command: "make px4_sitl_default"
35 - branch_pattern: coverity_scan
1 -.cortex-debug.peripherals.state.json
2 -.cortex-debug.registers.state.json
3 -compile_commands.json
4 -
5 -# generated by cmake
6 -launch.json
7 -
8 -# C/C++ extension does some local caching in this folder
9 -ipch/
10 -
11 -browse.vc.db*
1 -{
2 - "configurations": [
3 - {
4 - "name": "PX4",
5 - "includePath": [
6 - "${workspaceFolder}/**"
7 - ],
8 - "defines": [],
9 - "macFrameworkPath": [],
10 - "configurationProvider": "ms-vscode.cmake-tools",
11 - "cppStandard": "c++14",
12 - "cStandard": "c11"
13 - }
14 - ],
15 - "version": 4
16 -}
...\ No newline at end of file ...\ No newline at end of file
1 -[
2 - {
3 - "name": "PX4 detect"
4 - }
5 -]
...\ No newline at end of file ...\ No newline at end of file
1 -CONFIG:
2 - default: px4_sitl_default
3 - choices:
4 - px4_sitl_default:
5 - short: px4_sitl
6 - buildType: RelWithDebInfo
7 - settings:
8 - CONFIG: px4_sitl_default
9 - px4_sitl_replay:
10 - short: px4_sitl_replay
11 - buildType: RelWithDebInfo
12 - settings:
13 - CONFIG: px4_sitl_replay
14 - px4_sitl_test:
15 - short: px4_sitl_test
16 - buildType: RelWithDebInfo
17 - settings:
18 - CONFIG: px4_sitl_test
19 - px4_io-v2_default:
20 - short: px4_io-v2
21 - buildType: MinSizeRel
22 - settings:
23 - CONFIG: px4_io-v2_default
24 - px4_fmu-v2_default:
25 - short: px4_fmu-v2
26 - buildType: MinSizeRel
27 - settings:
28 - CONFIG: px4_fmu-v2_default
29 - px4_fmu-v3_default:
30 - short: px4_fmu-v3
31 - buildType: MinSizeRel
32 - settings:
33 - CONFIG: px4_fmu-v3_default
34 - px4_fmu-v4_default:
35 - short: px4_fmu-v4
36 - buildType: MinSizeRel
37 - settings:
38 - CONFIG: px4_fmu-v4_default
39 - px4_fmu-v4pro_default:
40 - short: px4_fmu-v4pro
41 - buildType: MinSizeRel
42 - settings:
43 - CONFIG: px4_fmu-v4pro_default
44 - px4_fmu-v5_default:
45 - short: px4_fmu-v5
46 - buildType: MinSizeRel
47 - settings:
48 - CONFIG: px4_fmu-v5_default
49 - px4_fmu-v5x_default:
50 - short: px4_fmu-v5x
51 - buildType: MinSizeRel
52 - settings:
53 - CONFIG: px4_fmu-v5x_default
54 - airmind_mindpx-v2_default:
55 - short: airmind_mindpx-v2
56 - buildType: MinSizeRel
57 - settings:
58 - CONFIG: airmind_mindpx-v2_default
59 - ark_can-flow_default:
60 - short: ark_can-flow_default
61 - buildType: MinSizeRel
62 - settings:
63 - CONFIG: ark_can-flow_default
64 - ark_can-flow_canbootloader:
65 - short: ark_can-flow_canbootloader
66 - buildType: MinSizeRel
67 - settings:
68 - CONFIG: ark_can-flow_canbootloader
69 - ark_can-gps_default:
70 - short: ark_can-gps_default
71 - buildType: MinSizeRel
72 - settings:
73 - CONFIG: ark_can-gps_default
74 - ark_can-gps_canbootloader:
75 - short: ark_can-gps_canbootloader
76 - buildType: MinSizeRel
77 - settings:
78 - CONFIG: ark_can-gps_canbootloader
79 - av_x-v1_default:
80 - short: av_x-v1
81 - buildType: MinSizeRel
82 - settings:
83 - CONFIG: av_x-v1_default
84 - bitcraze_crazyflie_default:
85 - short: bitcraze_crazyflie
86 - buildType: MinSizeRel
87 - settings:
88 - CONFIG: bitcraze_crazyflie_default
89 - cuav_can-gps-v1_default:
90 - short: cuav_can-gps-v1_default
91 - buildType: MinSizeRel
92 - settings:
93 - CONFIG: cuav_can-gps-v1_default
94 - cuav_can-gps-v1_canbootloader:
95 - short: cuav_can-gps-v1_canbootloader
96 - buildType: MinSizeRel
97 - settings:
98 - CONFIG: cuav_can-gps-v1_canbootloader
99 - cuav_nora_default:
100 - short: cuav_nora
101 - buildType: MinSizeRel
102 - settings:
103 - CONFIG: cuav_nora_default
104 - cuav_x7pro_default:
105 - short: cuav_x7pro
106 - buildType: MinSizeRel
107 - settings:
108 - CONFIG: cuav_x7pro_default
109 - cubepilot_cubeorange_test:
110 - short: cubepilot_cubeorange
111 - buildType: MinSizeRel
112 - settings:
113 - CONFIG: cubepilot_orange_test
114 - emlid_navio2_default:
115 - short: emlid_navio2
116 - buildType: MinSizeRel
117 - settings:
118 - CONFIG: emlid_navio2_default
119 - freefly_can-rtk-gps_default:
120 - short: freefly_can-rtk-gps_default
121 - buildType: MinSizeRel
122 - settings:
123 - CONFIG: freefly_can-rtk-gps_default
124 - freefly_can-rtk-gps_canbootloader:
125 - short: freefly_can-rtk-gps_canbootloader
126 - buildType: MinSizeRel
127 - settings:
128 - CONFIG: freefly_can-rtk-gps_canbootloader
129 - holybro_can-gps-v1_canbootloader:
130 - short: holybro_can-gps-v1_canbootloader
131 - buildType: MinSizeRel
132 - settings:
133 - CONFIG: holybro_can-gps-v1_canbootloader
134 - holybro_can-gps-v1_default:
135 - short: holybro_can-gps-v1_default
136 - buildType: MinSizeRel
137 - settings:
138 - CONFIG: holybro_can-gps-v1_default
139 - holybro_durandal-v1_default:
140 - short: holybro_durandal-v1
141 - buildType: MinSizeRel
142 - settings:
143 - CONFIG: holybro_durandal-v1_default
144 - modalai_fc-v1_default:
145 - short: modalai_fc-v1
146 - buildType: MinSizeRel
147 - settings:
148 - CONFIG: modalai_fc-v1_default
149 - modalai_fc-v2_default:
150 - short: modalai_fc-v2
151 - buildType: MinSizeRel
152 - settings:
153 - CONFIG: modalai_fc-v2_default
154 - mro_ctrl-zero-f7_default:
155 - short: mro_ctrl-zero-f7
156 - buildType: MinSizeRel
157 - settings:
158 - CONFIG: mro_ctrl-zero-f7_default
159 - mro_pixracerpro_bootloader:
160 - short: mro_pixracerpro_bootloader
161 - buildType: MinSizeRel
162 - settings:
163 - CONFIG: mro_pixracerpro_bootloader
164 - mro_pixracerpro_default:
165 - short: mro_pixracerpro_default
166 - buildType: MinSizeRel
167 - settings:
168 - CONFIG: mro_pixracerpro_default
169 - mro_x21-777_default:
170 - short: mro_x2.1-777
171 - buildType: MinSizeRel
172 - settings:
173 - CONFIG: mro_x21-777_default
174 - nxp_fmuk66-v3_default:
175 - short: nxp_fmuk66-v3
176 - buildType: MinSizeRel
177 - settings:
178 - CONFIG: nxp_fmuk66-v3_default
1 -{
2 - // See http://go.microsoft.com/fwlink/?LinkId=827846
3 - // for the documentation about the extensions.json format
4 - "recommendations": [
5 - "chiehyu.vscode-astyle",
6 - "dan-c-underwood.arm",
7 - "fredericbonnet.cmake-test-adapter",
8 - "github.vscode-pull-request-github",
9 - "marus25.cortex-debug",
10 - "ms-azuretools.vscode-docker",
11 - "ms-iot.vscode-ros",
12 - "ms-python.python",
13 - "ms-vscode.cmake-tools",
14 - "ms-vscode.cpptools",
15 - "ms-vscode.cpptools-extension-pack",
16 - "redhat.vscode-yaml",
17 - "streetsidesoftware.code-spell-checker",
18 - "twxs.cmake",
19 - "uavcan.dsdl",
20 - "wholroyd.jinja",
21 - "zixuanwang.linkerscript"
22 - ]
23 -}
1 -{
2 - "astyle.astylerc": "${workspaceFolder}/Tools/astyle/astylerc",
3 - "astyle.c.enable": true,
4 - "astyle.cpp.enable": true,
5 - "breadcrumbs.enabled": true,
6 - "C_Cpp.autoAddFileAssociations": false,
7 - "C_Cpp.clang_format_fallbackStyle": "none",
8 - "C_Cpp.default.browse.limitSymbolsToIncludedHeaders": true,
9 - "C_Cpp.default.cppStandard": "c++14",
10 - "C_Cpp.default.cStandard": "c11",
11 - "C_Cpp.formatting": "Disabled",
12 - "C_Cpp.intelliSenseEngine": "Default",
13 - "C_Cpp.vcpkg.enabled": false,
14 - "C_Cpp.workspaceParsingPriority": "low",
15 - "cmake.buildBeforeRun": true,
16 - "cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
17 - "cmake.buildTask": true,
18 - "cmake.configureOnOpen": true,
19 - "cmake.ctest.parallelJobs": 1,
20 - "cmake.skipConfigureIfCachePresent": true,
21 - "cmakeExplorer.buildDir": "${workspaceFolder}/build/px4_sitl_test",
22 - "cmakeExplorer.parallelJobs": 1,
23 - "cmakeExplorer.suiteDelimiter": "-",
24 - "cortex-debug.enableTelemetry": false,
25 - "cSpell.allowCompoundWords": true,
26 - "cSpell.diagnosticLevel": "Hint",
27 - "cSpell.showStatus": false,
28 - "cSpell.words": [
29 - "acro",
30 - "nuttx",
31 - "esc"
32 - ],
33 - "debug.toolBarLocation": "docked",
34 - "editor.acceptSuggestionOnEnter": "off",
35 - "editor.defaultFormatter": "chiehyu.vscode-astyle",
36 - "editor.dragAndDrop": false,
37 - "editor.insertSpaces": false,
38 - "editor.minimap.maxColumn": 120,
39 - "editor.minimap.renderCharacters": false,
40 - "editor.minimap.showSlider": "always",
41 - "editor.suggest.localityBonus": true,
42 - "editor.tabSize": 8,
43 - "editor.wordWrapColumn": 120,
44 - "explorer.openEditors.visible": 0,
45 - "files.insertFinalNewline": true,
46 - "files.trimTrailingWhitespace": true,
47 - "files.watcherExclude": {
48 - "**/build/**": true
49 - },
50 - "git.detectSubmodulesLimit": 20,
51 - "git.ignoreLimitWarning": true,
52 - "githubPullRequests.defaultMergeMethod": "squash",
53 - "githubPullRequests.telemetry.enabled": false,
54 - "files.associations": {
55 - "*.jinja": "jinja",
56 - "algorithm": "cpp",
57 - "array": "cpp",
58 - "atomic": "cpp",
59 - "bitset": "cpp",
60 - "cctype": "cpp",
61 - "cfenv": "cpp",
62 - "chrono": "cpp",
63 - "cinttypes": "cpp",
64 - "clocale": "cpp",
65 - "cmath": "cpp",
66 - "codecvt": "cpp",
67 - "complex": "cpp",
68 - "condition_variable": "cpp",
69 - "csignal": "cpp",
70 - "cstdarg": "cpp",
71 - "cstddef": "cpp",
72 - "cstdint": "cpp",
73 - "cstdio": "cpp",
74 - "cstdlib": "cpp",
75 - "cstring": "cpp",
76 - "ctime": "cpp",
77 - "cwchar": "cpp",
78 - "cwctype": "cpp",
79 - "deque": "cpp",
80 - "exception": "cpp",
81 - "forward_list": "cpp",
82 - "fstream": "cpp",
83 - "functional": "cpp",
84 - "future": "cpp",
85 - "hash_map": "cpp",
86 - "hash_set": "cpp",
87 - "initializer_list": "cpp",
88 - "iomanip": "cpp",
89 - "iosfwd": "cpp",
90 - "iostream": "cpp",
91 - "istream": "cpp",
92 - "iterator": "cpp",
93 - "limits": "cpp",
94 - "list": "cpp",
95 - "map": "cpp",
96 - "memory": "cpp",
97 - "memory_resource": "cpp",
98 - "mutex": "cpp",
99 - "new": "cpp",
100 - "numeric": "cpp",
101 - "optional": "cpp",
102 - "ostream": "cpp",
103 - "random": "cpp",
104 - "ratio": "cpp",
105 - "regex": "cpp",
106 - "set": "cpp",
107 - "sstream": "cpp",
108 - "stdexcept": "cpp",
109 - "streambuf": "cpp",
110 - "string": "cpp",
111 - "string_view": "cpp",
112 - "strstream": "cpp",
113 - "system_error": "cpp",
114 - "thread": "cpp",
115 - "tuple": "cpp",
116 - "type_traits": "cpp",
117 - "typeindex": "cpp",
118 - "typeinfo": "cpp",
119 - "unordered_map": "cpp",
120 - "unordered_set": "cpp",
121 - "utility": "cpp",
122 - "valarray": "cpp",
123 - "variant": "cpp",
124 - "vector": "cpp"
125 - },
126 - "search.exclude": {
127 - "${workspaceFolder}/build": true
128 - },
129 - "search.showLineNumbers": true,
130 - "telemetry.enableTelemetry": false,
131 - "terminal.integrated.copyOnSelection": true,
132 - "terminal.integrated.rightClickBehavior": "paste",
133 - "terminal.integrated.scrollback": 5000,
134 - "window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}",
135 - "workbench.editor.highlightModifiedTabs": true,
136 - "workbench.enableExperiments": false,
137 - "workbench.settings.enableNaturalLanguageSearch": false,
138 - "yaml.schemas": {
139 - "${workspaceFolder}/validation/module_schema.yaml": "${workspaceFolder}/src/modules/*/module.yaml"
140 - }
141 -}
This diff is collapsed. Click to expand it.
1 -# This file is NOT licensed under the GPLv3, which is the license for the rest
2 -# of YouCompleteMe.
3 -#
4 -# Here's the license text for this file:
5 -#
6 -# This is free and unencumbered software released into the public domain.
7 -#
8 -# Anyone is free to copy, modify, publish, use, compile, sell, or
9 -# distribute this software, either in source code form or as a compiled
10 -# binary, for any purpose, commercial or non-commercial, and by any
11 -# means.
12 -#
13 -# In jurisdictions that recognize copyright laws, the author or authors
14 -# of this software dedicate any and all copyright interest in the
15 -# software to the public domain. We make this dedication for the benefit
16 -# of the public at large and to the detriment of our heirs and
17 -# successors. We intend this dedication to be an overt act of
18 -# relinquishment in perpetuity of all present and future rights to this
19 -# software under copyright law.
20 -#
21 -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 -# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25 -# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 -# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 -# OTHER DEALINGS IN THE SOFTWARE.
28 -#
29 -# For more information, please refer to <http://unlicense.org/>
30 -
31 -import os
32 -import ycm_core
33 -
34 -# These are the compilation flags that will be used in case there's no
35 -# compilation database set (by default, one is not set).
36 -# CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR.
37 -flags = [
38 -'-Wall',
39 -'-Wextra',
40 -'-Werror',
41 -#'-Wc++98-compat',
42 -'-Wno-long-long',
43 -'-Wno-variadic-macros',
44 -'-fexceptions',
45 -'-DNDEBUG',
46 -# You 100% do NOT need -DUSE_CLANG_COMPLETER in your flags; only the YCM
47 -# source code needs it.
48 -#'-DUSE_CLANG_COMPLETER',
49 -# THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't know which
50 -# language to use when compiling headers. So it will guess. Badly. So C++
51 -# headers will be compiled as C headers. You don't want that so ALWAYS specify
52 -# a "-std=<something>".
53 -# For a C project, you would set this to something like 'c99' instead of
54 -# 'c++14'.
55 -'-std=c++14',
56 -# ...and the same thing goes for the magic -x option which specifies the
57 -# language that the files to be compiled are written in. This is mostly
58 -# relevant for c++ headers.
59 -# For a C project, you would set this to 'c' instead of 'c++'.
60 -'-x',
61 -'c++',
62 -'-undef', # get rid of standard definitions to allow us to include arm math header
63 -'-I', os.path.join(os.path.expanduser("~"),'gcc-arm-none-eabi-4_7-2013q3/arm-none-eabi/include'),
64 -'-I', 'Build/px4_io-v2_default.build/nuttx-export/include/',
65 -'-I', './NuttX/nuttx/arch/arm/include',
66 -'-include', './src/include/visibility.h',
67 -'-I', './src',
68 -'-I', './src/modules',
69 -'-I', './src/include',
70 -'-I', './src/lib',
71 -'-I', './NuttX',
72 -]
73 -
74 -
75 -# Set this to the absolute path to the folder (NOT the file!) containing the
76 -# compile_commands.json file to use that instead of 'flags'. See here for
77 -# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html
78 -#
79 -# Most projects will NOT need to set this to anything; you can just change the
80 -# 'flags' list of compilation flags. Notice that YCM itself uses that approach.
81 -compilation_database_folder = ''
82 -
83 -if os.path.exists( compilation_database_folder ):
84 - database = ycm_core.CompilationDatabase( compilation_database_folder )
85 -else:
86 - database = None
87 -
88 -SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ]
89 -
90 -def DirectoryOfThisScript():
91 - return os.path.dirname( os.path.abspath( __file__ ) )
92 -
93 -
94 -def MakeRelativePathsInFlagsAbsolute( flags, working_directory ):
95 - if not working_directory:
96 - return list( flags )
97 - new_flags = []
98 - make_next_absolute = False
99 - path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ]
100 - for flag in flags:
101 - new_flag = flag
102 -
103 - if make_next_absolute:
104 - make_next_absolute = False
105 - if not flag.startswith( '/' ):
106 - new_flag = os.path.join( working_directory, flag )
107 -
108 - for path_flag in path_flags:
109 - if flag == path_flag:
110 - make_next_absolute = True
111 - break
112 -
113 - if flag.startswith( path_flag ):
114 - path = flag[ len( path_flag ): ]
115 - new_flag = path_flag + os.path.join( working_directory, path )
116 - break
117 -
118 - if new_flag:
119 - new_flags.append( new_flag )
120 - return new_flags
121 -
122 -
123 -def IsHeaderFile( filename ):
124 - extension = os.path.splitext( filename )[ 1 ]
125 - return extension in [ '.h', '.hxx', '.hpp', '.hh' ]
126 -
127 -
128 -def GetCompilationInfoForFile( filename ):
129 - # The compilation_commands.json file generated by CMake does not have entries
130 - # for header files. So we do our best by asking the db for flags for a
131 - # corresponding source file, if any. If one exists, the flags for that file
132 - # should be good enough.
133 - if IsHeaderFile( filename ):
134 - basename = os.path.splitext( filename )[ 0 ]
135 - for extension in SOURCE_EXTENSIONS:
136 - replacement_file = basename + extension
137 - if os.path.exists( replacement_file ):
138 - compilation_info = database.GetCompilationInfoForFile(
139 - replacement_file )
140 - if compilation_info.compiler_flags_:
141 - return compilation_info
142 - return None
143 - return database.GetCompilationInfoForFile( filename )
144 -
145 -
146 -def FlagsForFile( filename, **kwargs ):
147 - if database:
148 - # Bear in mind that compilation_info.compiler_flags_ does NOT return a
149 - # python list, but a "list-like" StringVec object
150 - compilation_info = GetCompilationInfoForFile( filename )
151 - if not compilation_info:
152 - return None
153 -
154 - final_flags = MakeRelativePathsInFlagsAbsolute(
155 - compilation_info.compiler_flags_,
156 - compilation_info.compiler_working_dir_ )
157 -
158 - # NOTE: This is just for YouCompleteMe; it's highly likely that your project
159 - # does NOT need to remove the stdlib flag. DO NOT USE THIS IN YOUR
160 - # ycm_extra_conf IF YOU'RE NOT 100% SURE YOU NEED IT.
161 - #try:
162 - # final_flags.remove( '-stdlib=libc++' )
163 - #except ValueError:
164 - # pass
165 - else:
166 - relative_to = DirectoryOfThisScript()
167 - final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to )
168 -
169 - return {
170 - 'flags': final_flags,
171 - 'do_cache': True
172 - }
1 ---ignore-dir=Documentation
1 -#!/usr/bin/env groovy
2 -
3 -pipeline {
4 - agent none
5 - stages {
6 -
7 - stage('Build') {
8 - steps {
9 - script {
10 - def build_nodes = [:]
11 - def docker_images = [
12 - armhf: "px4io/px4-dev-armhf:2021-04-29",
13 - arm64: "px4io/px4-dev-aarch64:2021-04-29",
14 - base: "px4io/px4-dev-base-bionic:2021-04-29",
15 - nuttx: "px4io/px4-dev-nuttx-focal:2021-04-29",
16 - snapdragon: "lorenzmeier/px4-dev-snapdragon:2020-04-01"
17 - ]
18 -
19 - def armhf_builds = [
20 - target: ["beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default", "scumaker_pilotpi_default"],
21 - image: docker_images.armhf,
22 - archive: false
23 - ]
24 -
25 - def arm64_builds = [
26 - target: ["scumaker_pilotpi_arm64"],
27 - image: docker_images.arm64,
28 - archive: false
29 - ]
30 -
31 - def base_builds = [
32 - target: ["px4_sitl_rtps"],
33 - image: docker_images.base,
34 - archive: false
35 - ]
36 -
37 - def nuttx_builds_archive = [
38 - target: [
39 - "airmind_mindpx-v2_default",
40 - "ark_can-flow_canbootloader",
41 - "ark_can-flow_default",
42 - "av_x-v1_default",
43 - "bitcraze_crazyflie_default",
44 - "bitcraze_crazyflie21_default",
45 - "cuav_can-gps-v1_canbootloader",
46 - "cuav_can-gps-v1_default",
47 - "cuav_nora_default",
48 - "cuav_x7pro_default",
49 - "cubepilot_cubeorange_default",
50 - "cubepilot_cubeyellow_default",
51 - "freefly_can-rtk-gps_canbootloader",
52 - "freefly_can-rtk-gps_default",
53 - "holybro_can-gps-v1_canbootloader",
54 - "holybro_can-gps-v1_default",
55 - "holybro_durandal-v1_default",
56 - "holybro_kakutef7_default",
57 - "holybro_pix32v5_default",
58 - "modalai_fc-v1_default",
59 - "modalai_fc-v1_rtps",
60 - "modalai_fc-v2_default",
61 - "mro_ctrl-zero-f7_default",
62 - "mro_ctrl-zero-f7-oem_default",
63 - "mro_ctrl-zero-h7_default",
64 - "mro_ctrl-zero-h7-oem_default",
65 - "mro_pixracerpro_default",
66 - "mro_x21-777_default",
67 - "mro_x21_default",
68 - "nxp_fmuk66-e_default",
69 - "nxp_fmuk66-e_rtps",
70 - "nxp_fmuk66-e_socketcan",
71 - "nxp_fmuk66-v3_default",
72 - "nxp_fmuk66-v3_rtps",
73 - "nxp_fmuk66-v3_socketcan",
74 - "nxp_fmurt1062-v1_default",
75 - "nxp_ucans32k146_default",
76 - "nxp_ucans32k146_canbootloader",
77 - "omnibus_f4sd_default",
78 - "px4_fmu-v2_default",
79 - "px4_fmu-v2_fixedwing",
80 - "px4_fmu-v2_multicopter",
81 - "px4_fmu-v2_rover",
82 - "px4_fmu-v3_default",
83 - "px4_fmu-v4_cannode",
84 - "px4_fmu-v4_default",
85 - "px4_fmu-v4pro_default",
86 - "px4_fmu-v5_ctrlalloc",
87 - "px4_fmu-v5_debug",
88 - "px4_fmu-v5_default",
89 - "px4_fmu-v5_fixedwing",
90 - "px4_fmu-v5_multicopter",
91 - "px4_fmu-v5_optimized",
92 - "px4_fmu-v5_rover",
93 - "px4_fmu-v5_rtps",
94 - "px4_fmu-v5_stackcheck",
95 - "px4_fmu-v5_uavcanv0periph",
96 - "px4_fmu-v5_uavcanv1",
97 - "px4_fmu-v5x_base_phy_DP83848C",
98 - "px4_fmu-v5x_default",
99 - "px4_fmu-v6u_default",
100 - "px4_fmu-v6x_default",
101 - "px4_io-v2_default",
102 - "spracing_h7extreme_default",
103 - "uvify_core_default"
104 - ],
105 - image: docker_images.nuttx,
106 - archive: true
107 - ]
108 -
109 - def snapdragon_builds = [
110 - target: ["atlflight_eagle_qurt", "atlflight_eagle_default"],
111 - image: docker_images.snapdragon,
112 - archive: false
113 - ]
114 -
115 - def docker_builds = [
116 - armhf_builds, base_builds, nuttx_builds_archive//, snapdragon_builds
117 - ]
118 -
119 - for (def build_type = 0; build_type < docker_builds.size(); build_type++) {
120 - for (def build_target = 0; build_target < docker_builds[build_type].target.size(); build_target++) {
121 - build_nodes.put(docker_builds[build_type].target[build_target],
122 - createBuildNode(docker_builds[build_type].archive, docker_builds[build_type].image, docker_builds[build_type].target[build_target])
123 - )
124 - }
125 - }
126 -
127 - parallel build_nodes
128 -
129 - } // script
130 - } // steps
131 - } // stage Build
132 -
133 - // TODO: actually upload artifacts to S3
134 - // stage('S3 Upload') {
135 - // agent {
136 - // docker { image 'px4io/px4-dev-base-focal:2021-04-29' }
137 - // }
138 - // options {
139 - // skipDefaultCheckout()
140 - // }
141 - // when {
142 - // anyOf {
143 - // branch 'master'
144 - // branch 'beta'
145 - // branch 'stable'
146 - // branch 'pr-jenkins' // for testing
147 - // }
148 - // }
149 - // steps {
150 - // sh 'echo "uploading to S3"'
151 - // }
152 - // }
153 -
154 - } // stages
155 - environment {
156 - CCACHE_DIR = '/tmp/ccache'
157 - CI = true
158 - }
159 - options {
160 - buildDiscarder(logRotator(numToKeepStr: '5', artifactDaysToKeepStr: '14'))
161 - timeout(time: 90, unit: 'MINUTES')
162 - }
163 -}
164 -
165 -def createBuildNode(Boolean archive, String docker_image, String target) {
166 - return {
167 -
168 - // TODO: fix the snapdragon image
169 - bypass_entrypoint = ''
170 - if (docker_image == 'lorenzmeier/px4-dev-snapdragon:2020-04-01') {
171 - bypass_entrypoint = ' --entrypoint=""'
172 - }
173 -
174 - node {
175 - docker.withRegistry('https://registry.hub.docker.com', 'docker_hub_dagar') {
176 - docker.image(docker_image).inside('-e CCACHE_BASEDIR=${WORKSPACE} -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' + bypass_entrypoint) {
177 - stage(target) {
178 - try {
179 - sh('export')
180 - checkout(scm)
181 - sh('make distclean')
182 - sh('git fetch --tags')
183 - sh('ccache -s')
184 - sh('make ' + target)
185 - sh('ccache -s')
186 - sh('make sizes')
187 - if (archive) {
188 - archiveArtifacts(allowEmptyArchive: false, artifacts: 'build/*/*.px4, build/*/*.elf, build/*/*.bin', fingerprint: true, onlyIfSuccessful: true)
189 - }
190 - sh('make ' + target + ' package')
191 - archiveArtifacts(allowEmptyArchive: true, artifacts: 'build/*/*.tar.bz2', fingerprint: true, onlyIfSuccessful: true)
192 - archiveArtifacts(allowEmptyArchive: true, artifacts: 'build/*/*.deb', fingerprint: true, onlyIfSuccessful: true)
193 - }
194 - catch (exc) {
195 - throw (exc)
196 - }
197 - finally {
198 - sh('make distclean')
199 - }
200 - }
201 - }
202 - }
203 - }
204 - }
205 -}
This diff is collapsed. Click to expand it.
1 ----
2 -Checks: '*,
3 - -android*,
4 - -bugprone-integer-division,
5 - -cert-dcl50-cpp,
6 - -cert-env33-c,
7 - -cert-err34-c,
8 - -cert-err58-cpp,
9 - -cert-msc30-c,
10 - -cert-msc50-cpp,
11 - -clang-analyzer-core.CallAndMessage,
12 - -clang-analyzer-core.NullDereference,
13 - -clang-analyzer-core.UndefinedBinaryOperatorResult,
14 - -clang-analyzer-core.uninitialized.Assign,
15 - -clang-analyzer-core.VLASize,
16 - -clang-analyzer-cplusplus.NewDelete,
17 - -clang-analyzer-cplusplus.NewDeleteLeaks,
18 - -clang-analyzer-deadcode.DeadStores,
19 - -clang-analyzer-optin.cplusplus.VirtualCall,
20 - -clang-analyzer-optin.performance.Padding,
21 - -clang-analyzer-security.insecureAPI.strcpy,
22 - -clang-analyzer-unix.API,
23 - -clang-analyzer-unix.cstring.BadSizeArg,
24 - -clang-analyzer-unix.Malloc,
25 - -clang-analyzer-unix.MallocSizeof,
26 - -cppcoreguidelines-c-copy-assignment-signature,
27 - -cppcoreguidelines-interfaces-global-init,
28 - -cppcoreguidelines-no-malloc,
29 - -cppcoreguidelines-owning-memory,
30 - -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
31 - -cppcoreguidelines-pro-bounds-constant-array-index,
32 - -cppcoreguidelines-pro-bounds-pointer-arithmetic,
33 - -cppcoreguidelines-pro-type-const-cast,
34 - -cppcoreguidelines-pro-type-cstyle-cast,
35 - -cppcoreguidelines-pro-type-member-init,
36 - -cppcoreguidelines-pro-type-reinterpret-cast,
37 - -cppcoreguidelines-pro-type-union-access,
38 - -cppcoreguidelines-pro-type-vararg,
39 - -cppcoreguidelines-special-member-functions,
40 - -fuchsia-default-arguments,
41 - -fuchsia-overloaded-operator,
42 - -google-build-using-namespace,
43 - -google-explicit-constructor,
44 - -google-global-names-in-headers,
45 - -google-readability-casting,
46 - -google-readability-function-size,
47 - -google-readability-namespace-comments,
48 - -google-readability-todo,
49 - -google-runtime-int,
50 - -google-runtime-references,
51 - -hicpp-deprecated-headers,
52 - -hicpp-explicit-conversions,
53 - -hicpp-function-size,
54 - -hicpp-member-init,
55 - -hicpp-no-array-decay,
56 - -hicpp-no-assembler,
57 - -hicpp-no-malloc,
58 - -hicpp-signed-bitwise,
59 - -hicpp-special-member-functions,
60 - -hicpp-use-auto,
61 - -hicpp-use-equals-default,
62 - -hicpp-use-equals-delete,
63 - -hicpp-use-override,
64 - -hicpp-vararg,
65 - -llvm-header-guard,
66 - -llvm-include-order,
67 - -llvm-namespace-comment,
68 - -misc-incorrect-roundings,
69 - -misc-macro-parentheses,
70 - -misc-misplaced-widening-cast,
71 - -misc-redundant-expression,
72 - -misc-unconventional-assign-operator,
73 - -misc-unused-parameters,
74 - -modernize-deprecated-headers,
75 - -modernize-loop-convert,
76 - -modernize-pass-by-value,
77 - -modernize-return-braced-init-list,
78 - -modernize-use-auto,
79 - -modernize-use-bool-literals,
80 - -modernize-use-default-member-init,
81 - -modernize-use-equals-default,
82 - -modernize-use-equals-delete,
83 - -modernize-use-override,
84 - -modernize-use-using,
85 - -performance-inefficient-string-concatenation,
86 - -readability-avoid-const-params-in-decls,
87 - -readability-container-size-empty,
88 - -readability-else-after-return,
89 - -readability-function-size,
90 - -readability-implicit-bool-cast,
91 - -readability-implicit-bool-conversion,
92 - -readability-inconsistent-declaration-parameter-name,
93 - -readability-named-parameter,
94 - -readability-non-const-parameter,
95 - -readability-redundant-declaration,
96 - -readability-static-accessed-through-instance,
97 - -readability-static-definition-in-anonymous-namespace,
98 - '
99 -WarningsAsErrors: '*'
100 -CheckOptions:
101 - - key: google-readability-function-size.BranchThreshold
102 - value: '600'
103 - - key: google-readability-function-size.LineThreshold
104 - value: '4000'
105 - - key: google-readability-function-size.StatementThreshold
106 - value: '4000'
107 -...
1 -// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
2 -// https://github.com/microsoft/vscode-dev-containers/tree/v0.134.0/containers/cpp
3 -{
4 - "name": "px4-dev-nuttx",
5 - "image": "px4io/px4-dev-nuttx-focal:2021-04-29",
6 -
7 - "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
8 -
9 - // Set *default* container specific settings.json values on container create.
10 - "settings": {
11 - "terminal.integrated.shell.linux": "/bin/bash"
12 - },
13 -
14 - // Add the IDs of extensions you want installed when the container is created.
15 - "extensions": [
16 - "chiehyu.vscode-astyle",
17 - "dan-c-underwood.arm",
18 - "fredericbonnet.cmake-test-adapter",
19 - "github.vscode-pull-request-github",
20 - "marus25.cortex-debug",
21 - "ms-azuretools.vscode-docker",
22 - "ms-iot.vscode-ros",
23 - "ms-python.python",
24 - "ms-vscode.cmake-tools",
25 - "ms-vscode.cpptools",
26 - "ms-vscode.cpptools-extension-pack",
27 - "redhat.vscode-yaml",
28 - "streetsidesoftware.code-spell-checker",
29 - "twxs.cmake",
30 - "uavcan.dsdl",
31 - "wholroyd.jinja",
32 - "zixuanwang.linkerscript"
33 - ],
34 -
35 - "containerUser": "user",
36 - "containerEnv": {
37 - "LOCAL_USER_ID": "${localEnv:UID}"
38 - },
39 -
40 - // Use 'forwardPorts' to make a list of ports inside the container available locally.
41 - "forwardPorts": [14556],
42 -}
1 -* text=auto eol=lf
2 -
3 -*.cmake text eol=lf
4 -*.c text eol=lf
5 -*.cc text eol=lf
6 -*.cpp text eol=lf
7 -*.h text eol=lf
8 -*.hh text eol=lf
9 -*.hpp text eol=lf
10 -*.hxx text eol=lf
11 -*.S text eol=lf
12 -
13 -*.ipynb text eol=lf
14 -*.m text eol=lf
15 -*.mat binary
16 -*.py text eol=lf
17 -
18 -*.java text eol=lf
19 -*.jar binary
20 -*.xml text eol=lf
21 -
22 -# PX4 mixers, msgs, etc
23 -*.bin binary
24 -*.mix text eol=lf
25 -*.msg text eol=lf
26 -*.config text eol=lf
27 -*.sdf text eol=lf
28 -*.uavcan text eol=lf
29 -
30 -# NuttX
31 -Makefile.* text eol=lf
32 -*.defs text eol=lf
33 -*.ld text eol=lf
34 -
35 -*.csv text eol=lf
36 -*.md text eol=lf
37 -*.txt text eol=lf
38 -
39 -# Scripts
40 -*.bash text eol=lf
41 -*.sh text eol=lf
42 -*.zsh text eol=lf
43 -# These are explicitly windows files and should use crlf
44 -*.ps1 text eol=crlf
45 -*.{cmd,[cC][mM][dD]} text eol=crlf
46 -*.{bat,[bB][aA][tT]} text eol=crlf
47 -
48 -# Serialisation
49 -*.json text eol=lf
50 -*.toml text eol=lf
51 -*.xml text eol=lf
52 -*.yaml text eol=lf
53 -*.yml text eol=lf
54 -
55 -# Graphics
56 -*.png binary
57 -*.jpg binary
58 -*.jpeg binary
59 -*.gif binary
60 -*.tif binary
61 -*.tiff binary
62 -*.ico binary
63 -*.pdf binary
64 -# SVG treated as an asset (binary) by default.
65 -*.svg text eol=lf
66 -
67 -# Text files where line endings should be preserved
68 -*.patch -text
69 -
70 -# Archives
71 -*.7z binary
72 -*.gz binary
73 -*.tar binary
74 -*.tgz binary
75 -*.zip binary
76 -
77 -# everything else
78 -.gitattributes text eol=lf
79 -.gitignore text eol=lf
80 -Makefile text eol=lf
1 ----
2 -name: Bug report
3 -about: Create a report to help us improve
4 -
5 ----
6 -
7 -**Describe the bug**
8 -A clear and concise description of the bug.
9 -
10 -**To Reproduce**
11 -Steps to reproduce the behavior:
12 -1. Drone switched on '...'
13 -2. Uploaded mission '....' (attach QGC mission file)
14 -3. Took off '....'
15 -4. See error
16 -
17 -**Expected behavior**
18 -A clear and concise description of what you expected to happen.
19 -
20 -**Log Files and Screenshots**
21 -*Always* provide a link to the flight log file:
22 -- Download the flight log file from the vehicle ([tutorial](https://docs.px4.io/master/en/getting_started/flight_reporting.html)).
23 -- Share the link to a log showing the problem on [PX4 Flight Review](http://logs.px4.io/).
24 -
25 -Add screenshots to help explain your problem.
26 -
27 -**Drone (please complete the following information):**
28 -- Describe the type of drone.
29 -- Photo of the IMU / autopilot setup if possible.
30 -
31 -**Additional context**
32 -Add any other context about the problem here.
1 ----
2 -name: 🚀 Feature Request
3 -about: Suggest an idea for this project
4 -
5 ----
6 -
7 -For general questions please use [PX4 Discuss](http://discuss.px4.io/) or [Slack](http://slack.px4.io/).
8 -
9 -**Describe problem solved by the proposed feature**
10 -A clear and concise description of the problem, if any, this feature will solve. E.g. I'm always frustrated when ...
11 -
12 -**Describe your preferred solution**
13 -A clear and concise description of what you want to happen.
14 -
15 -**Describe possible alternatives**
16 -A clear and concise description of alternative solutions or features you've considered.
17 -
18 -**Additional context**
19 -Add any other context or screenshots for the feature request here.
1 ----
2 -name: ⛔ Support Question
3 -about: See [PX4 Discuss](http://discuss.px4.io/) for questions about using PX4.
4 -
5 ----
6 -
7 -We use GitHub issues only to discuss PX4 bugs and new features. For
8 -questions about using PX4 or related components, please use [PX4 Discuss](http://discuss.px4.io/).
9 -
10 -Thanks!
1 ----
2 -name: ⛔ Documentation Issue
3 -about: See https://github.com/PX4/Devguide for documentation issues
4 -
5 ----
6 -
7 -PX4 has dedicated repositories for developer documentation (https://github.com/PX4/Devguide) and user documentation (https://github.com/PX4/px4_user_guide).
8 -
9 -Thanks!
1 -# Number of days of inactivity before an issue becomes stale
2 -daysUntilStale: 90
3 -# Number of days of inactivity before a stale issue is closed, or `false` to disable
4 -daysUntilClose: false
5 -# Issues with these labels will never be considered stale
6 -exemptLabels:
7 - - pinned
8 -# Label to use when marking an issue as stale
9 -staleLabel: stale
10 -# Comment to post when marking an issue as stale. Set to `false` to disable
11 -markComment: >
12 - This issue has been automatically marked as stale because it has not had
13 - recent activity. Thank you for your contributions.
14 -# Comment to post when closing a stale issue. Set to `false` to disable
15 -closeComment: false
1 -name: Checks
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - strategy:
15 - fail-fast: false
16 - matrix:
17 - check: [
18 - "check_format",
19 - "tests",
20 - "tests_coverage",
21 - "px4_fmu-v2_default stack_check",
22 - "validate_module_configs",
23 - "shellcheck_all",
24 - "NO_NINJA_BUILD=1 px4_fmu-v5_default",
25 - "NO_NINJA_BUILD=1 px4_sitl_default",
26 - "airframe_metadata",
27 - "module_documentation",
28 - "parameters_metadata",
29 - ]
30 - container:
31 - image: px4io/px4-dev-nuttx-focal:2021-04-29
32 - options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
33 - steps:
34 - - uses: actions/checkout@v1
35 - with:
36 - token: ${{ secrets.ACCESS_TOKEN }}
37 -
38 - - name: Prepare ccache timestamp
39 - id: ccache_cache_timestamp
40 - shell: cmake -P {0}
41 - run: |
42 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
43 - message("::set-output name=timestamp::${current_date}")
44 - - name: ccache cache files
45 - uses: actions/cache@v2
46 - with:
47 - path: ~/.ccache
48 - key: tests_${{matrix.ubuntu_release}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
49 - restore-keys: tests_${{matrix.ubuntu_release}}-ccache-
50 - - name: setup ccache
51 - run: |
52 - mkdir -p ~/.ccache
53 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
54 - echo "compression = true" >> ~/.ccache/ccache.conf
55 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
56 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
57 - ccache -s
58 - ccache -z
59 - - name: check environment
60 - run: |
61 - export
62 - ulimit -a
63 - - name: ${{matrix.check}}
64 - run: make ${{matrix.check}}
65 - - name: upload coverage
66 - if: contains(matrix.check, 'coverage')
67 - uses: codecov/codecov-action@v1
68 - with:
69 - token: ${{ secrets.CODECOV_TOKEN }}
70 - flags: unittests
71 - file: coverage/lcov.info
1 -name: Clang Tidy
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-clang:2021-04-29
15 - steps:
16 - - uses: actions/checkout@v1
17 - with:
18 - token: ${{secrets.ACCESS_TOKEN}}
19 -
20 - - name: Prepare ccache timestamp
21 - id: ccache_cache_timestamp
22 - shell: cmake -P {0}
23 - run: |
24 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
25 - message("::set-output name=timestamp::${current_date}")
26 - - name: ccache cache files
27 - uses: actions/cache@v2
28 - with:
29 - path: ~/.ccache
30 - key: clang-tidy-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
31 - restore-keys: clang-tidy-ccache-
32 - - name: setup ccache
33 - run: |
34 - mkdir -p ~/.ccache
35 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
36 - echo "compression = true" >> ~/.ccache/ccache.conf
37 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
38 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
39 - ccache -s
40 - ccache -z
41 -
42 - - name: make clang-tidy-quiet
43 - run: |
44 - ccache -z
45 - make clang-tidy-quiet
46 - ccache -s
1 -name: Linux Targets
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-armhf:2021-04-29
15 - strategy:
16 - matrix:
17 - config: [
18 - beaglebone_blue_default,
19 - emlid_navio2_default,
20 - px4_raspberrypi_default,
21 - scumaker_pilotpi_default,
22 - ]
23 - steps:
24 - - uses: actions/checkout@v1
25 - with:
26 - token: ${{secrets.ACCESS_TOKEN}}
27 -
28 - - name: Prepare ccache timestamp
29 - id: ccache_cache_timestamp
30 - shell: cmake -P {0}
31 - run: |
32 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
33 - message("::set-output name=timestamp::${current_date}")
34 - - name: ccache cache files
35 - uses: actions/cache@v2
36 - with:
37 - path: ~/.ccache
38 - key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
39 - restore-keys: ${{matrix.config}}-ccache-
40 - - name: setup ccache
41 - run: |
42 - mkdir -p ~/.ccache
43 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
44 - echo "compression = true" >> ~/.ccache/ccache.conf
45 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
46 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
47 - ccache -s
48 - ccache -z
49 -
50 - - name: make ${{matrix.config}}
51 - run: make ${{matrix.config}}
52 - - name: ccache post-run
53 - run: ccache -s
1 -name: Linux ARM64 Targets
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-aarch64:2021-04-29
15 - strategy:
16 - matrix:
17 - config: [
18 - scumaker_pilotpi_arm64,
19 - ]
20 - steps:
21 - - uses: actions/checkout@v1
22 - with:
23 - token: ${{secrets.ACCESS_TOKEN}}
24 -
25 - - name: Prepare ccache timestamp
26 - id: ccache_cache_timestamp
27 - shell: cmake -P {0}
28 - run: |
29 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
30 - message("::set-output name=timestamp::${current_date}")
31 - - name: ccache cache files
32 - uses: actions/cache@v2
33 - with:
34 - path: ~/.ccache
35 - key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
36 - restore-keys: ${{matrix.config}}-ccache-
37 - - name: setup ccache
38 - run: |
39 - mkdir -p ~/.ccache
40 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
41 - echo "compression = true" >> ~/.ccache/ccache.conf
42 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
43 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
44 - ccache -s
45 - ccache -z
46 -
47 - - name: make ${{matrix.config}}
48 - run: make ${{matrix.config}}
49 - - name: ccache post-run
50 - run: ccache -s
1 -name: MacOS build
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: macos-10.15
14 - strategy:
15 - matrix:
16 - config: [
17 - px4_fmu-v5_default,
18 - px4_sitl
19 - #tests, # includes px4_sitl
20 - ]
21 - steps:
22 - - uses: actions/checkout@v1
23 - with:
24 - token: ${{secrets.ACCESS_TOKEN}}
25 -
26 - - name: setup
27 - run: ./Tools/setup/macos.sh; ./Tools/setup/macos.sh
28 -
29 - - name: Prepare ccache timestamp
30 - id: ccache_cache_timestamp
31 - shell: cmake -P {0}
32 - run: |
33 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
34 - message("::set-output name=timestamp::${current_date}")
35 - - name: ccache cache files
36 - uses: actions/cache@v2
37 - with:
38 - path: ~/.ccache
39 - key: macos_${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
40 - restore-keys: macos_${{matrix.config}}-ccache-
41 - - name: setup ccache
42 - run: |
43 - mkdir -p ~/.ccache
44 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
45 - echo "compression = true" >> ~/.ccache/ccache.conf
46 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
47 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
48 - ccache -s
49 - ccache -z
50 -
51 - - name: make ${{matrix.config}}
52 - run: |
53 - ccache -z
54 - make ${{matrix.config}}
55 - ccache -s
1 -name: Nuttx Targets
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-nuttx-focal:2021-04-29
15 - strategy:
16 - matrix:
17 - config: [
18 - airmind_mindpx-v2_default,
19 - ark_can-flow_canbootloader,
20 - ark_can-flow_debug,
21 - ark_can-flow_default,
22 - ark_can-gps_canbootloader,
23 - ark_can-gps_debug,
24 - ark_can-gps_default,
25 - av_x-v1_default,
26 - bitcraze_crazyflie21_default,
27 - bitcraze_crazyflie_default,
28 - cuav_can-gps-v1_canbootloader,
29 - cuav_can-gps-v1_debug,
30 - cuav_can-gps-v1_default,
31 - cuav_nora_default,
32 - cuav_x7pro_default,
33 - cubepilot_cubeorange_default,
34 - cubepilot_cubeorange_test,
35 - cubepilot_cubeyellow_default,
36 - cubepilot_cubeyellow_test,
37 - cubepilot_io-v2_default,
38 - freefly_can-rtk-gps_canbootloader,
39 - freefly_can-rtk-gps_default,
40 - holybro_can-gps-v1_canbootloader,
41 - holybro_can-gps-v1_debug,
42 - holybro_can-gps-v1_default,
43 - holybro_durandal-v1_default,
44 - holybro_kakutef7_default,
45 - holybro_pix32v5_default,
46 - modalai_fc-v1_default,
47 - modalai_fc-v1_rtps,
48 - modalai_fc-v2_default,
49 - mro_ctrl-zero-f7-oem_default,
50 - mro_ctrl-zero-f7_default,
51 - mro_ctrl-zero-h7-oem_default,
52 - mro_ctrl-zero-h7_default,
53 - mro_pixracerpro_default,
54 - mro_x21-777_default,
55 - mro_x21_default,
56 - nxp_fmuk66-e_default,
57 - nxp_fmuk66-e_rtps,
58 - nxp_fmuk66-e_socketcan,
59 - nxp_fmuk66-v3_default,
60 - nxp_fmuk66-v3_rtps,
61 - nxp_fmuk66-v3_socketcan,
62 - nxp_fmurt1062-v1_default,
63 - nxp_ucans32k146_canbootloader,
64 - nxp_ucans32k146_default,
65 - omnibus_f4sd_default,
66 - px4_fmu-v2_default,
67 - px4_fmu-v2_fixedwing,
68 - px4_fmu-v2_multicopter,
69 - px4_fmu-v2_rover,
70 - px4_fmu-v3_default,
71 - px4_fmu-v4_cannode,
72 - px4_fmu-v4_default,
73 - px4_fmu-v4pro_default,
74 - px4_fmu-v5_ctrlalloc,
75 - px4_fmu-v5_debug,
76 - px4_fmu-v5_default,
77 - px4_fmu-v5_fixedwing,
78 - px4_fmu-v5_multicopter,
79 - px4_fmu-v5_optimized,
80 - px4_fmu-v5_rover,
81 - px4_fmu-v5_rtps,
82 - px4_fmu-v5_stackcheck,
83 - px4_fmu-v5_uavcanv0periph,
84 - px4_fmu-v5_uavcanv1,
85 - px4_fmu-v5x_base_phy_DP83848C,
86 - px4_fmu-v5x_default,
87 - px4_fmu-v6u_default,
88 - px4_fmu-v6x_default,
89 - px4_io-v2_default,
90 - spracing_h7extreme_default,
91 - uvify_core_default
92 - ]
93 - steps:
94 - - uses: actions/checkout@v1
95 - with:
96 - token: ${{secrets.ACCESS_TOKEN}}
97 -
98 - - name: Prepare ccache timestamp
99 - id: ccache_cache_timestamp
100 - shell: cmake -P {0}
101 - run: |
102 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
103 - message("::set-output name=timestamp::${current_date}")
104 - - name: ccache cache files
105 - uses: actions/cache@v2
106 - with:
107 - path: ~/.ccache
108 - key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
109 - restore-keys: ${{matrix.config}}-ccache-
110 - - name: setup ccache
111 - run: |
112 - mkdir -p ~/.ccache
113 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
114 - echo "compression = true" >> ~/.ccache/ccache.conf
115 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
116 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
117 - ccache -s
118 - ccache -z
119 -
120 - - name: make ${{matrix.config}}
121 - run: make ${{matrix.config}}
122 - - name: make ${{matrix.config}} bloaty_compileunits
123 - run: make ${{matrix.config}} bloaty_compileunits || true
124 - - name: make ${{matrix.config}} bloaty_inlines
125 - run: make ${{matrix.config}} bloaty_inlines || true
126 - - name: make ${{matrix.config}} bloaty_segments
127 - run: make ${{matrix.config}} bloaty_segments || true
128 - - name: make ${{matrix.config}} bloaty_symbols
129 - run: make ${{matrix.config}} bloaty_symbols || true
130 - - name: make ${{matrix.config}} bloaty_templates
131 - run: make ${{matrix.config}} bloaty_templates || true
132 - - name: make ${{matrix.config}} bloaty_ram
133 - run: make ${{matrix.config}} bloaty_ram || true
134 - - name: make ${{matrix.config}} bloaty_compare_master
135 - run: make ${{matrix.config}} bloaty_compare_master || true
136 - - name: ccache post-run
137 - run: ccache -s
138 -
139 - - name: Upload px4 package
140 - uses: actions/upload-artifact@v1
141 - with:
142 - name: px4_package_${{matrix.config}}
143 - path: build/${{matrix.config}}/${{matrix.config}}.px4
1 -name: NuttX UAVCAN firmware
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-nuttx-focal:2021-04-29
15 - strategy:
16 - matrix:
17 - config: [
18 - ark_can-flow_default,
19 - cuav_can-gps-v1_default,
20 - freefly_can-rtk-gps_default,
21 - holybro_can-gps-v1_default,
22 - #nxp_ucans32k146_default,
23 - px4_fmu-v4_cannode
24 - ]
25 - steps:
26 - - uses: actions/checkout@v1
27 - with:
28 - token: ${{secrets.ACCESS_TOKEN}}
29 -
30 - - name: Prepare ccache timestamp
31 - id: ccache_cache_timestamp
32 - shell: cmake -P {0}
33 - run: |
34 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
35 - message("::set-output name=timestamp::${current_date}")
36 - - name: ccache cache files
37 - uses: actions/cache@v2
38 - with:
39 - path: ~/.ccache
40 - key: ${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
41 - restore-keys: ${{matrix.config}}-ccache-
42 - - name: setup ccache
43 - run: |
44 - mkdir -p ~/.ccache
45 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
46 - echo "compression = true" >> ~/.ccache/ccache.conf
47 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
48 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
49 - ccache -s
50 - ccache -z
51 -
52 - - name: make ${{matrix.config}}
53 - run: make ${{matrix.config}}
54 -
55 - - name: ccache post-run
56 - run: ccache -s
57 -
58 - - name: Upload px4 package
59 - uses: actions/upload-artifact@v2
60 - with:
61 - name: px4_cannode_${{matrix.config}}
62 - path: build/${{matrix.config}}/*.uavcan.bin
1 -name: Deploy metadata for all targets
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - - 'release/*'
8 - - 'pr-metadata-test'
9 -
10 -jobs:
11 - enumerate_targets:
12 - runs-on: ubuntu-latest
13 - outputs:
14 - matrix: ${{ steps.set-matrix.outputs.matrix }}
15 - steps:
16 - - uses: actions/checkout@v1
17 - with:
18 - token: ${{secrets.ACCESS_TOKEN}}
19 - - id: set-matrix
20 - run: echo "::set-output name=matrix::$(./Tools/generate_board_targets_json.py)"
21 - build:
22 - runs-on: ubuntu-latest
23 - needs: enumerate_targets
24 - strategy:
25 - matrix: ${{fromJson(needs.enumerate_targets.outputs.matrix)}}
26 - container: px4io/px4-dev-${{ matrix.container }}:2021-04-29
27 - steps:
28 - - uses: actions/checkout@v1
29 - with:
30 - token: ${{secrets.ACCESS_TOKEN}}
31 -
32 - - name: Prepare ccache timestamp
33 - id: ccache_cache_timestamp
34 - shell: cmake -P {0}
35 - run: |
36 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
37 - message("::set-output name=timestamp::${current_date}")
38 - - name: ccache cache files
39 - uses: actions/cache@v2
40 - with:
41 - path: ~/.ccache
42 - key: ${{matrix.target}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
43 - restore-keys: ${{matrix.target}}-ccache-
44 - - name: setup ccache
45 - run: |
46 - mkdir -p ~/.ccache
47 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
48 - echo "compression = true" >> ~/.ccache/ccache.conf
49 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
50 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
51 - ccache -s
52 - ccache -z
53 -
54 - - name: make ${{matrix.target}}
55 - run: make ${{matrix.target}}
56 - - name: ccache post-run
57 - run: ccache -s
58 -
59 - - name: parameter metadata
60 - run: |
61 - make ${{matrix.target}} ver_gen
62 - ./src/lib/version/get_git_tag_or_branch_version.sh build/${{ matrix.target }} >> $GITHUB_ENV
63 - cd build/${{ matrix.target }}
64 - mkdir _metadata || true
65 - cp parameters.* _metadata
66 -
67 - - uses: jakejarvis/s3-sync-action@master
68 - with:
69 - args: --acl public-read
70 - env:
71 - AWS_S3_BUCKET: 'px4-travis'
72 - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
73 - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
74 - AWS_REGION: 'us-west-1'
75 - SOURCE_DIR: 'build/${{ matrix.target }}/_metadata/'
76 - DEST_DIR: 'Firmware/${{ env.version }}/${{ matrix.target }}/'
77 -
1 -name: MAVROS Mission Tests
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - strategy:
15 - fail-fast: false
16 - matrix:
17 - config:
18 - - {vehicle: "iris", mission: "MC_mission_box", build_type: "RelWithDebInfo"}
19 - - {vehicle: "rover", mission: "rover_mission_1", build_type: "RelWithDebInfo"}
20 - #- {vehicle: "plane", mission: "FW_mission_1", build_type: "RelWithDebInfo"}
21 - #- {vehicle: "plane_catapult",mission: "FW_mission_1", build_type: "RelWithDebInfo"}
22 - #- {vehicle: "standard_vtol", mission: "VTOL_mission_1", build_type: "Coverage"}
23 - #- {vehicle: "standard_vtol", mission: "VTOL_mission_1", build_type: "AddressSanitizer"}
24 - #- {vehicle: "tailsitter", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
25 - #- {vehicle: "tiltrotor", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
26 -
27 - container:
28 - image: px4io/px4-dev-ros-melodic:2021-04-29
29 - options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
30 - steps:
31 - - uses: actions/checkout@v1
32 - with:
33 - token: ${{ secrets.ACCESS_TOKEN }}
34 -
35 - - name: Prepare ccache timestamp
36 - id: ccache_cache_timestamp
37 - shell: cmake -P {0}
38 - run: |
39 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
40 - message("::set-output name=timestamp::${current_date}")
41 - - name: ccache cache files
42 - uses: actions/cache@v2
43 - with:
44 - path: ~/.ccache
45 - key: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
46 - restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
47 - - name: setup ccache
48 - run: |
49 - mkdir -p ~/.ccache
50 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
51 - echo "compression = true" >> ~/.ccache/ccache.conf
52 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
53 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
54 - ccache -s
55 - ccache -z
56 -
57 - - name: check environment
58 - run: |
59 - export
60 - ulimit -a
61 - - name: Build PX4 and sitl_gazebo
62 - env:
63 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
64 - run: |
65 - ccache -z
66 - make px4_sitl_default
67 - make px4_sitl_default sitl_gazebo
68 - ccache -s
69 -
70 - - name: Core dump settings
71 - run: |
72 - ulimit -c unlimited
73 - echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
74 -
75 - - name: Run SITL tests
76 - env:
77 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
78 - run: |
79 - export
80 - ./test/rostest_px4_run.sh mavros_posix_test_mission.test mission:=${{matrix.config.mission}} vehicle:=${{matrix.config.vehicle}}
81 -
82 - - name: Look at core files
83 - if: failure()
84 - run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
85 - - name: Upload px4 coredump
86 - if: failure()
87 - uses: actions/upload-artifact@v2-preview
88 - with:
89 - name: coredump
90 - path: px4.core
91 -
92 - - name: ecl EKF analysis
93 - if: always()
94 - run: ./Tools/ecl_ekf/process_logdata_ekf.py ~/.ros/log/*/*.ulg || true
95 -
96 - - name: Upload logs to flight review
97 - if: always()
98 - run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ~/.ros/log/*/*.ulg
99 -
100 - - name: Upload px4 binary
101 - if: failure()
102 - uses: actions/upload-artifact@v2
103 - with:
104 - name: binary
105 - path: build/px4_sitl_default/bin/px4
106 -
107 - - name: Store PX4 log
108 - if: failure()
109 - uses: actions/upload-artifact@v2
110 - with:
111 - name: px4_log
112 - path: ~/.ros/log/*/*.ulg
113 -
114 - - name: Store ROS log
115 - if: failure()
116 - uses: actions/upload-artifact@v2
117 - with:
118 - name: ros_log
119 - path: ~/.ros/**/rostest-*.log
120 -
121 - # Report test coverage
122 - - name: Upload coverage
123 - if: contains(matrix.config.build_type, 'Coverage')
124 - run: |
125 - git config --global credential.helper "" # disable the keychain credential helper
126 - git config --global --add credential.helper store # enable the local store credential helper
127 - echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
128 - git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
129 - mkdir -p coverage
130 - lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
131 - - name: Upload coverage information to Codecov
132 - if: contains(matrix.config.build_type, 'Coverage')
133 - uses: codecov/codecov-action@v1
134 - with:
135 - token: ${{ secrets.CODECOV_TOKEN }}
136 - flags: mavros_mission
137 - file: coverage/lcov.info
1 -name: MAVROS Offboard Tests
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - strategy:
15 - fail-fast: false
16 - matrix:
17 - config:
18 - - {test_file: "mavros_posix_tests_offboard_posctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
19 - #- {test_file: "mavros_posix_tests_offboard_attctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
20 - #- {test_file: "mavros_posix_tests_offboard_rpyrt_ctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
21 -
22 - container:
23 - image: px4io/px4-dev-ros-melodic:2021-04-29
24 - options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
25 - steps:
26 - - uses: actions/checkout@v1
27 - with:
28 - token: ${{ secrets.ACCESS_TOKEN }}
29 -
30 - - name: Prepare ccache timestamp
31 - id: ccache_cache_timestamp
32 - shell: cmake -P {0}
33 - run: |
34 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
35 - message("::set-output name=timestamp::${current_date}")
36 - - name: ccache cache files
37 - uses: actions/cache@v2
38 - with:
39 - path: ~/.ccache
40 - key: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
41 - restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
42 - - name: setup ccache
43 - run: |
44 - mkdir -p ~/.ccache
45 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
46 - echo "compression = true" >> ~/.ccache/ccache.conf
47 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
48 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
49 - ccache -s
50 - ccache -z
51 -
52 - - name: check environment
53 - run: |
54 - export
55 - ulimit -a
56 - - name: Build PX4 and sitl_gazebo
57 - env:
58 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
59 - run: |
60 - ccache -z
61 - make px4_sitl_default
62 - make px4_sitl_default sitl_gazebo
63 - ccache -s
64 -
65 - - name: Core dump settings
66 - run: |
67 - ulimit -c unlimited
68 - echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
69 -
70 - - name: Run SITL tests
71 - env:
72 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
73 - run: |
74 - export
75 - ./test/rostest_px4_run.sh ${{matrix.config.test_file}} vehicle:=${{matrix.config.vehicle}}
76 -
77 - - name: Look at core files
78 - if: failure()
79 - run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
80 - - name: Upload px4 coredump
81 - if: failure()
82 - uses: actions/upload-artifact@v2-preview
83 - with:
84 - name: coredump
85 - path: px4.core
86 -
87 - - name: ecl EKF analysis
88 - if: always()
89 - run: ./Tools/ecl_ekf/process_logdata_ekf.py ~/.ros/log/*/*.ulg || true
90 -
91 - - name: Upload logs to flight review
92 - if: always()
93 - run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ~/.ros/log/*/*.ulg
94 -
95 - - name: Upload px4 binary
96 - if: failure()
97 - uses: actions/upload-artifact@v2
98 - with:
99 - name: binary
100 - path: build/px4_sitl_default/bin/px4
101 -
102 - - name: Store PX4 log
103 - if: failure()
104 - uses: actions/upload-artifact@v2
105 - with:
106 - name: px4_log
107 - path: ~/.ros/log/*/*.ulg
108 -
109 - - name: Store ROS log
110 - if: failure()
111 - uses: actions/upload-artifact@v2
112 - with:
113 - name: ros_log
114 - path: ~/.ros/**/rostest-*.log
115 -
116 - # Report test coverage
117 - - name: Upload coverage
118 - if: contains(matrix.config.build_type, 'Coverage')
119 - run: |
120 - git config --global credential.helper "" # disable the keychain credential helper
121 - git config --global --add credential.helper store # enable the local store credential helper
122 - echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
123 - git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
124 - mkdir -p coverage
125 - lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
126 - - name: Upload coverage information to Codecov
127 - if: contains(matrix.config.build_type, 'Coverage')
128 - uses: codecov/codecov-action@v1
129 - with:
130 - token: ${{ secrets.CODECOV_TOKEN }}
131 - flags: mavros_offboard
132 - file: coverage/lcov.info
1 -name: Metadata
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - - 'release/*'
8 - - 'pr-metadata-test'
9 -
10 -jobs:
11 -
12 - airframe:
13 - runs-on: ubuntu-latest
14 - container: px4io/px4-dev-base-focal:2021-04-29
15 - steps:
16 - - uses: actions/checkout@v1
17 - with:
18 - token: ${{ secrets.ACCESS_TOKEN }}
19 -
20 - - name: airframe metadata
21 - run: |
22 - make airframe_metadata
23 - cd build/px4_sitl_default/docs
24 - ls -ls *
25 - # TODO: deploy to userguide gitbook and s3
26 -
27 - module:
28 - runs-on: ubuntu-latest
29 - container: px4io/px4-dev-base-focal:2021-04-29
30 - steps:
31 - - uses: actions/checkout@v1
32 - with:
33 - token: ${{ secrets.ACCESS_TOKEN }}
34 -
35 - - name: module documentation
36 - run: |
37 - make module_documentation
38 - cd build/px4_sitl_default/docs
39 - ls -ls *
40 - # TODO: deploy to userguide gitbook and s3
41 -
42 - parameter:
43 - runs-on: ubuntu-latest
44 - container: px4io/px4-dev-base-focal:2021-04-29
45 - steps:
46 - - uses: actions/checkout@v1
47 - with:
48 - token: ${{ secrets.ACCESS_TOKEN }}
49 -
50 - - name: parameter metadata
51 - run: |
52 - make parameters_metadata
53 - ./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
54 -
55 - - uses: jakejarvis/s3-sync-action@master
56 - with:
57 - args: --acl public-read
58 - env:
59 - AWS_S3_BUCKET: 'px4-travis'
60 - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
61 - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
62 - AWS_REGION: 'us-west-1'
63 - SOURCE_DIR: 'build/px4_sitl_default/docs/'
64 - DEST_DIR: 'Firmware/${{ env.version }}/_general/'
65 -
66 - uorb_graph:
67 - runs-on: ubuntu-latest
68 - container: px4io/px4-dev-nuttx-focal:2021-04-29
69 - steps:
70 - - uses: actions/checkout@v1
71 - with:
72 - token: ${{ secrets.ACCESS_TOKEN }}
73 -
74 - - name: uORB graph
75 - run: |
76 - make uorb_graphs
77 - cd Tools/uorb_graph
78 - ls -ls *
79 - # TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
80 -
81 - micrortps_agent:
82 - runs-on: ubuntu-latest
83 - container: px4io/px4-dev-base-focal:2021-04-29
84 - steps:
85 - - uses: actions/checkout@v1
86 - with:
87 - token: ${{ secrets.ACCESS_TOKEN }}
88 -
89 - - name: microRTPS agent
90 - run: |
91 - make px4_sitl_rtps
92 - git clone https://github.com/PX4/micrortps_agent.git
93 - cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent
94 -
95 - ROS_msgs:
96 - runs-on: ubuntu-latest
97 - container: px4io/px4-dev-base-focal:2021-04-29
98 - steps:
99 - - uses: actions/checkout@v1
100 - with:
101 - token: ${{ secrets.ACCESS_TOKEN }}
102 -
103 - - name: PX4 ROS msgs
104 - run: |
105 - git clone https://github.com/PX4/px4_msgs.git
106 - python3 msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/
107 -
108 - ROS2_bridge:
109 - runs-on: ubuntu-latest
110 - container: px4io/px4-dev-base-focal:2021-04-29
111 - steps:
112 - - uses: actions/checkout@v1
113 - with:
114 - token: ${{ secrets.ACCESS_TOKEN }}
115 -
116 - - name: PX4 ROS2 bridge
117 - run: |
118 - git clone https://github.com/PX4/px4_ros_com.git
119 - ./msg/tools/uorb_to_ros_rtps_ids.py -i msg/tools/uorb_rtps_message_ids.yaml -o px4_ros_com/templates/uorb_rtps_message_ids.yaml
1 -name: Python CI Checks
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - steps:
15 - - uses: actions/checkout@v1
16 - with:
17 - token: ${{ secrets.ACCESS_TOKEN }}
18 - - name: Install Python3
19 - run: sudo apt-get install python3 python3-setuptools python3-pip -y
20 - - name: Install tools
21 - run: pip3 install --user mypy flake8
22 - - name: Check MAVSDK test scripts with mypy
23 - run: $HOME/.local/bin/mypy --strict test/mavsdk_tests/*.py
24 - - name: Check MAVSDK test scripts with flake8
25 - run: $HOME/.local/bin/flake8 test/mavsdk_tests/*.py
1 -name: SITL Tests
2 -
3 -on:
4 - push:
5 - branches:
6 - - 'master'
7 - pull_request:
8 - branches:
9 - - '*'
10 -
11 -jobs:
12 - build:
13 - runs-on: ubuntu-latest
14 - strategy:
15 - fail-fast: false
16 - matrix:
17 - config:
18 - - {latitude: "59.617693", longitude: "-151.145316", altitude: "48", build_type: "RelWithDebInfo", model: "iris" } # Alaska
19 - - {latitude: "-38.071235", longitude: "145.281220", altitude: "31", build_type: "RelWithDebInfo", model: "standard_vtol" } # Australia
20 - - {latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo", model: "tailsitter" } # Florida
21 - - {latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage", model: "standard_vtol" } # Zurich
22 - container:
23 - image: px4io/px4-dev-simulation-focal:2021-04-29
24 - options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
25 - steps:
26 - - uses: actions/checkout@v1
27 - with:
28 - token: ${{ secrets.ACCESS_TOKEN }}
29 -
30 - - name: Download MAVSDK
31 - run: wget "https://github.com/mavlink/MAVSDK/releases/download/v$(cat test/mavsdk_tests/MAVSDK_VERSION)/mavsdk_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
32 - - name: Install MAVSDK
33 - run: dpkg -i "mavsdk_$(cat test/mavsdk_tests/MAVSDK_VERSION)_ubuntu20.04_amd64.deb"
34 -
35 - - name: Prepare ccache timestamp
36 - id: ccache_cache_timestamp
37 - shell: cmake -P {0}
38 - run: |
39 - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
40 - message("::set-output name=timestamp::${current_date}")
41 - - name: ccache cache files
42 - uses: actions/cache@v2
43 - with:
44 - path: ~/.ccache
45 - key: sitl_tests-${{matrix.config.build_type}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
46 - restore-keys: sitl_tests-${{matrix.config.build_type}}-ccache-
47 - - name: setup ccache
48 - run: |
49 - mkdir -p ~/.ccache
50 - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf
51 - echo "compression = true" >> ~/.ccache/ccache.conf
52 - echo "compression_level = 5" >> ~/.ccache/ccache.conf
53 - echo "max_size = 100M" >> ~/.ccache/ccache.conf
54 - ccache -s
55 - ccache -z
56 -
57 - - name: check environment
58 - env:
59 - PX4_HOME_LAT: ${{matrix.config.latitude}}
60 - PX4_HOME_LON: ${{matrix.config.longitude}}
61 - PX4_HOME_ALT: ${{matrix.config.altitude}}
62 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
63 - run: |
64 - export
65 - ulimit -a
66 - - name: Build PX4
67 - env:
68 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
69 - run: make px4_sitl_default
70 - - name: ccache post-run px4/firmware
71 - run: ccache -s
72 - - name: Build SITL Gazebo
73 - env:
74 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
75 - run: make px4_sitl_default sitl_gazebo
76 - - name: ccache post-run sitl_gazebo
77 - run: ccache -s
78 - - name: Build MAVSDK tests
79 - env:
80 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
81 - DONT_RUN: 1
82 - run: make px4_sitl_default gazebo mavsdk_tests
83 - - name: ccache post-run mavsdk_tests
84 - run: ccache -s
85 -
86 - - name: Core dump settings
87 - run: |
88 - ulimit -c unlimited
89 - echo "`pwd`/%e.core" > /proc/sys/kernel/core_pattern
90 -
91 - - name: Run SITL tests
92 - env:
93 - PX4_HOME_LAT: ${{matrix.config.latitude}}
94 - PX4_HOME_LON: ${{matrix.config.longitude}}
95 - PX4_HOME_ALT: ${{matrix.config.altitude}}
96 - PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
97 - run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --abort-early --model ${{matrix.config.model}} --upload test/mavsdk_tests/configs/sitl.json
98 -
99 - - name: Look at core files
100 - if: failure()
101 - run: gdb build/px4_sitl_default/bin/px4 px4.core -ex "thread apply all bt" -ex "quit"
102 - - name: Upload px4 coredump
103 - if: failure()
104 - uses: actions/upload-artifact@v2-preview
105 - with:
106 - name: coredump
107 - path: px4.core
108 -
109 - - name: Upload px4 binary
110 - if: failure()
111 - uses: actions/upload-artifact@v2-preview
112 - with:
113 - name: binary
114 - path: build/px4_sitl_default/bin/px4
115 -
116 - # Report test coverage
117 - - name: Upload coverage
118 - if: contains(matrix.config.build_type, 'Coverage')
119 - run: |
120 - git config --global credential.helper "" # disable the keychain credential helper
121 - git config --global --add credential.helper store # enable the local store credential helper
122 - echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials # add credential
123 - git config --global url."https://github.com/".insteadof git@github.com: # credentials add credential
124 - mkdir -p coverage
125 - lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info
126 - - name: Upload coverage information to Codecov
127 - if: contains(matrix.config.build_type, 'Coverage')
128 - uses: codecov/codecov-action@v1
129 - with:
130 - token: ${{ secrets.CODECOV_TOKEN }}
131 - flags: mavsdk
132 - file: coverage/lcov.info
1 -# How to install:
2 -# gem install github_changelog_generator
3 -# How to run:
4 -# github_changelog_generator -u PX4 -p Firmware
5 -# Description:
6 -# The following params are sensible defaults for the PX4 project,
7 -# if you want to do a changelog before a release you need to update since-tag and future-releases,
8 -
9 -# Params:
10 -# github_changelog_generator --help for all options
11 -
12 -# max-issues
13 -# max threshold for github api queries
14 -# make sure you set your CHANGELOG_GITHUB_TOKEN before
15 -# running
16 -max-issues=1500
17 -
18 -# exclude-tags-regex
19 -# excludes release candidates
20 -exclude-tags-regex=rc[0-9]{1,}|beta[0-9]{1,}
21 -
22 -# since-tag
23 -# version of last stable release
24 -# you need to change this depending on what you need
25 -# if you want a changelog between versions this is the lowest version
26 -since-tag=1.6.5
27 -
28 -# future-release
29 -# version you are about to release
30 -# if you want a changelog between a version and all unreleased changes grouped as a release
31 -# eg: v1.6.5 to v1.7.0
32 -future-release=v1.7.0
33 -
1 -*.dSYM
2 -*.o
3 -*.gch
4 -*.pyc
5 -*~
6 -.*.swp
7 -.context
8 -.cproject
9 -.DS_Store
10 -.gdbinit
11 -.gdb_history
12 -.project
13 -.settings
14 -.swp
15 -.~lock.*
16 -Testing/
17 -Packages/*
18 -build/*
19 -build_*/
20 -cscope.out
21 -cscope.in.out
22 -cscope.po.out
23 -Firmware.sublime-workspace
24 -user.sublime*
25 -/Documentation/doxy.log
26 -/Documentation/html/
27 -/Documentation/doxygen*objdb*tmp
28 -.tags
29 -tags
30 -.tags_sorted_by_file
31 -.pydevproject
32 -.ropeproject
33 -*.orig
34 -Firmware.zip
35 -*.generated.h
36 -.vagrant
37 -*.pretty
38 -xcode
39 -rootfs/
40 -*.autosave
41 -CMakeLists.txt.user
42 -GPATH
43 -GRTAGS
44 -GTAGS
45 -*.creator
46 -*.creator.user
47 -*.files
48 -*.includes
49 -
50 -# CLion ignores
51 -.idea
52 -cmake-build-*/
53 -
54 -posix-configs/SITL/init/test/*_generated
55 -
56 -/airframes.md
57 -/airframes.xml
58 -/parameters.md
59 -/parameters.xml
60 -/modules
61 -/msg/ros/*.msg
62 -
63 -*.gcov
64 -.coverage
65 -.coverage.*
66 -
67 -# KDevelop ignores
68 -.kdev4/*
69 -*.kdev4
70 -
71 -# cmake in tree (ninja)
72 -.ninja_deps
73 -.ninja_log
74 -bin/
75 -build.ninja
76 -cmake_install.cmake
77 -CMakeCache.txt
78 -CMakeFiles
79 -compile_commands.json
80 -CPackConfig.cmake
81 -CPackSourceConfig.cmake
82 -CTestTestfile.cmake
83 -external/
84 -rules.ninja
85 -
86 -# in tree build
87 -**/*.a
88 -**/*.px4mod
89 -**/*.stamp
90 -/coverage*
91 -/functional-*
92 -/generated_params/
93 -/googletest-*/
94 -/logs
95 -/mavsdk_tests
96 -/test_mixer_multirotor
97 -/unit-*
98 -/uORB/
99 -DartConfiguration.tcl
100 -msg/tmp/
101 -msg/topics_sources/
102 -platforms/posix/apps.cpp
103 -platforms/posix/apps.h
104 -src/lib/version/build_git_version.h
105 -src/modules/simulator/simulator_config.h
106 -src/systemcmds/topic_listener/listener_generated.cpp
107 -
108 -# SITL
109 -dataman
110 -eeprom/
1 -[submodule "mavlink/include/mavlink/v2.0"]
2 - path = mavlink/include/mavlink/v2.0
3 - url = https://github.com/mavlink/c_library_v2.git
4 - branch = master
5 -[submodule "src/drivers/uavcan/libuavcan"]
6 - path = src/drivers/uavcan/libuavcan
7 - url = https://github.com/PX4/libuavcan.git
8 - branch = px4
9 -[submodule "Tools/jMAVSim"]
10 - path = Tools/jMAVSim
11 - url = https://github.com/PX4/jMAVSim.git
12 - branch = master
13 -[submodule "Tools/sitl_gazebo"]
14 - path = Tools/sitl_gazebo
15 - url = https://github.com/PX4/PX4-SITL_gazebo.git
16 - branch = master
17 -[submodule "src/lib/matrix"]
18 - path = src/lib/matrix
19 - url = https://github.com/PX4/PX4-Matrix.git
20 - branch = master
21 -[submodule "src/lib/ecl"]
22 - path = src/lib/ecl
23 - url = https://github.com/PX4/PX4-ECL.git
24 - branch = master
25 -[submodule "boards/atlflight/cmake_hexagon"]
26 - path = boards/atlflight/cmake_hexagon
27 - url = https://github.com/PX4/cmake_hexagon.git
28 - branch = px4
29 -[submodule "src/drivers/gps/devices"]
30 - path = src/drivers/gps/devices
31 - url = https://github.com/PX4/PX4-GPSDrivers.git
32 - branch = master
33 -[submodule "src/modules/micrortps_bridge/micro-CDR"]
34 - path = src/modules/micrortps_bridge/micro-CDR
35 - url = https://github.com/PX4/Micro-CDR.git
36 - branch = master
37 -[submodule "platforms/nuttx/NuttX/nuttx"]
38 - path = platforms/nuttx/NuttX/nuttx
39 - url = https://github.com/PX4/NuttX.git
40 - branch = px4_firmware_nuttx-10.0.0+
41 -[submodule "platforms/nuttx/NuttX/apps"]
42 - path = platforms/nuttx/NuttX/apps
43 - url = https://github.com/PX4/NuttX-apps.git
44 - branch = px4_firmware_nuttx-10.0.0+
45 -[submodule "platforms/qurt/dspal"]
46 - path = platforms/qurt/dspal
47 - url = https://github.com/ATLFlight/dspal.git
48 -[submodule "Tools/flightgear_bridge"]
49 - path = Tools/flightgear_bridge
50 - url = https://github.com/PX4/PX4-FlightGear-Bridge.git
51 -[submodule "Tools/jsbsim_bridge"]
52 - path = Tools/jsbsim_bridge
53 - url = https://github.com/PX4/px4-jsbsim-bridge.git
54 -[submodule "src/drivers/uavcan_v1/libcanard"]
55 - path = src/drivers/uavcan_v1/libcanard
56 - url = https://github.com/UAVCAN/libcanard.git
57 -[submodule "src/drivers/uavcan_v1/public_regulated_data_types"]
58 - path = src/drivers/uavcan_v1/public_regulated_data_types
59 - url = https://github.com/UAVCAN/public_regulated_data_types.git
60 -[submodule "src/drivers/uavcannode_gps_demo/public_regulated_data_types"]
61 - path = src/drivers/uavcannode_gps_demo/public_regulated_data_types
62 - url = https://github.com/UAVCAN/public_regulated_data_types.git
63 -[submodule "src/drivers/uavcannode_gps_demo/libcanard"]
64 - path = src/drivers/uavcannode_gps_demo/libcanard
65 - url = https://github.com/UAVCAN/libcanard.git
66 -[submodule "src/drivers/uavcan_v1/legacy_data_types"]
67 - path = src/drivers/uavcan_v1/legacy_data_types
68 - url = https://github.com/PX4/public_regulated_data_types.git
69 - branch = legacy
1 -language: cpp
2 -
3 -git:
4 - depth: 100
5 - submodules: false
6 -
7 -matrix:
8 - fast_finish: true
9 - include:
10 - - os: linux
11 - dist: xenial
12 - # In order to stay under the coverity rate limit, we only run this weekly
13 - # and not on push which is configured in travis-ci settings.
14 - if: branch = master
15 -
16 -before_install:
17 - - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
18 -
19 -install:
20 - - export PATH=$HOME/.local/bin:$PATH
21 - - pip install --user --upgrade pip
22 - - pip install --user -r Tools/setup/requirements.txt
23 -
24 -script:
25 - - make
26 -
27 -addons:
28 - coverity_scan:
29 - project:
30 - name: "PX4/Firmware"
31 - description: "Build submitted via Travis CI"
32 - notification_email: ci@px4.io
33 - build_command_prepend: "make distclean"
34 - build_command: "make px4_sitl_default"
35 - branch_pattern: coverity_scan
1 -.cortex-debug.peripherals.state.json
2 -.cortex-debug.registers.state.json
3 -compile_commands.json
4 -
5 -# generated by cmake
6 -launch.json
7 -
8 -# C/C++ extension does some local caching in this folder
9 -ipch/
10 -
11 -browse.vc.db*
1 -{
2 - "configurations": [
3 - {
4 - "name": "PX4",
5 - "includePath": [
6 - "${workspaceFolder}/**"
7 - ],
8 - "defines": [],
9 - "macFrameworkPath": [],
10 - "configurationProvider": "ms-vscode.cmake-tools",
11 - "cppStandard": "c++14",
12 - "cStandard": "c11"
13 - }
14 - ],
15 - "version": 4
16 -}
...\ No newline at end of file ...\ No newline at end of file
1 -[
2 - {
3 - "name": "PX4 detect"
4 - }
5 -]
...\ No newline at end of file ...\ No newline at end of file
1 -CONFIG:
2 - default: px4_sitl_default
3 - choices:
4 - px4_sitl_default:
5 - short: px4_sitl
6 - buildType: RelWithDebInfo
7 - settings:
8 - CONFIG: px4_sitl_default
9 - px4_sitl_replay:
10 - short: px4_sitl_replay
11 - buildType: RelWithDebInfo
12 - settings:
13 - CONFIG: px4_sitl_replay
14 - px4_sitl_test:
15 - short: px4_sitl_test
16 - buildType: RelWithDebInfo
17 - settings:
18 - CONFIG: px4_sitl_test
19 - px4_io-v2_default:
20 - short: px4_io-v2
21 - buildType: MinSizeRel
22 - settings:
23 - CONFIG: px4_io-v2_default
24 - px4_fmu-v2_default:
25 - short: px4_fmu-v2
26 - buildType: MinSizeRel
27 - settings:
28 - CONFIG: px4_fmu-v2_default
29 - px4_fmu-v3_default:
30 - short: px4_fmu-v3
31 - buildType: MinSizeRel
32 - settings:
33 - CONFIG: px4_fmu-v3_default
34 - px4_fmu-v4_default:
35 - short: px4_fmu-v4
36 - buildType: MinSizeRel
37 - settings:
38 - CONFIG: px4_fmu-v4_default
39 - px4_fmu-v4pro_default:
40 - short: px4_fmu-v4pro
41 - buildType: MinSizeRel
42 - settings:
43 - CONFIG: px4_fmu-v4pro_default
44 - px4_fmu-v5_default:
45 - short: px4_fmu-v5
46 - buildType: MinSizeRel
47 - settings:
48 - CONFIG: px4_fmu-v5_default
49 - px4_fmu-v5x_default:
50 - short: px4_fmu-v5x
51 - buildType: MinSizeRel
52 - settings:
53 - CONFIG: px4_fmu-v5x_default
54 - airmind_mindpx-v2_default:
55 - short: airmind_mindpx-v2
56 - buildType: MinSizeRel
57 - settings:
58 - CONFIG: airmind_mindpx-v2_default
59 - ark_can-flow_default:
60 - short: ark_can-flow_default
61 - buildType: MinSizeRel
62 - settings:
63 - CONFIG: ark_can-flow_default
64 - ark_can-flow_canbootloader:
65 - short: ark_can-flow_canbootloader
66 - buildType: MinSizeRel
67 - settings:
68 - CONFIG: ark_can-flow_canbootloader
69 - ark_can-gps_default:
70 - short: ark_can-gps_default
71 - buildType: MinSizeRel
72 - settings:
73 - CONFIG: ark_can-gps_default
74 - ark_can-gps_canbootloader:
75 - short: ark_can-gps_canbootloader
76 - buildType: MinSizeRel
77 - settings:
78 - CONFIG: ark_can-gps_canbootloader
79 - av_x-v1_default:
80 - short: av_x-v1
81 - buildType: MinSizeRel
82 - settings:
83 - CONFIG: av_x-v1_default
84 - bitcraze_crazyflie_default:
85 - short: bitcraze_crazyflie
86 - buildType: MinSizeRel
87 - settings:
88 - CONFIG: bitcraze_crazyflie_default
89 - cuav_can-gps-v1_default:
90 - short: cuav_can-gps-v1_default
91 - buildType: MinSizeRel
92 - settings:
93 - CONFIG: cuav_can-gps-v1_default
94 - cuav_can-gps-v1_canbootloader:
95 - short: cuav_can-gps-v1_canbootloader
96 - buildType: MinSizeRel
97 - settings:
98 - CONFIG: cuav_can-gps-v1_canbootloader
99 - cuav_nora_default:
100 - short: cuav_nora
101 - buildType: MinSizeRel
102 - settings:
103 - CONFIG: cuav_nora_default
104 - cuav_x7pro_default:
105 - short: cuav_x7pro
106 - buildType: MinSizeRel
107 - settings:
108 - CONFIG: cuav_x7pro_default
109 - cubepilot_cubeorange_test:
110 - short: cubepilot_cubeorange
111 - buildType: MinSizeRel
112 - settings:
113 - CONFIG: cubepilot_orange_test
114 - emlid_navio2_default:
115 - short: emlid_navio2
116 - buildType: MinSizeRel
117 - settings:
118 - CONFIG: emlid_navio2_default
119 - freefly_can-rtk-gps_default:
120 - short: freefly_can-rtk-gps_default
121 - buildType: MinSizeRel
122 - settings:
123 - CONFIG: freefly_can-rtk-gps_default
124 - freefly_can-rtk-gps_canbootloader:
125 - short: freefly_can-rtk-gps_canbootloader
126 - buildType: MinSizeRel
127 - settings:
128 - CONFIG: freefly_can-rtk-gps_canbootloader
129 - holybro_can-gps-v1_canbootloader:
130 - short: holybro_can-gps-v1_canbootloader
131 - buildType: MinSizeRel
132 - settings:
133 - CONFIG: holybro_can-gps-v1_canbootloader
134 - holybro_can-gps-v1_default:
135 - short: holybro_can-gps-v1_default
136 - buildType: MinSizeRel
137 - settings:
138 - CONFIG: holybro_can-gps-v1_default
139 - holybro_durandal-v1_default:
140 - short: holybro_durandal-v1
141 - buildType: MinSizeRel
142 - settings:
143 - CONFIG: holybro_durandal-v1_default
144 - modalai_fc-v1_default:
145 - short: modalai_fc-v1
146 - buildType: MinSizeRel
147 - settings:
148 - CONFIG: modalai_fc-v1_default
149 - modalai_fc-v2_default:
150 - short: modalai_fc-v2
151 - buildType: MinSizeRel
152 - settings:
153 - CONFIG: modalai_fc-v2_default
154 - mro_ctrl-zero-f7_default:
155 - short: mro_ctrl-zero-f7
156 - buildType: MinSizeRel
157 - settings:
158 - CONFIG: mro_ctrl-zero-f7_default
159 - mro_pixracerpro_bootloader:
160 - short: mro_pixracerpro_bootloader
161 - buildType: MinSizeRel
162 - settings:
163 - CONFIG: mro_pixracerpro_bootloader
164 - mro_pixracerpro_default:
165 - short: mro_pixracerpro_default
166 - buildType: MinSizeRel
167 - settings:
168 - CONFIG: mro_pixracerpro_default
169 - mro_x21-777_default:
170 - short: mro_x2.1-777
171 - buildType: MinSizeRel
172 - settings:
173 - CONFIG: mro_x21-777_default
174 - nxp_fmuk66-v3_default:
175 - short: nxp_fmuk66-v3
176 - buildType: MinSizeRel
177 - settings:
178 - CONFIG: nxp_fmuk66-v3_default
1 -{
2 - // See http://go.microsoft.com/fwlink/?LinkId=827846
3 - // for the documentation about the extensions.json format
4 - "recommendations": [
5 - "chiehyu.vscode-astyle",
6 - "dan-c-underwood.arm",
7 - "fredericbonnet.cmake-test-adapter",
8 - "github.vscode-pull-request-github",
9 - "marus25.cortex-debug",
10 - "ms-azuretools.vscode-docker",
11 - "ms-iot.vscode-ros",
12 - "ms-python.python",
13 - "ms-vscode.cmake-tools",
14 - "ms-vscode.cpptools",
15 - "ms-vscode.cpptools-extension-pack",
16 - "redhat.vscode-yaml",
17 - "streetsidesoftware.code-spell-checker",
18 - "twxs.cmake",
19 - "uavcan.dsdl",
20 - "wholroyd.jinja",
21 - "zixuanwang.linkerscript"
22 - ]
23 -}
1 -{
2 - "astyle.astylerc": "${workspaceFolder}/Tools/astyle/astylerc",
3 - "astyle.c.enable": true,
4 - "astyle.cpp.enable": true,
5 - "breadcrumbs.enabled": true,
6 - "C_Cpp.autoAddFileAssociations": false,
7 - "C_Cpp.clang_format_fallbackStyle": "none",
8 - "C_Cpp.default.browse.limitSymbolsToIncludedHeaders": true,
9 - "C_Cpp.default.cppStandard": "c++14",
10 - "C_Cpp.default.cStandard": "c11",
11 - "C_Cpp.formatting": "Disabled",
12 - "C_Cpp.intelliSenseEngine": "Default",
13 - "C_Cpp.vcpkg.enabled": false,
14 - "C_Cpp.workspaceParsingPriority": "low",
15 - "cmake.buildBeforeRun": true,
16 - "cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
17 - "cmake.buildTask": true,
18 - "cmake.configureOnOpen": true,
19 - "cmake.ctest.parallelJobs": 1,
20 - "cmake.skipConfigureIfCachePresent": true,
21 - "cmakeExplorer.buildDir": "${workspaceFolder}/build/px4_sitl_test",
22 - "cmakeExplorer.parallelJobs": 1,
23 - "cmakeExplorer.suiteDelimiter": "-",
24 - "cortex-debug.enableTelemetry": false,
25 - "cSpell.allowCompoundWords": true,
26 - "cSpell.diagnosticLevel": "Hint",
27 - "cSpell.showStatus": false,
28 - "cSpell.words": [
29 - "acro",
30 - "nuttx",
31 - "esc"
32 - ],
33 - "debug.toolBarLocation": "docked",
34 - "editor.acceptSuggestionOnEnter": "off",
35 - "editor.defaultFormatter": "chiehyu.vscode-astyle",
36 - "editor.dragAndDrop": false,
37 - "editor.insertSpaces": false,
38 - "editor.minimap.maxColumn": 120,
39 - "editor.minimap.renderCharacters": false,
40 - "editor.minimap.showSlider": "always",
41 - "editor.suggest.localityBonus": true,
42 - "editor.tabSize": 8,
43 - "editor.wordWrapColumn": 120,
44 - "explorer.openEditors.visible": 0,
45 - "files.insertFinalNewline": true,
46 - "files.trimTrailingWhitespace": true,
47 - "files.watcherExclude": {
48 - "**/build/**": true
49 - },
50 - "git.detectSubmodulesLimit": 20,
51 - "git.ignoreLimitWarning": true,
52 - "githubPullRequests.defaultMergeMethod": "squash",
53 - "githubPullRequests.telemetry.enabled": false,
54 - "files.associations": {
55 - "*.jinja": "jinja",
56 - "algorithm": "cpp",
57 - "array": "cpp",
58 - "atomic": "cpp",
59 - "bitset": "cpp",
60 - "cctype": "cpp",
61 - "cfenv": "cpp",
62 - "chrono": "cpp",
63 - "cinttypes": "cpp",
64 - "clocale": "cpp",
65 - "cmath": "cpp",
66 - "codecvt": "cpp",
67 - "complex": "cpp",
68 - "condition_variable": "cpp",
69 - "csignal": "cpp",
70 - "cstdarg": "cpp",
71 - "cstddef": "cpp",
72 - "cstdint": "cpp",
73 - "cstdio": "cpp",
74 - "cstdlib": "cpp",
75 - "cstring": "cpp",
76 - "ctime": "cpp",
77 - "cwchar": "cpp",
78 - "cwctype": "cpp",
79 - "deque": "cpp",
80 - "exception": "cpp",
81 - "forward_list": "cpp",
82 - "fstream": "cpp",
83 - "functional": "cpp",
84 - "future": "cpp",
85 - "hash_map": "cpp",
86 - "hash_set": "cpp",
87 - "initializer_list": "cpp",
88 - "iomanip": "cpp",
89 - "iosfwd": "cpp",
90 - "iostream": "cpp",
91 - "istream": "cpp",
92 - "iterator": "cpp",
93 - "limits": "cpp",
94 - "list": "cpp",
95 - "map": "cpp",
96 - "memory": "cpp",
97 - "memory_resource": "cpp",
98 - "mutex": "cpp",
99 - "new": "cpp",
100 - "numeric": "cpp",
101 - "optional": "cpp",
102 - "ostream": "cpp",
103 - "random": "cpp",
104 - "ratio": "cpp",
105 - "regex": "cpp",
106 - "set": "cpp",
107 - "sstream": "cpp",
108 - "stdexcept": "cpp",
109 - "streambuf": "cpp",
110 - "string": "cpp",
111 - "string_view": "cpp",
112 - "strstream": "cpp",
113 - "system_error": "cpp",
114 - "thread": "cpp",
115 - "tuple": "cpp",
116 - "type_traits": "cpp",
117 - "typeindex": "cpp",
118 - "typeinfo": "cpp",
119 - "unordered_map": "cpp",
120 - "unordered_set": "cpp",
121 - "utility": "cpp",
122 - "valarray": "cpp",
123 - "variant": "cpp",
124 - "vector": "cpp"
125 - },
126 - "search.exclude": {
127 - "${workspaceFolder}/build": true
128 - },
129 - "search.showLineNumbers": true,
130 - "telemetry.enableTelemetry": false,
131 - "terminal.integrated.copyOnSelection": true,
132 - "terminal.integrated.rightClickBehavior": "paste",
133 - "terminal.integrated.scrollback": 5000,
134 - "window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}",
135 - "workbench.editor.highlightModifiedTabs": true,
136 - "workbench.enableExperiments": false,
137 - "workbench.settings.enableNaturalLanguageSearch": false,
138 - "yaml.schemas": {
139 - "${workspaceFolder}/validation/module_schema.yaml": "${workspaceFolder}/src/modules/*/module.yaml"
140 - }
141 -}
This diff is collapsed. Click to expand it.
1 -# This file is NOT licensed under the GPLv3, which is the license for the rest
2 -# of YouCompleteMe.
3 -#
4 -# Here's the license text for this file:
5 -#
6 -# This is free and unencumbered software released into the public domain.
7 -#
8 -# Anyone is free to copy, modify, publish, use, compile, sell, or
9 -# distribute this software, either in source code form or as a compiled
10 -# binary, for any purpose, commercial or non-commercial, and by any
11 -# means.
12 -#
13 -# In jurisdictions that recognize copyright laws, the author or authors
14 -# of this software dedicate any and all copyright interest in the
15 -# software to the public domain. We make this dedication for the benefit
16 -# of the public at large and to the detriment of our heirs and
17 -# successors. We intend this dedication to be an overt act of
18 -# relinquishment in perpetuity of all present and future rights to this
19 -# software under copyright law.
20 -#
21 -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 -# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25 -# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 -# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 -# OTHER DEALINGS IN THE SOFTWARE.
28 -#
29 -# For more information, please refer to <http://unlicense.org/>
30 -
31 -import os
32 -import ycm_core
33 -
34 -# These are the compilation flags that will be used in case there's no
35 -# compilation database set (by default, one is not set).
36 -# CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR.
37 -flags = [
38 -'-Wall',
39 -'-Wextra',
40 -'-Werror',
41 -#'-Wc++98-compat',
42 -'-Wno-long-long',
43 -'-Wno-variadic-macros',
44 -'-fexceptions',
45 -'-DNDEBUG',
46 -# You 100% do NOT need -DUSE_CLANG_COMPLETER in your flags; only the YCM
47 -# source code needs it.
48 -#'-DUSE_CLANG_COMPLETER',
49 -# THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't know which
50 -# language to use when compiling headers. So it will guess. Badly. So C++
51 -# headers will be compiled as C headers. You don't want that so ALWAYS specify
52 -# a "-std=<something>".
53 -# For a C project, you would set this to something like 'c99' instead of
54 -# 'c++14'.
55 -'-std=c++14',
56 -# ...and the same thing goes for the magic -x option which specifies the
57 -# language that the files to be compiled are written in. This is mostly
58 -# relevant for c++ headers.
59 -# For a C project, you would set this to 'c' instead of 'c++'.
60 -'-x',
61 -'c++',
62 -'-undef', # get rid of standard definitions to allow us to include arm math header
63 -'-I', os.path.join(os.path.expanduser("~"),'gcc-arm-none-eabi-4_7-2013q3/arm-none-eabi/include'),
64 -'-I', 'Build/px4_io-v2_default.build/nuttx-export/include/',
65 -'-I', './NuttX/nuttx/arch/arm/include',
66 -'-include', './src/include/visibility.h',
67 -'-I', './src',
68 -'-I', './src/modules',
69 -'-I', './src/include',
70 -'-I', './src/lib',
71 -'-I', './NuttX',
72 -]
73 -
74 -
75 -# Set this to the absolute path to the folder (NOT the file!) containing the
76 -# compile_commands.json file to use that instead of 'flags'. See here for
77 -# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html
78 -#
79 -# Most projects will NOT need to set this to anything; you can just change the
80 -# 'flags' list of compilation flags. Notice that YCM itself uses that approach.
81 -compilation_database_folder = ''
82 -
83 -if os.path.exists( compilation_database_folder ):
84 - database = ycm_core.CompilationDatabase( compilation_database_folder )
85 -else:
86 - database = None
87 -
88 -SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ]
89 -
90 -def DirectoryOfThisScript():
91 - return os.path.dirname( os.path.abspath( __file__ ) )
92 -
93 -
94 -def MakeRelativePathsInFlagsAbsolute( flags, working_directory ):
95 - if not working_directory:
96 - return list( flags )
97 - new_flags = []
98 - make_next_absolute = False
99 - path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ]
100 - for flag in flags:
101 - new_flag = flag
102 -
103 - if make_next_absolute:
104 - make_next_absolute = False
105 - if not flag.startswith( '/' ):
106 - new_flag = os.path.join( working_directory, flag )
107 -
108 - for path_flag in path_flags:
109 - if flag == path_flag:
110 - make_next_absolute = True
111 - break
112 -
113 - if flag.startswith( path_flag ):
114 - path = flag[ len( path_flag ): ]
115 - new_flag = path_flag + os.path.join( working_directory, path )
116 - break
117 -
118 - if new_flag:
119 - new_flags.append( new_flag )
120 - return new_flags
121 -
122 -
123 -def IsHeaderFile( filename ):
124 - extension = os.path.splitext( filename )[ 1 ]
125 - return extension in [ '.h', '.hxx', '.hpp', '.hh' ]
126 -
127 -
128 -def GetCompilationInfoForFile( filename ):
129 - # The compilation_commands.json file generated by CMake does not have entries
130 - # for header files. So we do our best by asking the db for flags for a
131 - # corresponding source file, if any. If one exists, the flags for that file
132 - # should be good enough.
133 - if IsHeaderFile( filename ):
134 - basename = os.path.splitext( filename )[ 0 ]
135 - for extension in SOURCE_EXTENSIONS:
136 - replacement_file = basename + extension
137 - if os.path.exists( replacement_file ):
138 - compilation_info = database.GetCompilationInfoForFile(
139 - replacement_file )
140 - if compilation_info.compiler_flags_:
141 - return compilation_info
142 - return None
143 - return database.GetCompilationInfoForFile( filename )
144 -
145 -
146 -def FlagsForFile( filename, **kwargs ):
147 - if database:
148 - # Bear in mind that compilation_info.compiler_flags_ does NOT return a
149 - # python list, but a "list-like" StringVec object
150 - compilation_info = GetCompilationInfoForFile( filename )
151 - if not compilation_info:
152 - return None
153 -
154 - final_flags = MakeRelativePathsInFlagsAbsolute(
155 - compilation_info.compiler_flags_,
156 - compilation_info.compiler_working_dir_ )
157 -
158 - # NOTE: This is just for YouCompleteMe; it's highly likely that your project
159 - # does NOT need to remove the stdlib flag. DO NOT USE THIS IN YOUR
160 - # ycm_extra_conf IF YOU'RE NOT 100% SURE YOU NEED IT.
161 - #try:
162 - # final_flags.remove( '-stdlib=libc++' )
163 - #except ValueError:
164 - # pass
165 - else:
166 - relative_to = DirectoryOfThisScript()
167 - final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to )
168 -
169 - return {
170 - 'flags': final_flags,
171 - 'do_cache': True
172 - }