mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-06 19:47:02 +03:00
Update BuildTest.yml
Update BuildTest.yml Update build tools Update BuildTest.yml Update BuildTest.yml Update BuildTest.yml Update BuildTest.yml Update BuildTest.yml Update BuildTest.yml [skip actions] Update BuildTest.yml [skip actions] Update prebuilt objects [skip actions] Update prebuilt objects [skip actions] Update prebuilt objects [skip actions] Update Build test [skip actions]
This commit is contained in:
14
.github/workflows/BuildTest.yml
vendored
14
.github/workflows/BuildTest.yml
vendored
@@ -1,5 +1,6 @@
|
|||||||
# This is a basic workflow to help you get started with Actions
|
# This is a basic workflow to help you get started with Actions
|
||||||
name: Test for ESP-IDF v4.3.1
|
name: Manually executable test for ESP-IDF v4.3.1
|
||||||
|
on: workflow_dispatch
|
||||||
# on:
|
# on:
|
||||||
# push:
|
# push:
|
||||||
# branches:
|
# branches:
|
||||||
@@ -7,7 +8,8 @@ name: Test for ESP-IDF v4.3.1
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
bootstrap:
|
bootstrap:
|
||||||
name: Preparation
|
name: Global setup
|
||||||
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: sle118/squeezelite-esp32-idfv43
|
image: sle118/squeezelite-esp32-idfv43
|
||||||
outputs:
|
outputs:
|
||||||
@@ -28,6 +30,7 @@ jobs:
|
|||||||
- name: Set build flags
|
- name: Set build flags
|
||||||
id: build_flags
|
id: build_flags
|
||||||
run: |
|
run: |
|
||||||
|
git config --global --add safe.directory /__w/squeezelite-esp32/squeezelite-esp32
|
||||||
. /opt/esp/python_env/idf4.3_py3.8_env/bin/activate
|
. /opt/esp/python_env/idf4.3_py3.8_env/bin/activate
|
||||||
# build_flags support the following options
|
# build_flags support the following options
|
||||||
# --mock - to mock the compilation part - this is to be used for testing only
|
# --mock - to mock the compilation part - this is to be used for testing only
|
||||||
@@ -38,6 +41,7 @@ jobs:
|
|||||||
preparation:
|
preparation:
|
||||||
name: Preparation
|
name: Preparation
|
||||||
needs: bootstrap
|
needs: bootstrap
|
||||||
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: sle118/squeezelite-esp32-idfv43
|
image: sle118/squeezelite-esp32-idfv43
|
||||||
steps:
|
steps:
|
||||||
@@ -53,6 +57,7 @@ jobs:
|
|||||||
submodules: true
|
submodules: true
|
||||||
- name: Pull latest
|
- name: Pull latest
|
||||||
run: |
|
run: |
|
||||||
|
git config --global --add safe.directory /__w/squeezelite-esp32/squeezelite-esp32
|
||||||
git pull
|
git pull
|
||||||
git submodule update
|
git submodule update
|
||||||
- name: Refresh certificates
|
- name: Refresh certificates
|
||||||
@@ -75,7 +80,6 @@ jobs:
|
|||||||
- name: Update repository with prebuilt items
|
- name: Update repository with prebuilt items
|
||||||
if: ${{ needs.bootstrap.outputs.ui_build == 1 || needs.bootstrap.outputs.release_flag == 1 }}
|
if: ${{ needs.bootstrap.outputs.ui_build == 1 || needs.bootstrap.outputs.release_flag == 1 }}
|
||||||
run: |
|
run: |
|
||||||
git fetch
|
|
||||||
git config user.name github-actions
|
git config user.name github-actions
|
||||||
git config user.email github-actions@github.com
|
git config user.email github-actions@github.com
|
||||||
git add server_certs
|
git add server_certs
|
||||||
@@ -96,6 +100,7 @@ jobs:
|
|||||||
components/wifi-manager/webapp/dist/*
|
components/wifi-manager/webapp/dist/*
|
||||||
components/wifi-manager/webapp/*.cmake
|
components/wifi-manager/webapp/*.cmake
|
||||||
build:
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: sle118/squeezelite-esp32-idfv43
|
image: sle118/squeezelite-esp32-idfv43
|
||||||
needs: [preparation,bootstrap]
|
needs: [preparation,bootstrap]
|
||||||
@@ -126,6 +131,8 @@ jobs:
|
|||||||
- name: Set build parameters
|
- name: Set build parameters
|
||||||
run: |
|
run: |
|
||||||
. /opt/esp/python_env/idf4.3_py3.8_env/bin/activate
|
. /opt/esp/python_env/idf4.3_py3.8_env/bin/activate
|
||||||
|
git config --global --add safe.directory /__w/squeezelite-esp32/squeezelite-esp32
|
||||||
|
git status
|
||||||
build_tools.py environment --build ${{ needs.bootstrap.outputs.build_number }} --env_file "$GITHUB_ENV" --node "${{matrix.node}}" --depth ${{matrix.depth}} --major 2 --docker sle118/squeezelite-esp32-idfv43
|
build_tools.py environment --build ${{ needs.bootstrap.outputs.build_number }} --env_file "$GITHUB_ENV" --node "${{matrix.node}}" --depth ${{matrix.depth}} --major 2 --docker sle118/squeezelite-esp32-idfv43
|
||||||
|
|
||||||
- uses: actions/download-artifact@master
|
- uses: actions/download-artifact@master
|
||||||
@@ -234,6 +241,7 @@ jobs:
|
|||||||
name: Web Installer
|
name: Web Installer
|
||||||
if: ${{ needs.bootstrap.outputs.release_flag == 1 && needs.bootstrap.outputs.mock == 0 }}
|
if: ${{ needs.bootstrap.outputs.release_flag == 1 && needs.bootstrap.outputs.mock == 0 }}
|
||||||
needs: [build, preparation,bootstrap]
|
needs: [build, preparation,bootstrap]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: sle118/squeezelite-esp32-idfv43
|
image: sle118/squeezelite-esp32-idfv43
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
BIN
components/wifi-manager/webapp/dist/index.html.gz
vendored
BIN
components/wifi-manager/webapp/dist/index.html.gz
vendored
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
components/wifi-manager/webapp/dist/js/index.8db7df.bundle.js.gz
vendored
Normal file
BIN
components/wifi-manager/webapp/dist/js/index.8db7df.bundle.js.gz
vendored
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -2,10 +2,19 @@ declare function getStatus(): {};
|
|||||||
declare function getStatus(): {};
|
declare function getStatus(): {};
|
||||||
declare function getStatus(): {};
|
declare function getStatus(): {};
|
||||||
declare function getStatus(): {};
|
declare function getStatus(): {};
|
||||||
|
declare function getStatus(): {};
|
||||||
|
declare function getStatus(): {};
|
||||||
|
declare function getStatus(): {};
|
||||||
declare function getRadioButton(entry: any): string;
|
declare function getRadioButton(entry: any): string;
|
||||||
declare function getRadioButton(entry: any): string;
|
declare function getRadioButton(entry: any): string;
|
||||||
declare function getRadioButton(entry: any): string;
|
declare function getRadioButton(entry: any): string;
|
||||||
declare function getRadioButton(entry: any): string;
|
declare function getRadioButton(entry: any): string;
|
||||||
|
declare function getRadioButton(entry: any): string;
|
||||||
|
declare function getRadioButton(entry: any): string;
|
||||||
|
declare function getRadioButton(entry: any): string;
|
||||||
|
declare function pushStatus(): void;
|
||||||
|
declare function pushStatus(): void;
|
||||||
|
declare function pushStatus(): void;
|
||||||
declare function pushStatus(): void;
|
declare function pushStatus(): void;
|
||||||
declare function pushStatus(): void;
|
declare function pushStatus(): void;
|
||||||
declare function pushStatus(): void;
|
declare function pushStatus(): void;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
target_add_binary_data( __idf_wifi-manager webapp/dist/css/index.d7aa75121c64674ca146.css.gz BINARY)
|
target_add_binary_data( __idf_wifi-manager webapp/dist/css/index.d7aa75121c64674ca146.css.gz BINARY)
|
||||||
target_add_binary_data( __idf_wifi-manager webapp/dist/favicon-32x32.png BINARY)
|
target_add_binary_data( __idf_wifi-manager webapp/dist/favicon-32x32.png BINARY)
|
||||||
target_add_binary_data( __idf_wifi-manager webapp/dist/index.html.gz BINARY)
|
target_add_binary_data( __idf_wifi-manager webapp/dist/index.html.gz BINARY)
|
||||||
target_add_binary_data( __idf_wifi-manager webapp/dist/js/index.b41b45.bundle.js.gz BINARY)
|
target_add_binary_data( __idf_wifi-manager webapp/dist/js/index.8db7df.bundle.js.gz BINARY)
|
||||||
target_add_binary_data( __idf_wifi-manager webapp/dist/js/node_vendors.b41b45.bundle.js.gz BINARY)
|
target_add_binary_data( __idf_wifi-manager webapp/dist/js/node_vendors.8db7df.bundle.js.gz BINARY)
|
||||||
|
|||||||
@@ -6,29 +6,29 @@ extern const uint8_t _favicon_32x32_png_start[] asm("_binary_favicon_32x32_png_s
|
|||||||
extern const uint8_t _favicon_32x32_png_end[] asm("_binary_favicon_32x32_png_end");
|
extern const uint8_t _favicon_32x32_png_end[] asm("_binary_favicon_32x32_png_end");
|
||||||
extern const uint8_t _index_html_gz_start[] asm("_binary_index_html_gz_start");
|
extern const uint8_t _index_html_gz_start[] asm("_binary_index_html_gz_start");
|
||||||
extern const uint8_t _index_html_gz_end[] asm("_binary_index_html_gz_end");
|
extern const uint8_t _index_html_gz_end[] asm("_binary_index_html_gz_end");
|
||||||
extern const uint8_t _index_b41b45_bundle_js_gz_start[] asm("_binary_index_b41b45_bundle_js_gz_start");
|
extern const uint8_t _index_8db7df_bundle_js_gz_start[] asm("_binary_index_8db7df_bundle_js_gz_start");
|
||||||
extern const uint8_t _index_b41b45_bundle_js_gz_end[] asm("_binary_index_b41b45_bundle_js_gz_end");
|
extern const uint8_t _index_8db7df_bundle_js_gz_end[] asm("_binary_index_8db7df_bundle_js_gz_end");
|
||||||
extern const uint8_t _node_vendors_b41b45_bundle_js_gz_start[] asm("_binary_node_vendors_b41b45_bundle_js_gz_start");
|
extern const uint8_t _node_vendors_8db7df_bundle_js_gz_start[] asm("_binary_node_vendors_8db7df_bundle_js_gz_start");
|
||||||
extern const uint8_t _node_vendors_b41b45_bundle_js_gz_end[] asm("_binary_node_vendors_b41b45_bundle_js_gz_end");
|
extern const uint8_t _node_vendors_8db7df_bundle_js_gz_end[] asm("_binary_node_vendors_8db7df_bundle_js_gz_end");
|
||||||
const char * resource_lookups[] = {
|
const char * resource_lookups[] = {
|
||||||
"/css/index.d7aa75121c64674ca146.css.gz",
|
"/css/index.d7aa75121c64674ca146.css.gz",
|
||||||
"/favicon-32x32.png",
|
"/favicon-32x32.png",
|
||||||
"/index.html.gz",
|
"/index.html.gz",
|
||||||
"/js/index.b41b45.bundle.js.gz",
|
"/js/index.8db7df.bundle.js.gz",
|
||||||
"/js/node_vendors.b41b45.bundle.js.gz",
|
"/js/node_vendors.8db7df.bundle.js.gz",
|
||||||
""
|
""
|
||||||
};
|
};
|
||||||
const uint8_t * resource_map_start[] = {
|
const uint8_t * resource_map_start[] = {
|
||||||
_index_d7aa75121c64674ca146_css_gz_start,
|
_index_d7aa75121c64674ca146_css_gz_start,
|
||||||
_favicon_32x32_png_start,
|
_favicon_32x32_png_start,
|
||||||
_index_html_gz_start,
|
_index_html_gz_start,
|
||||||
_index_b41b45_bundle_js_gz_start,
|
_index_8db7df_bundle_js_gz_start,
|
||||||
_node_vendors_b41b45_bundle_js_gz_start
|
_node_vendors_8db7df_bundle_js_gz_start
|
||||||
};
|
};
|
||||||
const uint8_t * resource_map_end[] = {
|
const uint8_t * resource_map_end[] = {
|
||||||
_index_d7aa75121c64674ca146_css_gz_end,
|
_index_d7aa75121c64674ca146_css_gz_end,
|
||||||
_favicon_32x32_png_end,
|
_favicon_32x32_png_end,
|
||||||
_index_html_gz_end,
|
_index_html_gz_end,
|
||||||
_index_b41b45_bundle_js_gz_end,
|
_index_8db7df_bundle_js_gz_end,
|
||||||
_node_vendors_b41b45_bundle_js_gz_end
|
_node_vendors_8db7df_bundle_js_gz_end
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/***********************************
|
/***********************************
|
||||||
webpack_headers
|
webpack_headers
|
||||||
dist/css/index.d7aa75121c64674ca146.css.gz,dist/favicon-32x32.png,dist/index.html.gz,dist/js/index.b41b45.bundle.js.gz,dist/js/node_vendors.b41b45.bundle.js.gz
|
dist/css/index.d7aa75121c64674ca146.css.gz,dist/favicon-32x32.png,dist/index.html.gz,dist/js/index.8db7df.bundle.js.gz,dist/js/node_vendors.8db7df.bundle.js.gz
|
||||||
***********************************/
|
***********************************/
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|||||||
@@ -101,6 +101,11 @@ parser.add_argument('--cwd', type=str,help='Working directory', default=os.getcw
|
|||||||
parser.add_argument('--loglevel', type=str,choices={'CRITICAL','ERROR','WARNING','INFO','DEBUG','NOTSET'}, help='Logging level', default='INFO')
|
parser.add_argument('--loglevel', type=str,choices={'CRITICAL','ERROR','WARNING','INFO','DEBUG','NOTSET'}, help='Logging level', default='INFO')
|
||||||
subparsers = parser.add_subparsers( dest='command', required=True)
|
subparsers = parser.add_subparsers( dest='command', required=True)
|
||||||
|
|
||||||
|
parser_dir = subparsers.add_parser("list_files",
|
||||||
|
add_help=False,
|
||||||
|
description="List Files parser",
|
||||||
|
help="Display the content of the folder")
|
||||||
|
|
||||||
parser_manifest = subparsers.add_parser("manifest",
|
parser_manifest = subparsers.add_parser("manifest",
|
||||||
add_help=False,
|
add_help=False,
|
||||||
description="Manifest parser",
|
description="Manifest parser",
|
||||||
@@ -549,39 +554,32 @@ def delete_folder(path):
|
|||||||
os.chmod(path ,stat.S_IWRITE)
|
os.chmod(path ,stat.S_IWRITE)
|
||||||
logger.warning(f'Deleting Folder {path}')
|
logger.warning(f'Deleting Folder {path}')
|
||||||
os.rmdir(path)
|
os.rmdir(path)
|
||||||
|
def get_file_stats(path)->tuple[int,str,str]:
|
||||||
|
fstat:os.stat_result = pathlib.Path(path).stat()
|
||||||
|
# Convert file size to MB, KB or Bytes
|
||||||
|
mtime = time.strftime("%X %x", time.gmtime(fstat.st_mtime))
|
||||||
|
if (fstat.st_size > 1024 * 1024):
|
||||||
|
return math.ceil(fstat.st_size / (1024 * 1024)), "MB", mtime
|
||||||
|
elif (fstat.st_size > 1024):
|
||||||
|
return math.ceil(fstat.st_size / 1024), "KB", mtime
|
||||||
|
return fstat.st_size, "B", mtime
|
||||||
|
|
||||||
def get_file_list(path)->list:
|
def get_file_list(root_path, max_levels:int=2 )->list:
|
||||||
outlist:list=[]
|
outlist:list=[]
|
||||||
for root, dirs, files in os.walk(path,topdown=True):
|
for root, dirs, files in os.walk(root_path):
|
||||||
for dir in dirs:
|
path = root.split(os.sep)
|
||||||
outlist.append(f'Content of {os.path.join(root, dir)}')
|
if len(path) <= max_levels:
|
||||||
get_file_list(os.path.join(root, dir))
|
outlist.append(f'\n{root}')
|
||||||
for fname in files:
|
for file in files:
|
||||||
full_name=os.path.join(root, fname)
|
full_name=os.path.join(root, file)
|
||||||
fstat:os.stat_result = pathlib.Path(full_name).stat()
|
fsize,unit,mtime = get_file_stats(full_name)
|
||||||
# Convert file size to MB, KB or Bytes
|
outlist.append('{:s} {:8d} {:2s} {:18s}\t{:s}'.format(len(path) * "---",fsize,unit,mtime,file))
|
||||||
if (fstat.st_size > 1024 * 1024):
|
|
||||||
fsize = math.ceil(fstat.st_size / (1024 * 1024))
|
|
||||||
unit = "MB"
|
|
||||||
elif (fstat.st_size > 1024):
|
|
||||||
fsize = math.ceil(fstat.st_size / 1024)
|
|
||||||
unit = "KB"
|
|
||||||
else:
|
|
||||||
fsize = fstat.st_size
|
|
||||||
unit = "B"
|
|
||||||
|
|
||||||
mtime = time.strftime("%X %x", time.gmtime(fstat.st_mtime))
|
|
||||||
outlist.append('\t{:15.80s}{:8d} {:2s} {:18s}'.format(fname,fsize,unit,mtime))
|
|
||||||
|
|
||||||
if os.path.exists(path):
|
|
||||||
outlist.append(path)
|
|
||||||
outlist.sort()
|
|
||||||
return outlist
|
return outlist
|
||||||
def get_recursive_list(path)->list:
|
def get_recursive_list(path)->list:
|
||||||
outlist:list=[]
|
outlist:list=[]
|
||||||
for root, dirs, files in os.walk(path,topdown=True):
|
for root, dirs, files in os.walk(path,topdown=True):
|
||||||
for dir in dirs:
|
for dir in dirs:
|
||||||
get_file_list(os.path.join(root, dir))
|
outlist.extend(get_recursive_list(os.path.join(root, dir)))
|
||||||
for fname in files:
|
for fname in files:
|
||||||
outlist.append(fname)
|
outlist.append(fname)
|
||||||
# if os.path.exists(path):
|
# if os.path.exists(path):
|
||||||
@@ -709,13 +707,16 @@ def extract_files_from_archive(url):
|
|||||||
z = zipfile.ZipFile(io.BytesIO(platform.content))
|
z = zipfile.ZipFile(io.BytesIO(platform.content))
|
||||||
z.extractall(tempfolder)
|
z.extractall(tempfolder)
|
||||||
return tempfolder
|
return tempfolder
|
||||||
|
def handle_list_files(args):
|
||||||
|
print(f'Content of {args.cwd}:')
|
||||||
|
print('\n'.join(get_file_list(args.cwd)))
|
||||||
parser_environment.set_defaults(func=handle_environment, cmd='environment')
|
parser_environment.set_defaults(func=handle_environment, cmd='environment')
|
||||||
parser_artifacts.set_defaults(func=handle_artifacts, cmd='artifacts')
|
parser_artifacts.set_defaults(func=handle_artifacts, cmd='artifacts')
|
||||||
parser_manifest.set_defaults(func=handle_manifest, cmd='manifest')
|
parser_manifest.set_defaults(func=handle_manifest, cmd='manifest')
|
||||||
parser_pushinstaller.set_defaults(func=handle_pushinstaller, cmd='installer')
|
parser_pushinstaller.set_defaults(func=handle_pushinstaller, cmd='installer')
|
||||||
parser_show.set_defaults(func=handle_show, cmd='show')
|
parser_show.set_defaults(func=handle_show, cmd='show')
|
||||||
parser_build_flags.set_defaults(func=handle_build_flags, cmd='build_flags')
|
parser_build_flags.set_defaults(func=handle_build_flags, cmd='build_flags')
|
||||||
|
parser_dir.set_defaults(func=handle_list_files, cmd='list_files')
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@@ -733,3 +734,4 @@ def main():
|
|||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|
||||||
|
|||||||
BIN
server_certs/DigiCertGlobalRootCA.crt.6
Normal file
BIN
server_certs/DigiCertGlobalRootCA.crt.6
Normal file
Binary file not shown.
BIN
server_certs/DigiCertGlobalRootCA.crt.7
Normal file
BIN
server_certs/DigiCertGlobalRootCA.crt.7
Normal file
Binary file not shown.
BIN
server_certs/DigiCertGlobalRootCA.crt.8
Normal file
BIN
server_certs/DigiCertGlobalRootCA.crt.8
Normal file
Binary file not shown.
BIN
server_certs/rootca1.cer.5
Normal file
BIN
server_certs/rootca1.cer.5
Normal file
Binary file not shown.
BIN
server_certs/rootca1.cer.6
Normal file
BIN
server_certs/rootca1.cer.6
Normal file
Binary file not shown.
BIN
server_certs/rootca1.cer.7
Normal file
BIN
server_certs/rootca1.cer.7
Normal file
Binary file not shown.
Reference in New Issue
Block a user