forked from Ai-Thinker-Open/ESP32-A1S-AudioKit
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 792a652
Showing
1,015 changed files
with
84,290 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# EditorConfig helps developers define and maintain consistent | ||
# coding styles between different editors and IDEs | ||
# http://editorconfig.org | ||
|
||
root = true | ||
|
||
[*] | ||
indent_style = space | ||
indent_size = 4 | ||
end_of_line = lf | ||
charset = utf-8 | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true | ||
|
||
[{*.md,*.rst}] | ||
trim_trailing_whitespace = false | ||
|
||
[{Makefile,*.mk,*.bat}] | ||
indent_style = tab | ||
indent_size = 2 | ||
|
||
[*/freertos/**] | ||
indent_style = tab | ||
indent_size = 4 | ||
|
||
[{*/freertos/**.S,**/FreeRTOSConfig.h}] | ||
indent_style = space | ||
indent_size = 4 | ||
|
||
[*.pem] | ||
insert_final_newline = false | ||
|
||
[*.py] | ||
max_line_length = 119 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
.config | ||
*.o | ||
*.pyc | ||
|
||
# gtags | ||
GTAGS | ||
GRTAGS | ||
GPATH | ||
|
||
# emacs | ||
.dir-locals.el | ||
|
||
# emacs temp file suffixes | ||
*~ | ||
.#* | ||
\#*# | ||
# MacOS directory files | ||
.DS_Store | ||
|
||
# eclipse setting | ||
.settings | ||
|
||
# Example project files | ||
examples/**/sdkconfig | ||
examples/**/sdkconfig.old | ||
examples/**/build | ||
|
||
# Doc build artifacts | ||
docs/*/_build/ | ||
docs/*/doxygen-warning-log.txt | ||
docs/*/sphinx-warning-log.txt | ||
docs/*/sphinx-warning-log-sanitized.txt | ||
docs/*/xml/ | ||
docs/*/xml_in/ | ||
docs/*/man/ | ||
docs/*/doxygen_sqlite3.db | ||
|
||
# Downloaded font files | ||
docs/_static/DejaVuSans.ttf | ||
docs/_static/NotoSansSC-Regular.otf | ||
|
||
# gcov coverage reports | ||
*.gcda | ||
*.gcno | ||
coverage.info | ||
coverage_report/ | ||
|
||
.vscode |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,244 @@ | ||
stages: | ||
- build | ||
- assign_test | ||
# - example_test | ||
- deploy | ||
|
||
variables: | ||
# System environment | ||
|
||
# Common parameters for the 'make' during CI tests | ||
MAKEFLAGS: "-j5 --no-keep-going" | ||
|
||
# GitLab-CI environment | ||
|
||
# more attempts for more robust | ||
GET_SOURCES_ATTEMPTS: "10" | ||
ARTIFACT_DOWNLOAD_ATTEMPTS: "10" | ||
|
||
# We use get_sources.sh script to fetch the submodules and/or re-fetch the repo | ||
# if it was corrupted (if submodule update fails this can happen) | ||
GIT_STRATEGY: clone | ||
GIT_SUBMODULE_STRATEGY: none | ||
ADF_PATH: "$CI_PROJECT_DIR" | ||
IDF_PATH: "$CI_PROJECT_DIR/esp-idf" | ||
|
||
before_script: | ||
# add gitlab ssh key | ||
- mkdir -p ~/.ssh | ||
- chmod 700 ~/.ssh | ||
- echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64 | ||
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa | ||
- chmod 600 ~/.ssh/id_rsa | ||
- echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config | ||
# replace submodule esp-idf to internal repository to speedup cloning | ||
- sed -i "s%https://github.com/espressif/esp-idf%${GITLAB_SSH_SERVER}/idf/esp-idf.git%" .gitmodules | ||
# replace submodule esp-adf-libs to internal repository to speedup cloning | ||
- sed -i "s%https://github.com/espressif/esp-adf-libs%${GITLAB_SSH_SERVER}/adf/esp-adf-libs.git%" .gitmodules | ||
- sed -i "s%https://github.com/espressif/esp-sr.git%${GITLAB_SSH_SERVER}/speech-recognition-internal/esp_sr_public.git%" .gitmodules | ||
- git submodule update --init | ||
# (the same regular expressions are used to set these are used in 'only:' sections below | ||
- source esp-idf/tools/ci/configure_ci_environment.sh | ||
|
||
# fetch the submodules (& if necessary re-fetch repo) from gitlab | ||
- time ./esp-idf/tools/ci/get-full-sources.sh | ||
|
||
|
||
.add_gitlab_key_before: | ||
before_script: &add_gitlab_key_before | ||
- echo "Not fetching submodules" | ||
- source $IDF_PATH/tools/ci/configure_ci_environment.sh | ||
# add gitlab ssh key | ||
- mkdir -p ~/.ssh | ||
- chmod 700 ~/.ssh | ||
- echo -n $AUTO_KEY > ~/.ssh/id_rsa_base64 | ||
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa | ||
- chmod 600 ~/.ssh/id_rsa | ||
- echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config | ||
|
||
.build_template: &build_template | ||
stage: build | ||
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG | ||
tags: | ||
- build | ||
variables: | ||
BATCH_BUILD: "1" | ||
V: "0" | ||
|
||
.build_examples_template: &build_examples_template | ||
<<: *build_template | ||
artifacts: | ||
when: always | ||
paths: | ||
- build_examples/*/*/*/build/*.bin | ||
- build_examples/*/*/*/build/*.elf | ||
- build_examples/*/*/*/build/*.map | ||
- build_examples/*/*/*/build/download.config | ||
- build_examples/*/*/*/build/bootloader/*.bin | ||
- $LOG_PATH | ||
expire_in: 1 week | ||
variables: | ||
IDF_CI_BUILD: "1" | ||
LOG_PATH: "$CI_PROJECT_DIR/log_examples" | ||
script: | ||
# it's not possible to build 100% out-of-tree and have the "artifacts" | ||
# mechanism work, but this is the next best thing | ||
- rm -rf build_examples | ||
- mkdir build_examples | ||
- cd build_examples | ||
# build some of examples | ||
- mkdir -p ${LOG_PATH} | ||
- ${ADF_PATH}/tools/ci/build_examples.sh "${CI_JOB_NAME}" | ||
|
||
build_examples_00: | ||
<<: *build_examples_template | ||
|
||
build_examples_01: | ||
<<: *build_examples_template | ||
|
||
build_examples_02: | ||
<<: *build_examples_template | ||
|
||
build_examples_03: | ||
<<: *build_examples_template | ||
|
||
build_adf_test: | ||
<<: *build_template | ||
artifacts: | ||
when: always | ||
paths: | ||
- adf-cli/build/*.bin | ||
- adf-cli/build/*.elf | ||
- adf-cli/build/*.map | ||
- adf-cli/build/download.config | ||
- adf-cli/build/bootloader/*.bin | ||
- $IDF_PATH/tools/ci | ||
- $IDF_PATH/components/esptool_py | ||
- $IDF_PATH/components/partition_table | ||
expire_in: 1 month | ||
script: | ||
- git clone ${ADF_TEST_CLI_REPO} | ||
- cd adf-cli | ||
- git checkout ${CI_COMMIT_REF_NAME} || echo "Using adf-cli default branch..." | ||
- make defconfig | ||
- make | ||
- make print_flash_cmd > build/download.config | ||
|
||
build_docs: | ||
stage: build | ||
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG | ||
tags: | ||
- build_docs | ||
artifacts: | ||
when: always | ||
paths: | ||
# English version of documentation | ||
- docs/en/doxygen-warning-log.txt | ||
- docs/en/sphinx-warning-log.txt | ||
- docs/en/sphinx-warning-log-sanitized.txt | ||
- docs/en/_build/html | ||
- docs/sphinx-err-* | ||
# Chinese version of documentation | ||
- docs/zh_CN/doxygen-warning-log.txt | ||
- docs/zh_CN/sphinx-warning-log.txt | ||
- docs/zh_CN/sphinx-warning-log-sanitized.txt | ||
- docs/zh_CN/_build/html | ||
expire_in: 1 mos | ||
script: | ||
- cd docs | ||
- ./check_lang_folder_sync.sh | ||
- cd en | ||
- make gh-linkcheck | ||
- make html | ||
- ../check_doc_warnings.sh | ||
- cd ../zh_CN | ||
- make gh-linkcheck | ||
- make html | ||
- ../check_doc_warnings.sh | ||
assign_test: | ||
tags: | ||
- assign_test | ||
image: $CI_DOCKER_REGISTRY/audio_test_env$BOT_DOCKER_IMAGE_TAG | ||
stage: assign_test | ||
# gitlab ci do not support match job with RegEx or wildcard now in dependencies. | ||
# we have a lot build example jobs. now we don't use dependencies, just download all artificats of build stage. | ||
dependencies: | ||
- build_adf_test | ||
- build_examples_00 | ||
variables: | ||
TEST_FW_PATH: "$CI_PROJECT_DIR/general_test_framework" | ||
EXAMPLE_CONFIG_OUTPUT_PATH: "$CI_PROJECT_DIR/examples/test_configs" | ||
AUTO_TEST_PATH: "$CI_PROJECT_DIR/audio_auto_test" | ||
artifacts: | ||
paths: | ||
- $TEST_FW_PATH | ||
- $EXAMPLE_CONFIG_OUTPUT_PATH | ||
- $AUTO_TEST_PATH | ||
expire_in: 1 mos | ||
before_script: *add_gitlab_key_before | ||
script: | ||
- git clone ${AUDIO_AUTO_REPO} | ||
- git clone ${TEST_FW_REPO} | ||
# assign example tests | ||
- python $TEST_FW_PATH/CIAssignExampleTest.py $CI_PROJECT_DIR/examples $CI_PROJECT_DIR/.gitlab-ci.yml $EXAMPLE_CONFIG_OUTPUT_PATH | ||
|
||
.example_test_template: &example_test_template | ||
stage: example_test | ||
when: on_success | ||
dependencies: | ||
- assign_test | ||
- build_examples_00 | ||
- build_adf_test | ||
artifacts: | ||
when: always | ||
paths: | ||
- $LOG_PATH | ||
expire_in: 1 mos | ||
variables: | ||
TEST_FW_PATH: "$CI_PROJECT_DIR/general_test_framework" | ||
TEST_CASE_PATH: "$CI_PROJECT_DIR/examples" | ||
CONFIG_FILE: "$CI_PROJECT_DIR/examples/test_configs/$CI_JOB_NAME.yml" | ||
LOG_PATH: "$CI_PROJECT_DIR/log_examples" | ||
ENV_FILE: "$IDF_PATH/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/EnvConfig.yml" | ||
AUTO_TEST_PATH: "$CI_PROJECT_DIR/audio_auto_test" | ||
before_script: *add_gitlab_key_before | ||
script: | ||
# first test if config file exists, if not exist, exit 0 | ||
- test -e $CONFIG_FILE || exit 0 | ||
# run test | ||
- python $TEST_FW_PATH/Runner.py $TEST_CASE_PATH -c $CONFIG_FILE -e $ENV_FILE | ||
|
||
.example_test_play_mp3: &example_test_play_mp3 | ||
<<: *example_test_template | ||
tags: | ||
- ESP32 | ||
- Example_AUDIO_PLAY | ||
|
||
push_master_to_github: | ||
stage: deploy | ||
only: | ||
- master | ||
- /^release\/v/ | ||
# when: on_success | ||
image: $CI_DOCKER_REGISTRY/esp32-ci-env | ||
variables: | ||
GIT_STRATEGY: clone | ||
GITHUB_PUSH_REFS: refs/remotes/origin/release refs/remotes/origin/master | ||
before_script: | ||
- echo "skip default before_script" | ||
script: | ||
- mkdir -p ~/.ssh | ||
- chmod 700 ~/.ssh | ||
- echo -n $GH_PUSH_KEY >> ~/.ssh/id_rsa_base64 | ||
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa | ||
- chmod 600 ~/.ssh/id_rsa | ||
- echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config | ||
- git remote add github [email protected]:espressif/esp-adf.git | ||
# What the next line of script does: goes through the list of refs for all branches we push to github, | ||
# generates a snippet of shell which is evaluated. The snippet checks CI_BUILD_REF against the SHA | ||
# (aka objectname) at tip of each branch, and if any SHAs match then it checks out the local branch | ||
# and then pushes that ref to a corresponding github branch | ||
# | ||
# NB: In gitlab 9.x, CI_BUILD_REF was deprecated. New name is CI_COMMIT_REF. If below command suddenly | ||
# generates bash syntax errors, this is probably why. | ||
- eval $(git for-each-ref --shell bash --format 'if [ $CI_BUILD_REF == %(objectname) ]; then git checkout -B %(refname:strip=3); git push --follow-tags github %(refname:strip=3); fi;' $GITHUB_PUSH_REFS) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
[submodule "esp-idf"] | ||
path = esp-idf | ||
url = https://github.com/espressif/esp-idf | ||
[submodule "components/esp-adf-libs"] | ||
path = components/esp-adf-libs | ||
url = https://github.com/espressif/esp-adf-libs.git | ||
[submodule "components/esp-sr"] | ||
path = components/esp-sr | ||
url = https://github.com/espressif/esp-sr.git | ||
[submodule "micropython_adf/micropython"] | ||
path = micropython_adf/micropython | ||
url = https://github.com/micropython/micropython.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# .readthedocs.yml | ||
# Read the Docs configuration file | ||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details | ||
|
||
# Required | ||
version: 2 | ||
|
||
# Optionally build your docs in additional formats such as PDF and ePub | ||
formats: | ||
- htmlzip | ||
|
||
# Optionally set the version of Python and requirements required to build your docs | ||
python: | ||
version: 2.7 | ||
install: | ||
- requirements: docs/requirements.txt | ||
|
||
# We need to list all the submodules included in documentation build by Doxygen | ||
submodules: | ||
include: | ||
- components/esp-adf-libs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
execute_process(COMMAND git describe --always --tags --dirty | ||
OUTPUT_VARIABLE ADF_VER | ||
OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
add_definitions(-DADF_VER=\"${ADF_VER}\") | ||
|
||
if(!IDF_PATH) | ||
set(ENV{IDF_PATH} "$ENV{ADF_PATH}/esp-idf/") | ||
endif() | ||
set(EXTRA_COMPONENT_DIRS $ENV{ADF_PATH}/components) |
Oops, something went wrong.