diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 901081652..519e486b7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -60,7 +60,7 @@ The purpose of `Dockerfile.sdk` is to create an image with the cross toolchain S > ⚠️ The `Dockerfile.sdk` file is needed only if the application framework or runtime only runs machine code. -#### Scripts +### Scripts For some templates, complex and very specific tasks are required. For these cases add a new script in the [scripts](./scripts) folder. @@ -68,7 +68,7 @@ The idea is that the project created from the template should be independent of > ⚠️ Check the [createFromTemplate.ps1](./scripts/createFromTemplate.ps1) script for reference. -#### Substitution tags +### Substitution tags Substitution tags can be used inside files and as folders names to rename stuff needed by the project template. There are two substitution tags used by Torizon IDE Extension: @@ -78,7 +78,7 @@ Substitution tags can be used inside files and as folders names to rename stuff > ⚠️ Check the [createFromTemplate.ps1](./scripts/createFromTemplate.ps1) script for reference. -#### Dot VS Code Folder +### Dot VS Code Folder In the `.vscode` folder the following files are expected: @@ -108,7 +108,7 @@ In the `.vscode` folder the following files are expected: > ℹ️ All these are VS Code related files, check the Microsoft official documentation to know more: [Documentation for Visual Studio Code](https://code.visualstudio.com/docs) -#### Dot Conf Folder +### Dot Conf Folder In the `.conf` folder the following files are expected: @@ -129,7 +129,7 @@ In the `.conf` folder the following files are expected: > ⚠️ The "private" and public keys used on Torizon IDE Extension projects are only for debug purposes! -#### Dot Doc Folder +### Dot Doc Folder In the `.doc` folder is present the documentation specific of each template. @@ -139,6 +139,20 @@ This documentation should give some explanation of how the code is being built a The media (images, videos, GIFs and so on) of the template documentation should be stored on the [toradex/vscode-torizon-templates-documentation](https://github.com/toradex/vscode-torizon-templates-documentation/]) GitHub repository +### Root Folder + +In the `.` (root) folder, there are two files that must be edited when a template is created: + +- [README.md](./README.md): you must add the template to the list of Partner or Community templates. +- [templates.json](./templates.json): you must add a template entry to this file. When a new project is created, the IDE uses this file to list the template for the users. + +## Testing a New Template + +To test a new template, you must instruct the Torizon IDE Extension to use your repository. Export the following environment variables and open VS Code from a terminal: + +- `TEST_TEMPLATES_GIT_REPO`: path to your local repository or Git URL to your remote repository. +- `TEST_TEMPLATES_GIT_REPO_BRANCH`: Git branch where the template to be tested is being developed. The tip of the branch will be fetched. +- `TEST_TEMPLATES_GIT_TAG`: this tag is reserved for the IDE usage. For testing, set the value to be the same as `TEST_TEMPLATES_GIT_REPO_BRANCH`. ## Creating a Pull Request diff --git a/DEPRECATED.md b/DEPRECATED.md index dbaa029dd..512ef86f6 100644 --- a/DEPRECATED.md +++ b/DEPRECATED.md @@ -1,8 +1,10 @@ # Deprecated templates +| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | +| -------- | ----------- | ------- | -------- | ------- | ------ | ----------- | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)   | [dotnetUno](./dotnetUno) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | + Due to the eminent EOL of .NET 6, .NET 6 Uno and .NET 6 Uno FrameBuffer templates are deprecated, being replaced by the [.NET 8 Uno 5](./dotnetUno5) and [.NET 8 Uno 5 FrameBuffer](./dotnetUno5FrameBuffer) templates. Due to the quite big difference between .NET 6 Uno 4 and .NET 8 Uno 5, it is not possible to update the project via `try-update-template` task. To update it, create a new .NET 8 Uno 5 clean project and update the source files accordingly. - -| ![](assets/img/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetUno](./dotnetUno) | -| ![](assets/img/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | diff --git a/README.md b/README.md index 8cb315576..3cd05ba93 100644 --- a/README.md +++ b/README.md @@ -1,68 +1,64 @@ -# VS Code Torizon Templates - -This repository maintains the templates used in conjunction with the [VS Code Torizon Integrated Development Environment Extension](https://developer.toradex.com/torizon/application-development/ide-extension/). Focusing in the VS Code for automation between the development environment for remote debug, remote deploy of containerized applications for Toradex TorizonCore easy-to-use Industrial Linux Software Platform. - -## Toradex Supported Templates - -> ℹ️ **Toradex Supported Templates** are templates with development stacks commonly used by customers of the Torizon platform and are maintained by the Torizon team at Toradex. - -> ⚠️ Support for **x86-64** and **riscv64** architectures are experimental. - -| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | -| ------------------------------------------- | ----------------------------------- | ----------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -| ![](assets/img/cppconsole.png?raw=true) | C++ Makefile Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cppConsole](./cppConsole) | -| ![](assets/img/cmakeconsole.png?raw=true) | C++ CMake Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  | [cmakeConsole](./cmakeConsole) | -| ![](assets/img/qt6qml.png?raw=true) | C++ Qt 6 QML Application | Qt 6 | C++ / QML | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [cppQML](./cppQML) | -| ![](assets/img/dotnetconsole.png?raw=true) | .NET 8 C# Console Application | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetConsole](./dotnetConsole) | -| ![](assets/img/aspnetblazor.png?raw=true) | ASP.NET 8 Blazor Application | ASP.NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [aspnetBlazor](./aspnetBlazor) | -| ![](assets/img/python3console.png?raw=true) | Python 3 Console Application | Python 3 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Console](./python3Console) | -| ![](assets/img/genericTemplate.png?raw=true)| Generic Template (Without Language) | None | None | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [genericTemplate](./genericTemplate) | - - -# Partner Templates - -Partner templates are contributions that come from [Toradex partner network](https://www.toradex.com/support/partner-network) associates: - -| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | -| --------------------------------------- | ---------------------- | --------- | -------- | ------------------------------------------------------------------------------- | ------------------------ | -| ![](assets/img/slint-cpp.png?raw=true) | C++ Slint Application | Slint 1.0 | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [cppSlint](./cppSlint) | -| ![](assets/img/slint-rust.png?raw=true) | Rust Slint Application | Slint 1.0 | Rust | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [rustSlint](./rustSlint) | - - - -# Contributing - -We encourage you to also contribute templates. The community supported templates can also be used in the [VS Code Torizon Integrated Development Environment Extension](https://developer.toradex.com/torizon/application-development/ide-extension/): - -- [Code of Conduct](./CODE_OF_CONDUCT.md) - -- [How to Contribute](./CONTRIBUTING.md) - -## Community Supported Templates - -> ⚠️ **Community Supported Templates** are templates with emerging development stacks or unstable technology stacks and are maintained by the Torizon community. - -| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | -| -------------------------------------------------| --------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |:-------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -| ![](assets/img/rust-console.png?raw=true) | Rust Console Application | libc | Rust | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [rustConsole](./rustConsole) | ![](https://avatars.githubusercontent.com/u/19845403?v=4) [@skkywalker](https://www.github.com/skkywalker) | -| ![](assets/img/jframe.png?raw=true) | Java Swing JFrame Application | JRE | Java | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [javaForms](./javaForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/nodejsts.png?raw=true) | Node.js TypeScript Application | Node.js | TypeScript | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [nodeJSTypeScript](./nodeJSTypeScript) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/electronjs.png?raw=true) | Node.js JavaScript Electron Application | Electron | JavaScript | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [nodeElectron](./nodeElectron) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/monowinforms.png?raw=true) | Mono 4.7 C# Windows Forms Application | .NET 4.7 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [monoCsharpForms](./monoCsharpForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/avaloniafbdrm.png?raw=true) | .NET 8 C# Avalonia Frame Buffer DRM | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetAvaloniaFrameBuffer](./dotnetAvaloniaFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/avaloniagtk.png?raw=true) | .NET 8 C# Avalonia GTK MVVM | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetAvalonia](./dotnetAvalonia) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/gambasform.png?raw=true) | Gambas3 Form Project | Gambas3 | Visual Basic | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [gambasForms](./gambasForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/python3console.png?raw=true) | Python 3 Pyside 2(Qt5) QML | Pyside 2 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Pyside2QML](./python3Pyside2QML) | ![](https://avatars.githubusercontent.com/u/83607022?v=4) [@andreriesco](https://www.github.com/andreriesco) | -| ![](assets/img/cconsole.png?raw=true) | C Makefile Console Application | libc | C | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cConsole](./cConsole) | ![](https://avatars.githubusercontent.com/u/19562097?v=4) [@hiagofranco](https://www.github.com/hiagofranco) | -| ![](assets/img/zig-console.png?raw=true) | Zig Console Application | no-libc | Zig | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [zigConsole](./zigConsole) | ![](https://avatars.githubusercontent.com/u/6756180?v=4) [@kassane](https://www.github.com/kassane) | -| ![](assets/img/unogtk5.png?raw=true) | Java Swing JFrame Application | .NET 8.0 | C# | ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5](./dotnetUno5) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/unofbdrm5.png?raw=true) | Node.js TypeScript Application | .NET 8.0 | C# | ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5FrameBuffer](./dotnetUno5FrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | - - -# List of Deprecated templates - -| ![](assets/img/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetUno](./dotnetUno) | -| ![](assets/img/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | - - -For the reason of deprecation and how to proceed with the update of this template, please check the [DEPRECATED.md file](./DEPRECATED.md). +# VS Code Torizon Templates + +This repository maintains the templates used in conjunction with the [VS Code Torizon Integrated Development Environment Extension](https://developer.toradex.com/torizon/application-development/ide-extension/). Focusing in the VS Code for automation between the development environment for remote debug, remote deploy of containerized applications for Toradex TorizonCore easy-to-use Industrial Linux Software Platform. + +## Toradex Supported Templates + +> ℹ️ **Toradex Supported Templates** are templates with development stacks commonly used by customers of the Torizon platform and are maintained by the Torizon team at Toradex. + +> ⚠️ Support for **x86-64** architectures are experimental. + +| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | +| -------- | ----------- | ------- | -------- | ------- | ------ | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cppconsole.png?raw=true) | C++ Makefile Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  | [cppConsole](./cppConsole) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cmakeconsole.png?raw=true) | C++ CMake Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [cmakeConsole](./cmakeConsole) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/qt6qml.png?raw=true) | C++ Qt 6 QML Application | Qt 6 | C++ / QML | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)   | [cppQML](./cppQML) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/dotnetconsole.png?raw=true) | .NET 8 C# Console Application | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)   | [dotnetConsole](./dotnetConsole) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/aspnetblazor.png?raw=true) | ASP.NET 8 Blazor Application | ASP.NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)   | [aspnetBlazor](./aspnetBlazor) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/python3console.png?raw=true) | Python 3 Console Application | Python 3 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Console](./python3Console) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/genericTemplate.png?raw=true) | Generic Template (Without Language) | None | None | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [genericTemplate](./genericTemplate) | + +# Partner Templates + +Partner templates are contributions that come from [Toradex partner network](https://www.toradex.com/support/partner-network) associates: + +| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | +| -------- | ----------- | ------- | -------- | ------- | ------ | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/slint-cpp.png?raw=true) | C++ Slint Application | Slint 1.0 | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [cppSlint](./cppSlint) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/slint-rust.png?raw=true) | Rust Slint Application | Slint 1.0 | Rust | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [rustSlint](./rustSlint) | + +# Contributing + +We encourage you to also contribute templates. The community supported templates can also be used in the [VS Code Torizon Integrated Development Environment Extension](https://developer.toradex.com/torizon/application-development/ide-extension/): + +* [Code of Conduct](./CODE_OF_CONDUCT.md) +* [How to Contribute](./CONTRIBUTING.md) + +## Community Supported Templates + +> ⚠️ **Community Supported Templates** are templates with emerging development stacks or unstable technology stacks and are maintained by the Torizon community. + +| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | +| -------- | ----------- | ------- | -------- | ------- | ------ | ----------- | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/rust-console.png?raw=true) | Rust Console Application | libc | Rust | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [rustConsole](./rustConsole) | ![](https://avatars.githubusercontent.com/u/19845403?v=4&s=64) [@skkywalker](https://www.github.com/skkywalker) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/jframe.png?raw=true) | Java Swing JFrame Application | JRE | Java | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [javaForms](./javaForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/nodejsts.png?raw=true) | Node.js TypeScript Application | Node.js | TypeScript | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [nodeJSTypeScript](./nodeJSTypeScript) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/electronjs.png?raw=true) | Node.js JavaScript Electron Application | Electron | JavaScript | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [nodeElectron](./nodeElectron) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/monowinforms.png?raw=true) | Mono 4.7 C# Windows Forms Application | .NET 4.7 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [monoCsharpForms](./monoCsharpForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/avaloniafbdrm.png?raw=true) | .NET 8 C# Avalonia Frame Buffer DRM | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetAvaloniaFrameBuffer](./dotnetAvaloniaFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/avaloniagtk.png?raw=true) | .NET 8 C# Avalonia GTK MVVM | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetAvalonia](./dotnetAvalonia) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/gambasform.png?raw=true) | Gambas3 Form Project | Gambas3 | Visual Basic | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [gambasForms](./gambasForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/python3console.png?raw=true) | Python 3 Pyside 2(Qt5) QML | Pyside 2 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Pyside2QML](./python3Pyside2QML) | ![](https://github.com/toradex/vscode-torizon-templates-documentation/blob/main/thumbnails/none.png?raw=true) [@andreriesco](https://www.github.com/andreriesco) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cconsole.png?raw=true) | C Makefile Console Application | libc | C | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  | [cConsole](./cConsole) | ![](https://avatars.githubusercontent.com/u/19562097?v=4&s=64) [@hiagofranco](https://www.github.com/hiagofranco) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/zig-console.png?raw=true) | Zig Console Application | no-libc | Zig | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [zigConsole](./zigConsole) | ![](https://avatars.githubusercontent.com/u/6756180?v=4&s=64) [@kassane](https://www.github.com/kassane) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk5.png?raw=true) | .NET 8 C# Uno 5 Platform Skia.GTK | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5](./dotnetUno5) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm5.png?raw=true) | .NET 8 C# Uno 5 Platform Frame Buffer | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5FrameBuffer](./dotnetUno5FrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | + +# List of Deprecated templates + +| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | +| -------- | ----------- | ------- | -------- | ------- | ------ | ----------- | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)   | [dotnetUno](./dotnetUno) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | + +For the reason of deprecation and how to proceed with the update of this template, please check the [DEPRECATED.md](./DEPRECATED.md) file. diff --git a/aspnetBlazor/.conf/update.json b/aspnetBlazor/.conf/update.json index 6afbb01bc..2f85cd287 100644 --- a/aspnetBlazor/.conf/update.json +++ b/aspnetBlazor/.conf/update.json @@ -130,5 +130,9 @@ { "source": "Data/WeatherForecastService.cs", "target": "Data/WeatherForecastService.cs" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/aspnetBlazor/.vscode/launch.json b/aspnetBlazor/.vscode/launch.json index 7b4390727..81d016a57 100644 --- a/aspnetBlazor/.vscode/launch.json +++ b/aspnetBlazor/.vscode/launch.json @@ -26,33 +26,6 @@ "/Views": "${workspaceFolder}/Views" } }, - { - "name": "Torizon AMD64", - "type": "coreclr", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "cwd": "${config:torizon_app_root}", - "stopAtEntry": false, - "console": "internalConsole", - "args": [], - "pipeTransport": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ], - "debuggerPath": "/vsdbg/vsdbg" - }, - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv7", "type": "coreclr", @@ -133,33 +106,6 @@ "debuggerPath": "/vsdbg/vsdbg" }, "preLaunchTask": "deploy-torizon-browser-arm64" - }, - { - "name": "Torizon Browser AMD64", - "type": "coreclr", - "request": "launch", - "program": "${config:torizon_app_root}/blazorzin", - "cwd": "${config:torizon_app_root}", - "stopAtEntry": false, - "console": "internalConsole", - "args": [], - "pipeTransport": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ], - "debuggerPath": "/vsdbg/vsdbg" - }, - "preLaunchTask": "deploy-torizon-browser-amd64" } ] } diff --git a/aspnetBlazor/.vscode/settings.json b/aspnetBlazor/.vscode/settings.json index 7cdd152be..f3c49fc38 100644 --- a/aspnetBlazor/.vscode/settings.json +++ b/aspnetBlazor/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/aspnetBlazor/.vscode/tasks.json b/aspnetBlazor/.vscode/tasks.json index dc1f4cf8c..6007ffcaf 100644 --- a/aspnetBlazor/.vscode/tasks.json +++ b/aspnetBlazor/.vscode/tasks.json @@ -103,32 +103,6 @@ "group": "build-execution" } }, - { - "label": "clean-debug-amd64", - "detail": "dotnet clean command for cleaning the application build for the amd64 target", - "command": "dotnet", - "type": "process", - "args": [ - "clean", - "${workspaceFolder}/__change__.csproj", - "-c", - "Debug", - "-r", - "linux-x64" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "watch-local", "detail": "dotnet watch command, watch the changes on the application, compile it and reload automatically", @@ -155,7 +129,7 @@ }, { "label": "publish-debug-arm", - "detail": "dotnet build command for debugging the application on an armhf target", + "detail": "dotnet publish command for debugging the application on an armhf target", "command": "dotnet", "type": "process", "args": [ @@ -222,106 +196,9 @@ "group": "build-execution" } }, - { - "label": "publish-debug-amd64", - "detail": "dotnet build command for debugging the application on an amd64 target", - "command": "dotnet", - "type": "process", - "args": [ - "publish", - "${workspaceFolder}/__change__.csproj", - "/property:GenerateFullPaths=true", - "/consoleloggerparameters:NoSummary", - "-c", - "Debug", - "-r", - "linux-amd64", - "--no-self-contained" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "fixup-donet-arch-amd64", - "detail": "", - "hide": true, - "command": "rm", - "type": "shell", - "args": [ - "-rf", - "${workspaceFolder}/bin/Debug/net8.0/linux-amd64", - "&&", - "mv", - "bin/Debug/net8.0/linux-x64", - "bin/Debug/net8.0/linux-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "gear", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/bin/Debug/net8.0/linux-amd64/publish/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "publish-debug-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "publish-debug-arm64", - "detail": "dotnet build command for debugging the application on an arm64 target", + "detail": "dotnet publish command for debugging the application on an arm64 target", "command": "dotnet", "type": "process", "args": [ @@ -385,41 +262,6 @@ "group": "build-execution" } }, - { - "label": "run-container-cog-torizon-debug-amd64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=${config:torizon_ip}:2375", - "type": "shell", - "args": [ - "LOCAL_REGISTRY=${config:host_ip}", - "TAG=amd64", - "GPU=${config:torizon_gpu}", - "docker", - "compose", - "-p", - "torizon", - "up", - "-d", - "blazorzin-browser-debug" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "wait-a-bit" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "deploy-torizon-arm64", "detail": "", @@ -497,46 +339,6 @@ "panel": "shared", "group": "build-execution" } - }, - { - "label": "deploy-torizon-browser-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/bin/Debug/net8.0/linux-amd64/publish/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "publish-debug-amd64", - "fixup-donet-arch-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-cog-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } } ], "inputs": [] diff --git a/aspnetBlazor/Dockerfile b/aspnetBlazor/Dockerfile index 6835a8402..418571d50 100644 --- a/aspnetBlazor/Dockerfile +++ b/aspnetBlazor/Dockerfile @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3-8.0 +ARG BASE_VERSION=3.4-8.0.8 ## # Directory of the application inside container @@ -28,14 +28,25 @@ WORKDIR ${APP_ROOT} # build RUN dotnet restore __change__.csproj && \ -dotnet publish __change__.csproj -c Release -r linux-${IMAGE_ARCH} --no-self-contained + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi + # BUILD ------------------------------------------------------------------------ # DEPLOY ----------------------------------------------------------------------- FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/aspdotnet:${BASE_VERSION} AS deploy + torizon/aspdotnet:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG APP_ROOT diff --git a/aspnetBlazor/Dockerfile.debug b/aspnetBlazor/Dockerfile.debug index 00afe4968..25e9fe02e 100644 --- a/aspnetBlazor/Dockerfile.debug +++ b/aspnetBlazor/Dockerfile.debug @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3-8.0 +ARG BASE_VERSION=3.4-8.0.8 ## # Directory of the application inside container @@ -28,7 +28,7 @@ ARG SSHUSERNAME= # Deploy Step .NET ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/aspdotnet-debug:${BASE_VERSION} AS debug + torizon/aspdotnet-debug:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG APP_ROOT diff --git a/aspnetBlazor/docker-compose.yml b/aspnetBlazor/docker-compose.yml index 4f0e3b5ea..dda8c7aee 100644 --- a/aspnetBlazor/docker-compose.yml +++ b/aspnetBlazor/docker-compose.yml @@ -39,7 +39,7 @@ services: - cog cog: - image: commontorizon/cog${GPU}:3.3.1 + image: torizon/cog${GPU}:3.4.0 command: http://localhost:7001 -w environment: - ACCEPT_FSL_EULA=1 @@ -70,7 +70,7 @@ services: - weston weston: - image: commontorizon/weston${GPU}:3.3.2 + image: torizon/weston${GPU}:3.5.0 environment: - ACCEPT_FSL_EULA=1 # Required to get udev events from host udevd via netlink diff --git a/assets/github/workflows/build-application.yaml b/assets/github/workflows/build-application.yaml index cc49179e5..e523da606 100644 --- a/assets/github/workflows/build-application.yaml +++ b/assets/github/workflows/build-application.yaml @@ -49,7 +49,7 @@ jobs: PLATFORM_CLIENT_ID: ${{ secrets.PLATFORM_CLIENT_ID }} PLATFORM_CLIENT_SECRET: ${{ secrets.PLATFORM_CLIENT_SECRET }} run: | - ./vscode/tasks.ps1 run docker-login + ./.vscode/tasks.ps1 run docker-login ./.vscode/tasks.ps1 run run-torizon-binfmt ./.vscode/tasks.ps1 run tcb-platform-publish diff --git a/assets/tasks/common.json b/assets/tasks/common.json index a492d3a7d..1de3e5c5f 100644 --- a/assets/tasks/common.json +++ b/assets/tasks/common.json @@ -363,7 +363,7 @@ "-ContainerRuntime", "docker", "-RunArguments", - "\"--rm --privileged commontorizon/binfmt:9.0.2\"", + "\"--rm --privileged torizon/binfmt:latest\"", "-ContainerName", "binfmt" ], @@ -542,30 +542,6 @@ "group": "build-execution" } }, - { - "label": "apply-torizon-packages-riscv64", - "detail": "", - "hide": true, - "command": "pwsh", - "type": "process", - "args": [ - "-nop", - "${workspaceFolder}/.conf/torizonPackages.ps1", - "riscv" - ], - "dependsOrder": "sequence", - "icon": { - "id": "gear", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "copy-docker-compose", "detail": "", @@ -754,30 +730,6 @@ "group": "build-execution" } }, - { - "label": "validate-arch-riscv64", - "detail": "", - "hide": true, - "command": "bash", - "type": "process", - "args": [ - "-c", - "[[ \"${config:torizon_arch}\" == \"riscv64\" ]] && true || false" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "gear", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "containers-cleanup", "detail": "Docker compose down on the target (default device)", @@ -960,7 +912,9 @@ "--build-arg", "APP_ROOT=${config:torizon_app_root}", "--build-arg", - "IMAGE_ARCH=arm", + "IMAGE_ARCH=armhf", + "--build-arg", + "CROSS_SDK_BASE_TAG=3.5.0", "--build-arg", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "--build-arg", @@ -1035,57 +989,6 @@ "group": "build-execution" } }, - { - "label": "build-container-torizon-debug-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "options": { - "env": { - "LOCAL_REGISTRY": "localhost", - "TAG": "riscv64", - "GPU": "${config:torizon_gpu}", - "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", - "DEBUG_PORT1": "${config:torizon_debug_port1}", - "DEBUG_PORT2": "${config:torizon_debug_port2}", - "DEBUG_PORT3": "${config:torizon_debug_port3}" - } - }, - "args": [ - "docker", - "compose", - "build", - "--pull", - "--build-arg", - "SSHUSERNAME=${config:torizon_run_as}", - "--build-arg", - "APP_ROOT=${config:torizon_app_root}", - "--build-arg", - "IMAGE_ARCH=riscv64", - "--build-arg", - "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", - "--build-arg", - "GPU=${config:torizon_gpu}", - "__container__-debug" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "apply-torizon-packages-riscv64" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-container-image-sdk-arm64", "detail": "", @@ -1143,7 +1046,9 @@ "-t", "cross-toolchain-arm-__container__", "--build-arg", - "IMAGE_ARCH=arm", + "IMAGE_ARCH=armhf", + "--build-arg", + "CROSS_SDK_BASE_TAG=3.5.0", "--build-arg", "GPU=${config:torizon_gpu}", "--build-arg", @@ -1209,47 +1114,6 @@ "group": "build-execution" } }, - { - "label": "build-container-image-sdk-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "build", - "--pull", - "-f", - "${workspaceFolder}/Dockerfile.sdk", - "${workspaceFolder}", - "-t", - "cross-toolchain-riscv64-__container__", - "--build-arg", - "IMAGE_ARCH=riscv64", - "--build-arg", - "GPU=${config:torizon_gpu}", - "--build-arg", - "APP_ROOT=${config:torizon_app_root}" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "apply-torizon-packages-riscv64" - ], - "problemMatcher": [ - "$gcc" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "push-container-torizon-debug-arm", "detail": "", @@ -1361,43 +1225,6 @@ "group": "build-execution" } }, - { - "label": "push-container-torizon-debug-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "options": { - "env": { - "LOCAL_REGISTRY": "localhost", - "TAG": "riscv64", - "GPU": "${config:torizon_gpu}", - "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", - "DEBUG_PORT1": "${config:torizon_debug_port1}", - "DEBUG_PORT2": "${config:torizon_debug_port2}", - "DEBUG_PORT3": "${config:torizon_debug_port3}" - } - }, - "args": [ - "docker", - "compose", - "push", - "__container__-debug" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "repo-push", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "pull-container-torizon-debug-arm64", "detail": "", @@ -1506,42 +1333,6 @@ "group": "build-execution" } }, - { - "label": "pull-container-torizon-debug-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=${config:torizon_ip}:2375", - "type": "shell", - "args": [ - "LOCAL_REGISTRY=${config:host_ip}", - "TAG=riscv64", - "GPU=${config:torizon_gpu}", - "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", - "DEBUG_PORT1=${config:torizon_debug_port1}", - "DEBUG_PORT2=${config:torizon_debug_port2}", - "DEBUG_PORT3=${config:torizon_debug_port3}", - "docker", - "compose", - "pull", - "__container__-debug" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "wait-a-bit" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "repo-pull", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "run-container-torizon-debug-arm64", "detail": "", @@ -1659,45 +1450,6 @@ "group": "build-execution" } }, - { - "label": "run-container-torizon-debug-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=${config:torizon_ip}:2375", - "type": "shell", - "args": [ - "LOCAL_REGISTRY=${config:host_ip}", - "TAG=riscv64", - "GPU=${config:torizon_gpu}", - "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", - "DEBUG_PORT1=${config:torizon_debug_port1}", - "DEBUG_PORT2=${config:torizon_debug_port2}", - "DEBUG_PORT3=${config:torizon_debug_port3}", - "docker", - "compose", - "-p", - "torizon", - "up", - "-d", - "__container__-debug" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "wait-a-bit" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-container-torizon-release-arm64", "detail": "", @@ -1707,8 +1459,9 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "arm64", + "TAG": "${config:docker_tag}", "GPU": "${config:torizon_gpu}", + "APP_ROOT": "${config:torizon_app_root}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1756,8 +1509,9 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "arm", + "TAG": "${config:docker_tag}", "GPU": "${config:torizon_gpu}", + "APP_ROOT": "${config:torizon_app_root}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1774,7 +1528,9 @@ "--build-arg", "APP_ROOT=${config:torizon_app_root}", "--build-arg", - "IMAGE_ARCH=arm", + "IMAGE_ARCH=armhf", + "--build-arg", + "CROSS_SDK_BASE_TAG=3.5.0", "--build-arg", "GPU=${config:torizon_gpu}", "__container__" @@ -1805,8 +1561,9 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "amd64", + "TAG": "${config:docker_tag}", "GPU": "${config:torizon_gpu}", + "APP_ROOT": "${config:torizon_app_root}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1845,55 +1602,6 @@ "group": "build-execution" } }, - { - "label": "build-container-torizon-release-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "options": { - "env": { - "DOCKER_LOGIN": "localhost:5002", - "TAG": "riscv64", - "GPU": "${config:torizon_gpu}", - "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", - "DEBUG_PORT1": "${config:torizon_debug_port1}", - "DEBUG_PORT2": "${config:torizon_debug_port2}", - "DEBUG_PORT3": "${config:torizon_debug_port3}" - } - }, - "args": [ - "docker", - "compose", - "build", - "--pull", - "--build-arg", - "SSHUSERNAME=${config:torizon_run_as}", - "--build-arg", - "APP_ROOT=${config:torizon_app_root}", - "--build-arg", - "IMAGE_ARCH=riscv64", - "--build-arg", - "GPU=${config:torizon_gpu}", - "__container__" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "apply-torizon-packages-riscv64" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "push-container-torizon-release-arm64", "detail": "", @@ -1903,7 +1611,7 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "arm64", + "TAG": "${config:docker_tag}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1942,7 +1650,7 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "arm", + "TAG": "${config:docker_tag}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1981,7 +1689,7 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "amd64", + "TAG": "${config:docker_tag}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -2011,45 +1719,6 @@ "group": "build-execution" } }, - { - "label": "push-container-torizon-release-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "options": { - "env": { - "DOCKER_LOGIN": "localhost:5002", - "TAG": "riscv64", - "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", - "DEBUG_PORT1": "${config:torizon_debug_port1}", - "DEBUG_PORT2": "${config:torizon_debug_port2}", - "DEBUG_PORT3": "${config:torizon_debug_port3}" - } - }, - "args": [ - "docker", - "compose", - "push", - "__container__" - ], - "dependsOn": [ - "build-container-torizon-release-riscv64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "repo-push", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "pull-container-torizon-release-arm64", "detail": "", @@ -2059,7 +1728,7 @@ "args": [ "LOCAL_REGISTRY=${config:host_ip}", "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=arm64", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -2096,7 +1765,7 @@ "args": [ "LOCAL_REGISTRY=${config:host_ip}", "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=arm", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -2133,7 +1802,7 @@ "args": [ "LOCAL_REGISTRY=${config:host_ip}", "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=amd64", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -2161,43 +1830,6 @@ "group": "build-execution" } }, - { - "label": "pull-container-torizon-release-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=${config:torizon_ip}:2375", - "type": "shell", - "args": [ - "LOCAL_REGISTRY=${config:host_ip}", - "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=riscv64", - "GPU=${config:torizon_gpu}", - "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", - "DEBUG_PORT1=${config:torizon_debug_port1}", - "DEBUG_PORT2=${config:torizon_debug_port2}", - "DEBUG_PORT3=${config:torizon_debug_port3}", - "docker", - "compose", - "pull", - "__container__" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "push-container-torizon-release-riscv64" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "repo-pull", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "run-container-torizon-release-arm64", "detail": "This task will build the application based in the production Dockerfile, push it to the local registry (localhost:5002), pull it on the board and run it on the board, showing the result in the VSCode terminal", @@ -2205,7 +1837,7 @@ "type": "shell", "args": [ "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=arm64", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -2249,7 +1881,7 @@ "type": "shell", "args": [ "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=arm", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -2293,7 +1925,7 @@ "type": "shell", "args": [ "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=amd64", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -2330,50 +1962,6 @@ "group": "build-execution" } }, - { - "label": "run-container-torizon-release-riscv64", - "detail": "This task will build the application based in the production Dockerfile, push it to the local registry (localhost:5002), pull it on the board and run it on the board, showing the result in the VSCode terminal", - "command": "DOCKER_HOST=${config:torizon_ip}:2375", - "type": "shell", - "args": [ - "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=riscv64", - "GPU=${config:torizon_gpu}", - "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", - "DEBUG_PORT1=${config:torizon_debug_port1}", - "DEBUG_PORT2=${config:torizon_debug_port2}", - "DEBUG_PORT3=${config:torizon_debug_port3}", - "docker", - "compose", - "-p", - "torizon", - "up", - "__container__" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "validate-settings", - "validate-arch-riscv64", - "copy-docker-compose", - "pre-cleanup", - "build-container-torizon-release-riscv64", - "push-container-torizon-release-riscv64", - "pull-container-torizon-release-riscv64", - "wait-a-bit" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "run", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "show-project-documentation", "detail": "This task will open the project specific documentation\nin a new tab.", diff --git a/assets/tasks/inputs.json b/assets/tasks/inputs.json index e6d3ca1e0..dd0530652 100644 --- a/assets/tasks/inputs.json +++ b/assets/tasks/inputs.json @@ -33,8 +33,7 @@ "options": [ "arm", "arm64", - "amd64", - "riscv64" + "amd64" ] } ] diff --git a/cConsole/.vscode/launch.json b/cConsole/.vscode/launch.json index e1f2797c1..99736a9a6 100644 --- a/cConsole/.vscode/launch.json +++ b/cConsole/.vscode/launch.json @@ -27,50 +27,6 @@ ], "preLaunchTask": "build-debug-local" }, - { - "name": "Torizon riscv64", - "type": "cppdbg", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "args": [], - "stopAtEntry": false, - "cwd": "${config:torizon_app_root}", - "environment": [], - "externalConsole": false, - "internalConsoleOptions": "openOnSessionStart", - "sourceFileMap": { - "${config:torizon_app_root}": "${workspaceFolder}" - }, - "pipeTransport": { - "debuggerPath": "/usr/bin/gdb", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ] - }, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "deploy-torizon-riscv64" - }, { "name": "Torizon AMD64", "type": "cppdbg", diff --git a/cConsole/.vscode/settings.json b/cConsole/.vscode/settings.json index 721ea5a45..5a93338e9 100644 --- a/cConsole/.vscode/settings.json +++ b/cConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/cConsole/.vscode/tasks.json b/cConsole/.vscode/tasks.json index f6267d002..1c0fa0076 100644 --- a/cConsole/.vscode/tasks.json +++ b/cConsole/.vscode/tasks.json @@ -106,33 +106,6 @@ "group": "build-execution" } }, - { - "label": "build-makedir-riscv64", - "hide": true, - "command": "make", - "type": "shell", - "args": [ - "ARCH=riscv64", - "makedir" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOn": [ - "build-container-image-sdk-riscv64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-debug-local", "detail": "Build a debug version of the application for amd64 using\nthe toolchain installed in the host.", @@ -389,82 +362,6 @@ "group": "build-execution" } }, - { - "label": "build-debug-riscv64", - "detail": "Build a debug version of the application for riscv64 using\nthe toolchain from the SDK container.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-riscv64-__container__", - "make", - "ARCH=riscv64", - "CC=riscv64-linux-gnu-gcc", - "debug" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-makedir-riscv64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-riscv64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/build-riscv64/debug/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-riscv64", - "copy-docker-compose", - "pre-cleanup", - "build-debug-riscv64", - "build-container-torizon-debug-riscv64", - "push-container-torizon-debug-riscv64", - "pull-container-torizon-debug-riscv64", - "run-container-torizon-debug-riscv64", - "pos-cleanup" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "clean-local", "detail": "Clean the local application build directory. `make clean`", @@ -570,33 +467,6 @@ "group": "build-execution" } }, - { - "label": "clean-riscv64", - "detail": "Clean the riscv64 application build directory. `make clean`", - "command": "make", - "type": "shell", - "args": [ - "clean", - "ARCH=riscv64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - ], - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, ], "inputs": [] } diff --git a/cConsole/Dockerfile b/cConsole/Dockerfile index 33a384a01..050ee44b1 100644 --- a/cConsole/Dockerfile +++ b/cConsole/Dockerfile @@ -40,7 +40,7 @@ RUN rm -rf ${APP_ROOT}/build-${IMAGE_ARCH} # Compile the application RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ make ARCH=${IMAGE_ARCH} CC=aarch64-linux-gnu-gcc ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ make ARCH=${IMAGE_ARCH} CC=arm-linux-gnueabihf-gcc ; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ make ARCH=${IMAGE_ARCH} CC=x86_64-linux-gnu-gcc ; \ diff --git a/cmakeConsole/.vscode/launch.json b/cmakeConsole/.vscode/launch.json index 47e20a1ae..233717af5 100644 --- a/cmakeConsole/.vscode/launch.json +++ b/cmakeConsole/.vscode/launch.json @@ -26,50 +26,6 @@ ], "preLaunchTask": "build-debug-local" }, - { - "name": "Torizon AMD64", - "type": "cppdbg", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "args": [], - "stopAtEntry": false, - "cwd": "${config:torizon_app_root}", - "environment": [], - "externalConsole": false, - "internalConsoleOptions": "openOnSessionStart", - "sourceFileMap": { - "${config:torizon_app_root}": "${workspaceFolder}" - }, - "pipeTransport": { - "debuggerPath": "/usr/bin/gdb", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ] - }, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv7", "type": "cppdbg", diff --git a/cmakeConsole/.vscode/settings.json b/cmakeConsole/.vscode/settings.json index 721ea5a45..5a93338e9 100644 --- a/cmakeConsole/.vscode/settings.json +++ b/cmakeConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/cmakeConsole/.vscode/tasks.json b/cmakeConsole/.vscode/tasks.json index e6606d45d..fcf1d6a8b 100644 --- a/cmakeConsole/.vscode/tasks.json +++ b/cmakeConsole/.vscode/tasks.json @@ -374,155 +374,7 @@ "panel": "shared", "group": "build-execution" } - }, - { - "label": "build-configure-amd64", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "-DCMAKE_BUILD_TYPE=Debug", - "-DCMAKE_CXX_COMPILER=x86_64-linux-gnu-g++", - "-DCMAKE_C_COMPILER=x86_64-linux-gnu-gcc", - "-Bbuild-amd64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-container-image-sdk-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "build-debug-amd64", - "detail": "Build a debug version of the application for amd64 using\nthe toolchain from the SDK container.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "--build", - "build-amd64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-configure-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/build-amd64/bin/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "build-debug-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "clean-amd64", - "detail": "Clean the build folder for amd64 using the\ncontainer SDK toolchain.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "--build", - "build-amd64", - "--target", - "clean" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-container-image-sdk-arm64" - ], - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, + } ], "inputs": [] } diff --git a/cmakeConsole/Dockerfile b/cmakeConsole/Dockerfile index 383ed3495..dd0eea333 100644 --- a/cmakeConsole/Dockerfile +++ b/cmakeConsole/Dockerfile @@ -1,5 +1,5 @@ -ARG CROSS_SDK_BASE_TAG=3.3.1 -ARG BASE_VERSION=3.3.1-bookworm +ARG CROSS_SDK_BASE_TAG=3.2.0 +ARG BASE_VERSION=3.5.0 ## # Board architecture ## @@ -12,7 +12,7 @@ ARG APP_ROOT= # BUILD ------------------------------------------------------------------------ -FROM commontorizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} AS build +FROM torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} AS build ARG APP_ROOT ARG IMAGE_ARCH @@ -39,7 +39,7 @@ RUN rm -rf ${APP_ROOT}/build-${IMAGE_ARCH} RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -Bbuild-${IMAGE_ARCH} ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ -DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc -Bbuild-${IMAGE_ARCH} ; \ fi @@ -51,7 +51,7 @@ RUN cmake --build build-${IMAGE_ARCH} ## # Deploy Step ## -FROM --platform=linux/${IMAGE_ARCH} commontorizon/debian:${BASE_VERSION} AS deploy +FROM --platform=linux/${IMAGE_ARCH} torizon/debian:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG APP_ROOT diff --git a/cmakeConsole/Dockerfile.debug b/cmakeConsole/Dockerfile.debug index c0e2a76e1..e94ed7ed4 100644 --- a/cmakeConsole/Dockerfile.debug +++ b/cmakeConsole/Dockerfile.debug @@ -9,7 +9,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1-bookworm +ARG BASE_VERSION=3.5.0 ## # Debug port @@ -31,7 +31,7 @@ ARG APP_ROOT= # Deploy Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/debian:${BASE_VERSION} AS debug + torizon/debian:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG DEBUG_SSH_PORT diff --git a/cmakeConsole/Dockerfile.sdk b/cmakeConsole/Dockerfile.sdk index fe85dfc67..18aecab14 100644 --- a/cmakeConsole/Dockerfile.sdk +++ b/cmakeConsole/Dockerfile.sdk @@ -1,5 +1,5 @@ # ARGUMENTS -------------------------------------------------------------------- -ARG CROSS_SDK_BASE_TAG=3.3.1 +ARG CROSS_SDK_BASE_TAG=3.2.0 ## # Board architecture @@ -13,7 +13,7 @@ ARG APP_ROOT= # BUILD ------------------------------------------------------------------------ -FROM commontorizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} +FROM torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} ARG APP_ROOT ARG IMAGE_ARCH diff --git a/cppConsole/.vscode/launch.json b/cppConsole/.vscode/launch.json index 4f2628d96..a355dda89 100644 --- a/cppConsole/.vscode/launch.json +++ b/cppConsole/.vscode/launch.json @@ -26,94 +26,6 @@ ], "preLaunchTask": "build-debug-local" }, - { - "name": "Torizon riscv64", - "type": "cppdbg", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "args": [], - "stopAtEntry": false, - "cwd": "${config:torizon_app_root}", - "environment": [], - "externalConsole": false, - "internalConsoleOptions": "openOnSessionStart", - "sourceFileMap": { - "${config:torizon_app_root}": "${workspaceFolder}" - }, - "pipeTransport": { - "debuggerPath": "/usr/bin/gdb", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ] - }, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "deploy-torizon-riscv64" - }, - { - "name": "Torizon AMD64", - "type": "cppdbg", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "args": [], - "stopAtEntry": false, - "cwd": "${config:torizon_app_root}", - "environment": [], - "externalConsole": false, - "internalConsoleOptions": "openOnSessionStart", - "sourceFileMap": { - "${config:torizon_app_root}": "${workspaceFolder}" - }, - "pipeTransport": { - "debuggerPath": "/usr/bin/gdb", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ] - }, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv7", "type": "cppdbg", diff --git a/cppConsole/.vscode/settings.json b/cppConsole/.vscode/settings.json index 721ea5a45..5a93338e9 100644 --- a/cppConsole/.vscode/settings.json +++ b/cppConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/cppConsole/.vscode/tasks.json b/cppConsole/.vscode/tasks.json index 653a19a16..83cd53d55 100644 --- a/cppConsole/.vscode/tasks.json +++ b/cppConsole/.vscode/tasks.json @@ -25,33 +25,6 @@ "group": "build-execution" } }, - { - "label": "build-makedir-amd64", - "hide": true, - "command": "make", - "type": "shell", - "args": [ - "ARCH=amd64", - "makedir" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOn": [ - "build-container-image-sdk-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-makedir-arm", "hide": true, @@ -106,33 +79,6 @@ "group": "build-execution" } }, - { - "label": "build-makedir-riscv64", - "hide": true, - "command": "make", - "type": "shell", - "args": [ - "ARCH=riscv64", - "makedir" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOn": [ - "build-container-image-sdk-riscv64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-debug-local", "detail": "Build a debug version of the application for amd64 using\nthe toolchain installed in the host.", @@ -312,158 +258,6 @@ "group": "build-execution" } }, - { - "label": "build-debug-amd64", - "detail": "Build a debug version of the application for amd64 using\nthe toolchain from the SDK container.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "make", - "ARCH=amd64", - "CC=x86_64-linux-gnu-g++", - "debug" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-makedir-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/build-amd64/debug/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "build-debug-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64", - "pos-cleanup" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "build-debug-riscv64", - "detail": "Build a debug version of the application for riscv64 using\nthe toolchain from the SDK container.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-riscv64-__container__", - "make", - "ARCH=riscv64", - "CC=riscv64-linux-gnu-g++", - "debug" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-makedir-riscv64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-riscv64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/build-riscv64/debug/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-riscv64", - "copy-docker-compose", - "pre-cleanup", - "build-debug-riscv64", - "build-container-torizon-debug-riscv64", - "push-container-torizon-debug-riscv64", - "pull-container-torizon-debug-riscv64", - "run-container-torizon-debug-riscv64", - "pos-cleanup" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "clean-local", "detail": "Clean the local application build directory. `make clean`", @@ -541,61 +335,7 @@ "panel": "shared", "group": "build-execution" } - }, - { - "label": "clean-amd64", - "detail": "Clean the amd64 application build directory. `make clean`", - "command": "make", - "type": "shell", - "args": [ - "clean", - "ARCH=amd64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - ], - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "clean-riscv64", - "detail": "Clean the riscv64 application build directory. `make clean`", - "command": "make", - "type": "shell", - "args": [ - "clean", - "ARCH=riscv64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - ], - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, + } ], "inputs": [] } diff --git a/cppConsole/Dockerfile b/cppConsole/Dockerfile index c7d126160..4f6fc6ae4 100644 --- a/cppConsole/Dockerfile +++ b/cppConsole/Dockerfile @@ -1,5 +1,5 @@ -ARG CROSS_SDK_BASE_TAG=3.3.1 -ARG BASE_VERSION=3.3.1-bookworm +ARG CROSS_SDK_BASE_TAG=3.2.0 +ARG BASE_VERSION=3.5.0 ## # Board architecture ## @@ -12,7 +12,7 @@ ARG APP_ROOT= # BUILD ------------------------------------------------------------------------ -FROM commontorizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} AS build +FROM torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} AS build ARG APP_ROOT ARG IMAGE_ARCH @@ -39,7 +39,7 @@ RUN rm -rf ${APP_ROOT}/build-${IMAGE_ARCH} # Compile the application RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ make ARCH=${IMAGE_ARCH} CC=aarch64-linux-gnu-g++ ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ make ARCH=${IMAGE_ARCH} CC=arm-linux-gnueabihf-g++ ; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ make ARCH=${IMAGE_ARCH} CC=x86_64-linux-gnu-g++ ; \ @@ -49,7 +49,7 @@ RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ # DEPLOY ----------------------------------------------------------------------- -FROM --platform=linux/${IMAGE_ARCH} commontorizon/debian:${BASE_VERSION} AS deploy +FROM --platform=linux/${IMAGE_ARCH} torizon/debian:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG APP_ROOT diff --git a/cppConsole/Dockerfile.debug b/cppConsole/Dockerfile.debug index 2d55ebf25..57d055663 100644 --- a/cppConsole/Dockerfile.debug +++ b/cppConsole/Dockerfile.debug @@ -9,7 +9,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1-bookworm +ARG BASE_VERSION=3.5.0 ## # Debug port @@ -32,7 +32,7 @@ ARG APP_ROOT= # Deploy Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/debian:${BASE_VERSION} AS debug + torizon/debian:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG DEBUG_SSH_PORT diff --git a/cppConsole/Dockerfile.sdk b/cppConsole/Dockerfile.sdk index a77d7a4c2..4671f398b 100644 --- a/cppConsole/Dockerfile.sdk +++ b/cppConsole/Dockerfile.sdk @@ -1,5 +1,5 @@ # ARGUMENTS -------------------------------------------------------------------- -ARG CROSS_SDK_BASE_TAG=3.3.1 +ARG CROSS_SDK_BASE_TAG=3.2.0 ## # Board architecture @@ -13,7 +13,7 @@ ARG APP_ROOT= # BUILD ------------------------------------------------------------------------ -FROM commontorizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} +FROM torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} ARG APP_ROOT ARG IMAGE_ARCH diff --git a/cppQML/.vscode/launch.json b/cppQML/.vscode/launch.json index f63655d73..bb4bb0285 100644 --- a/cppQML/.vscode/launch.json +++ b/cppQML/.vscode/launch.json @@ -31,55 +31,6 @@ ], "preLaunchTask": "build-debug-local" }, - { - "name": "Torizon AMD64", - "type": "cppdbg", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "args": [], - "stopAtEntry": false, - "cwd": "${config:torizon_app_root}", - "environment": [ - { - "name": "QT_LOGGING_RULES", - "value": "*.debug=true; qt.*.debug=false" - } - ], - "externalConsole": false, - "internalConsoleOptions": "openOnSessionStart", - "sourceFileMap": { - "${config:torizon_app_root}": "${workspaceFolder}" - }, - "pipeTransport": { - "debuggerPath": "/usr/bin/gdb", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ] - }, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv8", "type": "cppdbg", diff --git a/cppQML/.vscode/settings.json b/cppQML/.vscode/settings.json index 4ad67394e..acb448c64 100644 --- a/cppQML/.vscode/settings.json +++ b/cppQML/.vscode/settings.json @@ -14,9 +14,10 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", - "torizon.gpuPrefixRC": true, + "torizon.gpuPrefixRC": false, "qtForPython.rcc.liveExecution.enabled": false, "qtForPython.qmlls.path": "/usr/lib/qt6/bin/qmlls", "qtForPython.qmlls.enabled": true, diff --git a/cppQML/.vscode/tasks.json b/cppQML/.vscode/tasks.json index 5bff7503b..e400bedf2 100644 --- a/cppQML/.vscode/tasks.json +++ b/cppQML/.vscode/tasks.json @@ -143,44 +143,6 @@ "group": "build-execution" } }, - { - "label": "open-in-qt-creator-debug-amd64", - "detail": "This task first builds the project and then opens it in Qt Creator.\nNeed to have the Qt Creator installed on your system.", - "command": "qtcreator", - "type": "process", - "options": { - "env": { - "QT_QPA_PLATFORM": "xcb", - "QT_QUICK_BACKEND": "software" - } - }, - "args": [ - "${workspaceFolder}", - "-settingspath", - "${workspaceFolder}/.qt", - "-theme", - "dark" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-debug-local", - "update-qt-ini-amd64" - ], - "icon": { - "id": "link-external", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "kill-redirect-qml-debugger", "detail": "", @@ -346,40 +308,6 @@ "group": "build-execution" } }, - { - "label": "start-gdb-server-remote-amd64", - "detail": "Deploy and run the application for amd64 on the remote\ntarget by using gdbserver.", - "command": "ssh", - "type": "process", - "args": [ - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "UserKnownHostsFile=/dev/null", - "-o", - "StrictHostKeyChecking=no", - "${config:torizon_run_as}@${config:torizon_ip}", - "cd ${config:torizon_app_root} && export QT_LOGGING_RULES=\"*.debug=true; qt.*.debug=false\" && gdbserver localhost:${config:torizon_debug_port1} __change__ -qmljsdebugger=port:${config:torizon_debug_port2},block,services:DebugMessages,QmlDebugger,V8Debugger,QmlInspector,DebugTranslation" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "kill-redirect-qml-debugger", - "deploy-torizon-amd64", - "redirect-qml-debugger" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt-small", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-configure-local", "hide": true, @@ -754,152 +682,6 @@ "group": "build-execution" } }, - { - "label": "build-configure-amd64", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "-DCMAKE_BUILD_TYPE=Debug", - "-Bbuild-amd64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-container-image-sdk-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "build-debug-amd64", - "detail": "Build a debug version of the application for arm64 using\nthe toolchain from the SDK container.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "--build", - "build-amd64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-configure-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "clean-amd64", - "detail": "Clean the build folder for amd64 using the\ncontainer SDK toolchain.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "--build", - "build-amd64", - "--target", - "clean" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-container-image-sdk-amd64" - ], - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/build-amd64/bin/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "build-debug-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "update-qt-ini-arm64", "detail": "", @@ -958,35 +740,6 @@ "group": "build-execution" } }, - { - "label": "update-qt-ini-amd64", - "detail": "", - "hide": true, - "command": "pwsh", - "type": "process", - "args": [ - "-nop", - "-c", - "${env:HOME}/.apollox/scripts/updateQtCreatorIni.ps1", - "${workspaceFolder}", - "${config:torizon_ip}:${config:torizon_debug_port1}", - "__change__", - "amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "symbol-parameter", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "update-qt-ini-local", "detail": "", diff --git a/cppQML/Dockerfile b/cppQML/Dockerfile index fdb8eb7fe..906e4df13 100644 --- a/cppQML/Dockerfile +++ b/cppQML/Dockerfile @@ -2,11 +2,11 @@ ## # SDK container version ## -ARG SDK_BASE_VERSION=3.3.1 +ARG SDK_BASE_VERSION=3.4.0 ## # Base container version ## -ARG BASE_VERSION=3.3.1 +ARG BASE_VERSION=3.4.0 ## # Board architecture @@ -30,7 +30,7 @@ ARG APP_ROOT= # Build Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/qt6-wayland${GPU}:${SDK_BASE_VERSION} AS build + torizon/qt6-wayland${GPU}:${SDK_BASE_VERSION} AS build ARG IMAGE_ARCH ARG GPU @@ -89,7 +89,7 @@ RUN rm -rf ${APP_ROOT}/build-${IMAGE_ARCH} RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -Bbuild-${IMAGE_ARCH} ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ -DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc -Bbuild-${IMAGE_ARCH} ; \ fi @@ -102,7 +102,7 @@ RUN cmake --build build-${IMAGE_ARCH} # Deploy Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/qt6-wayland${GPU}:${BASE_VERSION} AS deploy + torizon/qt6-wayland${GPU}:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG GPU diff --git a/cppQML/Dockerfile.debug b/cppQML/Dockerfile.debug index ebb2e2770..7c802924c 100644 --- a/cppQML/Dockerfile.debug +++ b/cppQML/Dockerfile.debug @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1 +ARG BASE_VERSION=3.4.0 ## # Debug port @@ -35,7 +35,7 @@ ARG APP_ROOT= # Deploy Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/qt6-wayland${GPU}:${BASE_VERSION} AS debug + torizon/qt6-wayland${GPU}:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG GPU diff --git a/cppQML/Dockerfile.sdk b/cppQML/Dockerfile.sdk index 62f5f2bfa..211c058a4 100644 --- a/cppQML/Dockerfile.sdk +++ b/cppQML/Dockerfile.sdk @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1 +ARG BASE_VERSION=3.4.0 ## # Board GPU vendor prefix @@ -27,7 +27,7 @@ ARG APP_ROOT= # BUild Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/qt6-wayland${GPU}:${BASE_VERSION} AS build + torizon/qt6-wayland${GPU}:${BASE_VERSION} AS build ARG IMAGE_ARCH ARG GPU diff --git a/cppQML/docker-compose.yml b/cppQML/docker-compose.yml index 8647066f4..e9ffde736 100644 --- a/cppQML/docker-compose.yml +++ b/cppQML/docker-compose.yml @@ -56,7 +56,7 @@ services: ] weston: - image: commontorizon/weston${GPU}:3.3.2 + image: torizon/weston${GPU}:3.5.0 environment: - ACCEPT_FSL_EULA=1 # Required to get udev events from host udevd via netlink diff --git a/cppSlint/.vscode/settings.json b/cppSlint/.vscode/settings.json index a861cbe29..669e8760c 100644 --- a/cppSlint/.vscode/settings.json +++ b/cppSlint/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetAvalonia/.conf/update.json b/dotnetAvalonia/.conf/update.json index 5f06c70c8..14d1915dc 100644 --- a/dotnetAvalonia/.conf/update.json +++ b/dotnetAvalonia/.conf/update.json @@ -58,5 +58,9 @@ { "source": "Assets/avalonia-logo.ico", "target": "Assets/avalonia-logo.ico" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetAvalonia/.vscode/settings.json b/dotnetAvalonia/.vscode/settings.json index 6725d4c44..43c679da8 100644 --- a/dotnetAvalonia/.vscode/settings.json +++ b/dotnetAvalonia/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetAvalonia/.vscode/tasks.json b/dotnetAvalonia/.vscode/tasks.json index 565bf99f4..d9dd0dc3e 100644 --- a/dotnetAvalonia/.vscode/tasks.json +++ b/dotnetAvalonia/.vscode/tasks.json @@ -173,7 +173,7 @@ }, { "label": "publish-debug-arm", - "detail": "dotnet build command for debugging the application on an armhf target", + "detail": "dotnet publish command for debugging the application on an armhf target", "command": "dotnet", "type": "process", "args": [ @@ -243,7 +243,7 @@ }, { "label": "publish-debug-arm64", - "detail": "dotnet build command for debugging the application on an arm64 target", + "detail": "dotnet publish command for debugging the application on an arm64 target", "command": "dotnet", "type": "process", "args": [ @@ -344,7 +344,7 @@ }, { "label": "publish-debug-amd64", - "detail": "dotnet build command for debugging the application on an amd64 target", + "detail": "dotnet publish command for debugging the application on an amd64 target", "hide": false, "type": "shell", "command": "rm", diff --git a/dotnetAvalonia/Dockerfile b/dotnetAvalonia/Dockerfile index b3ad23b77..57beffce7 100644 --- a/dotnetAvalonia/Dockerfile +++ b/dotnetAvalonia/Dockerfile @@ -32,10 +32,18 @@ WORKDIR ${APP_ROOT} # build RUN dotnet restore __change__.csproj && \ -dotnet publish __change__.csproj -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ -if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ -fi + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetAvaloniaFrameBuffer/.conf/update.json b/dotnetAvaloniaFrameBuffer/.conf/update.json index 014e0bcc1..1475567b7 100644 --- a/dotnetAvaloniaFrameBuffer/.conf/update.json +++ b/dotnetAvaloniaFrameBuffer/.conf/update.json @@ -38,5 +38,9 @@ { "source": "Views/MainWindow.axaml", "target": "Views/MainWindow.axaml" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetAvaloniaFrameBuffer/.vscode/settings.json b/dotnetAvaloniaFrameBuffer/.vscode/settings.json index ae950985b..8ee6de87e 100644 --- a/dotnetAvaloniaFrameBuffer/.vscode/settings.json +++ b/dotnetAvaloniaFrameBuffer/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetAvaloniaFrameBuffer/.vscode/tasks.json b/dotnetAvaloniaFrameBuffer/.vscode/tasks.json index 54badc03f..2b15ccc5b 100644 --- a/dotnetAvaloniaFrameBuffer/.vscode/tasks.json +++ b/dotnetAvaloniaFrameBuffer/.vscode/tasks.json @@ -140,7 +140,7 @@ }, { "label": "publish-debug-arm", - "detail": "dotnet build command for debugging the application on an armhf target", + "detail": "dotnet publish command for debugging the application on an armhf target", "command": "dotnet", "type": "process", "args": [ diff --git a/dotnetAvaloniaFrameBuffer/Dockerfile b/dotnetAvaloniaFrameBuffer/Dockerfile index 63fb16149..50ad306ef 100644 --- a/dotnetAvaloniaFrameBuffer/Dockerfile +++ b/dotnetAvaloniaFrameBuffer/Dockerfile @@ -34,10 +34,18 @@ WORKDIR ${APP_ROOT} # build RUN dotnet restore __change__.csproj && \ -dotnet publish __change__.csproj -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ -if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ -fi + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetConsole/.conf/update.json b/dotnetConsole/.conf/update.json index d2f57145c..29e4b1f18 100644 --- a/dotnetConsole/.conf/update.json +++ b/dotnetConsole/.conf/update.json @@ -2,5 +2,9 @@ { "source": "__change__.csproj", "target": "$projectName.csproj" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetConsole/.vscode/launch.json b/dotnetConsole/.vscode/launch.json index 6381cea03..0cddab4e1 100644 --- a/dotnetConsole/.vscode/launch.json +++ b/dotnetConsole/.vscode/launch.json @@ -17,33 +17,6 @@ "console": "internalConsole", "stopAtEntry": false }, - { - "name": "Torizon AMD64", - "type": "coreclr", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "cwd": "${config:torizon_app_root}", - "stopAtEntry": false, - "console": "internalConsole", - "args": [], - "pipeTransport": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ], - "debuggerPath": "/vsdbg/vsdbg" - }, - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv7", "type": "coreclr", diff --git a/dotnetConsole/.vscode/settings.json b/dotnetConsole/.vscode/settings.json index 7cdd152be..f3c49fc38 100644 --- a/dotnetConsole/.vscode/settings.json +++ b/dotnetConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/dotnetConsole/.vscode/tasks.json b/dotnetConsole/.vscode/tasks.json index f8102712b..c968ec827 100644 --- a/dotnetConsole/.vscode/tasks.json +++ b/dotnetConsole/.vscode/tasks.json @@ -103,32 +103,6 @@ "group": "build-execution" } }, - { - "label": "clean-debug-amd64", - "detail": "dotnet clean command for cleaning the application build for the amd64 target", - "command": "dotnet", - "type": "process", - "args": [ - "clean", - "${workspaceFolder}/__change__.csproj", - "-c", - "Debug", - "-r", - "linux-x64" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "watch-local", "detail": "dotnet watch command, watch the changes on the application, compile it and reload automatically", @@ -222,75 +196,6 @@ "group": "build-execution" } }, - { - "label": "publish-debug-amd64", - "detail": "", - "command": "dotnet", - "type": "process", - "args": [ - "publish", - "${workspaceFolder}/__change__.csproj", - "/property:GenerateFullPaths=true", - "/consoleloggerparameters:NoSummary", - "-c", - "Debug", - "-r", - "linux-amd64", - "--no-self-contained" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/bin/Debug/net8.0/linux-x64/publish/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "publish-debug-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "publish-debug-arm64", "detail": "", diff --git a/dotnetConsole/Dockerfile b/dotnetConsole/Dockerfile index 3f316c787..cfd3907f4 100644 --- a/dotnetConsole/Dockerfile +++ b/dotnetConsole/Dockerfile @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3-8.0 +ARG BASE_VERSION=3.4-8.0.8 ## # Directory of the application inside container @@ -28,14 +28,26 @@ WORKDIR ${APP_ROOT} # build RUN dotnet restore && \ -dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish -c Release -r linux-${ARCH} --no-self-contained && \ + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi + # BUILD ------------------------------------------------------------------------ # DEPLOY ----------------------------------------------------------------------- FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/dotnet:${BASE_VERSION} AS deploy + torizon/dotnet:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG APP_ROOT diff --git a/dotnetConsole/Dockerfile.debug b/dotnetConsole/Dockerfile.debug index e81351f31..53b80cb6e 100644 --- a/dotnetConsole/Dockerfile.debug +++ b/dotnetConsole/Dockerfile.debug @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3-8.0 +ARG BASE_VERSION=3.4-8.0.8 ## # Directory of the application inside container @@ -29,7 +29,7 @@ ARG SSHUSERNAME= # Deploy Step .NET ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/dotnet-debug:${BASE_VERSION} AS debug + torizon/dotnet-debug:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG APP_ROOT diff --git a/dotnetSlint/.conf/update.json b/dotnetSlint/.conf/update.json index d2f57145c..29e4b1f18 100644 --- a/dotnetSlint/.conf/update.json +++ b/dotnetSlint/.conf/update.json @@ -2,5 +2,9 @@ { "source": "__change__.csproj", "target": "$projectName.csproj" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetSlint/.vscode/settings.json b/dotnetSlint/.vscode/settings.json index 29511cd48..8a519a801 100644 --- a/dotnetSlint/.vscode/settings.json +++ b/dotnetSlint/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetSlint/Dockerfile b/dotnetSlint/Dockerfile index c752f2396..285508847 100644 --- a/dotnetSlint/Dockerfile +++ b/dotnetSlint/Dockerfile @@ -40,7 +40,19 @@ WORKDIR ${APP_ROOT} # build RUN dotnet restore && \ - dotnet publish -c Release -r linux-${IMAGE_ARCH} + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish -c Release -r linux-${ARCH} && \ + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi + # BUILD ------------------------------------------------------------------------ diff --git a/dotnetUno5/.conf/update.json b/dotnetUno5/.conf/update.json index 52172c49f..68532e21f 100644 --- a/dotnetUno5/.conf/update.json +++ b/dotnetUno5/.conf/update.json @@ -14,5 +14,9 @@ { "source": "__change__/App.cs", "target": "$projectName/App.cs" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetUno5/.vscode/launch.json b/dotnetUno5/.vscode/launch.json index 960b871bb..8e823e2d7 100644 --- a/dotnetUno5/.vscode/launch.json +++ b/dotnetUno5/.vscode/launch.json @@ -57,6 +57,39 @@ }, "preLaunchTask": "deploy-torizon-arm64" }, + { + "name": "Torizon ARMv7", + "type": "coreclr", + "request": "launch", + "program": "${config:torizon_app_root}/__change__.Skia.Gtk", + "cwd": "${config:torizon_app_root}", + "stopAtEntry": false, + "console": "internalConsole", + "env": { + "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", + //"GDK_BACKEND": "x11", + //"GDK_GL": "gles", + "UNO_FULLSCREEN": "true" + }, + "args": [], + "pipeTransport": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "ssh", + "pipeArgs": [ + "-T", + "-q", + "-p", + "${config:torizon_debug_ssh_port}", + "-o", + "StrictHostKeyChecking=no", + "-o", + "UserKnownHostsFile /dev/null", + "${config:torizon_run_as}@${config:torizon_ip}" // user@device + ], + "debuggerPath": "/vsdbg/vsdbg" + }, + "preLaunchTask": "deploy-torizon-arm" + }, { "name": "Torizon AMD64", "type": "coreclr", diff --git a/dotnetUno5/.vscode/settings.json b/dotnetUno5/.vscode/settings.json index 52ec4efa3..dfccf5384 100644 --- a/dotnetUno5/.vscode/settings.json +++ b/dotnetUno5/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetUno5/.vscode/tasks.json b/dotnetUno5/.vscode/tasks.json index dbd84b285..5cb21646d 100644 --- a/dotnetUno5/.vscode/tasks.json +++ b/dotnetUno5/.vscode/tasks.json @@ -125,8 +125,8 @@ } }, { - "label": "publish-debug-amd64", - "detail": "", + "label": "publish-debug-arm64", + "detail": "dotnet publish command for debugging the application on an arm64 target", "command": "dotnet", "type": "process", "args": [ @@ -137,7 +137,7 @@ "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary", "-r", - "linux-amd64", + "linux-arm64", "--no-self-contained" ], "dependsOrder": "sequence", @@ -155,8 +155,8 @@ } }, { - "label": "publish-debug-arm64", - "detail": "", + "label": "publish-debug-arm", + "detail": "dotnet publish command for debugging the application on an armhf target", "command": "dotnet", "type": "process", "args": [ @@ -167,7 +167,37 @@ "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary", "-r", - "linux-arm64", + "linux-arm", + "--no-self-contained" + ], + "dependsOrder": "sequence", + "problemMatcher": "$msCompile", + "icon": { + "id": "tools", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, + { + "label": "publish-debug-amd64", + "detail": "dotnet publish command for debugging the application on an amd64 target", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "-c", + "Debug", + "${workspaceFolder}/__change__.Skia.Gtk/__change__.Skia.Gtk.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary", + "-r", + "linux-amd64", "--no-self-contained" ], "dependsOrder": "sequence", @@ -224,6 +254,46 @@ "group": "build-execution" } }, + { + "label": "deploy-torizon-arm", + "detail": "", + "hide": true, + "command": "rsync", + "type": "process", + "args": [ + "-P", + "-av", + "-e", + "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", + "${workspaceFolder}/__change__.Skia.Gtk/bin/Debug/net8.0/linux-arm/publish/", + "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" + ], + "dependsOn": [ + "validate-settings", + "validate-arch-arm", + "copy-docker-compose", + "pre-cleanup", + "publish-debug-arm", + "build-container-torizon-debug-arm", + "push-container-torizon-debug-arm", + "pull-container-torizon-debug-arm", + "run-container-torizon-debug-arm", + "pos-cleanup" + ], + "dependsOrder": "sequence", + "problemMatcher": "$msCompile", + "icon": { + "id": "debug-alt", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "deploy-torizon-amd64", "detail": "", @@ -314,6 +384,58 @@ "group": "build-execution" } }, + { + "label": "clean-debug-arm", + "detail": "dotnet clean command for cleaning the application build for the armhf target", + "command": "dotnet", + "type": "process", + "args": [ + "clean", + "${workspaceFolder}/__change__.Skia.Gtk/__change__.Skia.Gtk.csproj", + "-c", + "Debug", + "-r", + "linux-arm" + ], + "problemMatcher": "$msCompile", + "icon": { + "id": "trash", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, + { + "label": "clean-debug-amd64", + "detail": "dotnet clean command for cleaning the application build for the amd64 target", + "command": "dotnet", + "type": "process", + "args": [ + "clean", + "${workspaceFolder}/__change__.Skia.Gtk/__change__.Skia.Gtk.csproj", + "-c", + "Debug", + "-r", + "linux-amd64" + ], + "problemMatcher": "$msCompile", + "icon": { + "id": "trash", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "run-app-for-hot-reload-local", "hide": true, @@ -440,6 +562,32 @@ "group": "build-execution" } }, + { + "label": "launch-hot-reload-arm", + "detail": "This task will launch the application on the board, without\nattach the debugger, this will allow the application to\nuse the Uno Platform hot reload feature.", + "command": "echo", + "type": "shell", + "args": [ + "✅" + ], + "dependsOrder": "sequence", + "dependsOn": [ + "config-hot-reload-address", + "deploy-torizon-arm", + "run-app-for-hot-reload" + ], + "icon": { + "id": "vm-connect", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "launch-hot-reload-amd64", "detail": "This task will launch the application on the board, without\nattach the debugger, this will allow the application to\nuse the Uno Platform hot reload feature.", diff --git a/dotnetUno5/Dockerfile b/dotnetUno5/Dockerfile index 2c417d4cf..246782670 100644 --- a/dotnetUno5/Dockerfile +++ b/dotnetUno5/Dockerfile @@ -35,7 +35,19 @@ WORKDIR ${APP_ROOT}/__change__.Skia.Gtk # build RUN dotnet restore && \ -dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi + # BUILD ------------------------------------------------------------------------ diff --git a/dotnetUno5FrameBuffer/.conf/update.json b/dotnetUno5FrameBuffer/.conf/update.json index 25808a8fc..4b0cebdfd 100644 --- a/dotnetUno5FrameBuffer/.conf/update.json +++ b/dotnetUno5FrameBuffer/.conf/update.json @@ -14,5 +14,9 @@ { "source": "__change__/App.cs", "target": "$projectName/App.cs" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetUno5FrameBuffer/.vscode/launch.json b/dotnetUno5FrameBuffer/.vscode/launch.json index 5f7a8b1b2..bfb649624 100644 --- a/dotnetUno5FrameBuffer/.vscode/launch.json +++ b/dotnetUno5FrameBuffer/.vscode/launch.json @@ -28,6 +28,30 @@ "preLaunchTask": "run-torizon-arm64-debug", "postDebugTask": "stop-torizon-and-clean-framebuffer" }, + { + "name": "Torizon ARMv7", + "type": "coreclr", + "request": "attach", + "processName": "__change__.Skia.Linux.FrameBuffer", + "pipeTransport": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "ssh", + "pipeArgs": [ + "-T", + "-q", + "-p", + "${config:torizon_debug_ssh_port}", + "-o", + "StrictHostKeyChecking=no", + "-o", + "UserKnownHostsFile /dev/null", + "${config:torizon_run_as}@${config:torizon_ip}" // user@device + ], + "debuggerPath": "/vsdbg/vsdbg" + }, + "preLaunchTask": "run-torizon-arm-debug", + "postDebugTask": "stop-torizon-and-clean-framebuffer" + }, { "name": "Torizon AMD64", "type": "coreclr", diff --git a/dotnetUno5FrameBuffer/.vscode/settings.json b/dotnetUno5FrameBuffer/.vscode/settings.json index 04e686f7a..521828940 100644 --- a/dotnetUno5FrameBuffer/.vscode/settings.json +++ b/dotnetUno5FrameBuffer/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetUno5FrameBuffer/.vscode/tasks.json b/dotnetUno5FrameBuffer/.vscode/tasks.json index a626435da..632128fc7 100644 --- a/dotnetUno5FrameBuffer/.vscode/tasks.json +++ b/dotnetUno5FrameBuffer/.vscode/tasks.json @@ -122,7 +122,7 @@ }, { "label": "publish-debug-amd64", - "detail": "", + "detail": "dotnet publish command for debugging the application on an amd64 target", "command": "dotnet", "type": "process", "args": [ @@ -152,7 +152,7 @@ }, { "label": "publish-debug-arm64", - "detail": "", + "detail": "dotnet publish command for debugging the application on an arm64 target", "command": "dotnet", "type": "process", "args": [ @@ -180,6 +180,36 @@ "group": "build-execution" } }, + { + "label": "publish-debug-arm", + "detail": "dotnet publish command for debugging the application on an armhf target", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "-c", + "Debug", + "${workspaceFolder}/__change__.Skia.Linux.FrameBuffer/__change__.Skia.Linux.FrameBuffer.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary", + "-r", + "linux-arm", + "--no-self-contained" + ], + "dependsOrder": "sequence", + "problemMatcher": "$msCompile", + "icon": { + "id": "tools", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "deploy-torizon-amd64", "detail": "", @@ -262,6 +292,47 @@ "group": "build-execution" } }, + { + "label": "deploy-torizon-arm", + "detail": "", + "hide": true, + "command": "rsync", + "type": "process", + "args": [ + "-P", + "-av", + "-e", + "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", + "${workspaceFolder}/__change__.Skia.Linux.FrameBuffer/bin/Debug/net8.0/linux-arm/publish/", + "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" + ], + "dependsOn": [ + "validate-settings", + "validate-arch-arm", + "copy-docker-compose", + "pre-cleanup", + "publish-debug-arm", + "build-container-torizon-debug-arm", + "push-container-torizon-debug-arm", + "pull-container-torizon-debug-arm", + "run-container-torizon-debug-arm", + "wait-a-bit", + "pos-cleanup" + ], + "dependsOrder": "sequence", + "problemMatcher": "$msCompile", + "icon": { + "id": "debug-alt", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "run-skia-fb-torizon-arm64", "detail": "Run the application without attach to the debugger. Util\n when you want to run the hot reload in the remote device.", @@ -409,6 +480,55 @@ "group": "build-execution" } }, + { + "label": "run-torizon-arm-debug", + "detail": "", + "hide": true, + "command": "ssh", + "type": "process", + "isBackground": true, + "args": [ + "-p", + "${config:torizon_debug_ssh_port}", + "-o", + "UserKnownHostsFile=/dev/null", + "-o", + "StrictHostKeyChecking=no", + "-ttt", + "${config:torizon_run_as}@${config:torizon_ip}", + "cd ${config:torizon_app_root} && DOTNET_MODIFIABLE_ASSEMBLIES=debug ./__change__.Skia.Linux.FrameBuffer -debug" + ], + "dependsOn": [ + "deploy-torizon-arm" + ], + "dependsOrder": "sequence", + "problemMatcher": { + "pattern": { + "regexp": "^([^\\s].*)\\((\\d+|\\d+,\\d+|\\d+,\\d+,\\d+,\\d+)\\):\\s+(error|warning|info)\\s+(TS\\d+)\\s*:\\s*(.*)$", + "file": 1, + "location": 2, + "severity": 3, + "code": 4, + "message": 5 + }, + "background": { + "activeOnStart": true, + "beginsPattern": "^\\s*", + "endsPattern": "^\\s*" + } + }, + "icon": { + "id": "debug-alt", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "stop-torizon-and-clean-framebuffer", "detail": "", @@ -504,6 +624,32 @@ "group": "build-execution" } }, + { + "label": "clean-debug-arm", + "detail": "dotnet clean command for cleaning the application build for the armhf target", + "command": "dotnet", + "type": "process", + "args": [ + "clean", + "${workspaceFolder}/__change__.Skia.Linux.FrameBuffer/__change__.Skia.Linux.FrameBuffer.csproj", + "-c", + "Debug", + "-r", + "linux-arm" + ], + "problemMatcher": "$msCompile", + "icon": { + "id": "trash", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "clean-debug-amd64", "detail": "dotnet clean command for cleaning the application build for the x86-64 target", @@ -631,6 +777,33 @@ "panel": "shared", "group": "build-execution" } + }, + { + "label": "launch-hot-reload-arm", + "detail": "This task will launch the application on the board, without\nattach the debugger, this will allow the application to\nuse the Uno Platform hot reload feature.", + "command": "echo", + "type": "shell", + "args": [ + "✅" + ], + "dependsOrder": "sequence", + "dependsOn": [ + "config-hot-reload-address", + "deploy-torizon-arm", + "launch-torizon-debug-hot-reload", + "stop-torizon-and-clean-framebuffer" + ], + "icon": { + "id": "vm-connect", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } } ], "inputs": [] diff --git a/dotnetUno5FrameBuffer/Dockerfile b/dotnetUno5FrameBuffer/Dockerfile index e7d35149f..9f2a5d16e 100644 --- a/dotnetUno5FrameBuffer/Dockerfile +++ b/dotnetUno5FrameBuffer/Dockerfile @@ -8,6 +8,7 @@ ARG IMAGE_ARCH= # Base container version ## ARG BASE_VERSION=3.3.1 +ARG DOTNET_BASE_VERSION=3-8.0 ## # Directory of the application inside container @@ -35,10 +36,24 @@ WORKDIR ${APP_ROOT}/__change__.Skia.Linux.FrameBuffer # build RUN dotnet restore && \ -dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained -# BUILD ------------------------------------------------------------------------ + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi +# BUILD ------------------------------------------------------------------------ +# DOTNET ----------------------------------------------------------------------- +FROM --platform=linux/${IMAGE_ARCH} \ + commontorizon/dotnet:${DOTNET_BASE_VERSION} AS Dotnet # DEPLOY ----------------------------------------------------------------------- FROM --platform=linux/${IMAGE_ARCH} \ @@ -48,6 +63,11 @@ ARG IMAGE_ARCH ARG GPU ARG APP_ROOT +ENV DOTNET_ROOT=/dotnet +ENV PATH=$PATH:/dotnet + +COPY --from=Dotnet /dotnet /dotnet + # for vivante GPU we need some "special" sauce RUN apt-get -q -y update && \ if [ "${GPU}" = "-vivante" ] || [ "${GPU}" = "-imx8" ]; then \ diff --git a/empty/.vscode/settings.json b/empty/.vscode/settings.json index 7728bb3e7..0aa6e59fa 100644 --- a/empty/.vscode/settings.json +++ b/empty/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/gambasForms/.vscode/settings.json b/gambasForms/.vscode/settings.json index 37e5a054e..a9c308e51 100644 --- a/gambasForms/.vscode/settings.json +++ b/gambasForms/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/genericTemplate/.vscode/settings.json b/genericTemplate/.vscode/settings.json index 8a71c6957..48be4f422 100644 --- a/genericTemplate/.vscode/settings.json +++ b/genericTemplate/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/genericTemplate/Dockerfile b/genericTemplate/Dockerfile index bc8a1852b..188b4277d 100644 --- a/genericTemplate/Dockerfile +++ b/genericTemplate/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_VERSION=3.3.1-bookworm +ARG BASE_VERSION=3.5.0 ## # Board architecture @@ -16,7 +16,7 @@ ARG GPU= ARG APP_ROOT= # DEPLOY ------------------------------------------------------------------------ -FROM --platform=linux/${IMAGE_ARCH} commontorizon/debian:${BASE_VERSION} +FROM --platform=linux/${IMAGE_ARCH} torizon/debian:${BASE_VERSION} ARG IMAGE_ARCH ARG GPU diff --git a/javaForms/.vscode/settings.json b/javaForms/.vscode/settings.json index 2f1f98234..0b63af3ff 100644 --- a/javaForms/.vscode/settings.json +++ b/javaForms/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/monoCsharpForms/.vscode/settings.json b/monoCsharpForms/.vscode/settings.json index e15e09ab2..de091a5a3 100644 --- a/monoCsharpForms/.vscode/settings.json +++ b/monoCsharpForms/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/nodeElectron/.vscode/settings.json b/nodeElectron/.vscode/settings.json index 552ea0f1b..9ad096a67 100644 --- a/nodeElectron/.vscode/settings.json +++ b/nodeElectron/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/nodeJSTypeScript/.vscode/settings.json b/nodeJSTypeScript/.vscode/settings.json index 729b99f26..5320c54f3 100644 --- a/nodeJSTypeScript/.vscode/settings.json +++ b/nodeJSTypeScript/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/nodeJSTypeScript/Dockerfile b/nodeJSTypeScript/Dockerfile index 8c1ef1638..a269ed36a 100644 --- a/nodeJSTypeScript/Dockerfile +++ b/nodeJSTypeScript/Dockerfile @@ -58,7 +58,7 @@ RUN rm -rf ${APP_ROOT}/out RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ npm run output-arm64; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ npm run output-arm; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ npm run output-amd64; \ diff --git a/python3Console/.vscode/launch.json b/python3Console/.vscode/launch.json index 93a54d59f..d251eea8a 100644 --- a/python3Console/.vscode/launch.json +++ b/python3Console/.vscode/launch.json @@ -8,23 +8,6 @@ "program": "${workspaceFolder}/src/main.py", "preLaunchTask": "host-install-pip-requirements" }, - { - "name": "Torizon AMD64", - "type": "debugpy", - "request": "attach", - "justMyCode": false, - "connect": { - "host": "${config:torizon_ip}", - "port": "${config:torizon_debug_port}" - }, - "pathMappings": [ - { - "localRoot": "${workspaceFolder}", - "remoteRoot": "${config:torizon_app_root}" - } - ], - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv7", "type": "debugpy", diff --git a/python3Console/.vscode/settings.json b/python3Console/.vscode/settings.json index 42f2d2947..74bd45399 100644 --- a/python3Console/.vscode/settings.json +++ b/python3Console/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/python3Console/.vscode/tasks.json b/python3Console/.vscode/tasks.json index 7dfb70c2a..00b2f1217 100644 --- a/python3Console/.vscode/tasks.json +++ b/python3Console/.vscode/tasks.json @@ -258,80 +258,6 @@ "group": "build-execution" } }, - { - "label": "start-torizon-debug-amd64", - "detail": "", - "hide": true, - "command": "ssh", - "type": "process", - "args": [ - "-o", - "UserKnownHostsFile=/dev/null", - "-o", - "StrictHostKeyChecking=no", - "-p", - "${config:torizon_debug_ssh_port}", - "${config:torizon_run_as}@${config:torizon_ip}", - "cd ${config:torizon_app_root} && . ${config:torizon_app_root}/.venv/bin/activate && screen -d -m python3 -m debugpy --listen 0.0.0.0:${config:torizon_debug_port} --log-to src/log --wait-for-client src/main.py", - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "ssh", - "type": "shell", - "args": [ - "-o", - "UserKnownHostsFile=/dev/null", - "-o", - "StrictHostKeyChecking=no", - "-p", - "${config:torizon_debug_ssh_port}", - "${config:torizon_run_as}@${config:torizon_ip}", - "cT=0; while ! grep -r \": wait_for_client()\" ${config:torizon_app_root}/src/log/debugpy.server*.log 2> /dev/null; do sleep 0.1; if [ \"$cT\" -eq 100 ]; then echo \"Problem debugging main.py file\"; break; fi; cT=$(expr $cT + 1); done" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "host-install-pip-requirements", - "copy-docker-compose", - "pre-cleanup", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64", - "wait-a-bit", - "stop-torizon-debug-generic", - "rsync-torizon-generic", - "start-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "host-install-pip-requirements", "detail": "Install pip requirements on the host", diff --git a/python3Console/Dockerfile b/python3Console/Dockerfile index 6265af005..be5e9fb10 100644 --- a/python3Console/Dockerfile +++ b/python3Console/Dockerfile @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1-bookworm +ARG BASE_VERSION=3.5.0 ## # Directory of the application inside container @@ -15,7 +15,7 @@ ARG BASE_VERSION=3.3.1-bookworm ARG APP_ROOT= FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/debian:${BASE_VERSION} AS deploy + torizon/debian:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG APP_ROOT diff --git a/python3Console/Dockerfile.debug b/python3Console/Dockerfile.debug index 5d100208b..362998427 100644 --- a/python3Console/Dockerfile.debug +++ b/python3Console/Dockerfile.debug @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1-bookworm +ARG BASE_VERSION=3.5.0 ## # Debug port @@ -26,7 +26,7 @@ ARG APP_ROOT= FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/debian:${BASE_VERSION} AS debug + torizon/debian:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG DEBUG_SSH_PORT diff --git a/python3Pyside2QML/.vscode/settings.json b/python3Pyside2QML/.vscode/settings.json index 6b2553da0..63c6cb872 100644 --- a/python3Pyside2QML/.vscode/settings.json +++ b/python3Pyside2QML/.vscode/settings.json @@ -14,8 +14,10 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, - "qml-ls-client.qmllsPath": ".venv/lib/python3.11/site-packages/PySide6/qmlls" + "qml-ls-client.qmllsPath": ".venv/lib/python3.11/site-packages/PySide6/qmlls", + "python.defaultInterpreterPath": "./.venv/bin/python3" } diff --git a/rustConsole/.vscode/settings.json b/rustConsole/.vscode/settings.json index de588b5fd..090971875 100644 --- a/rustConsole/.vscode/settings.json +++ b/rustConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/rustConsole/Dockerfile b/rustConsole/Dockerfile index 75c072230..c783337e6 100644 --- a/rustConsole/Dockerfile +++ b/rustConsole/Dockerfile @@ -37,7 +37,7 @@ RUN apt-get update && \ RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ echo aarch64-unknown-linux-gnu > ~/rust-toolchain-arch.txt; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ echo armv7-unknown-linux-gnueabihf > ~/rust-toolchain-arch.txt; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ echo x86_64-unknown-linux-gnu > ~/rust-toolchain-arch.txt; \ diff --git a/rustSlint/.vscode/settings.json b/rustSlint/.vscode/settings.json index c780bf350..21c73b6eb 100644 --- a/rustSlint/.vscode/settings.json +++ b/rustSlint/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/rustSlint/Dockerfile b/rustSlint/Dockerfile index 7d32348ed..66f3d936c 100644 --- a/rustSlint/Dockerfile +++ b/rustSlint/Dockerfile @@ -34,7 +34,7 @@ ENV IMAGE_ARCH ${IMAGE_ARCH} RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ echo aarch64-unknown-linux-gnu > /rust-toolchain-arch.txt; \ echo arm64 > /cross-toolchain-arch.txt; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ echo armv7-unknown-linux-gnueabihf > /rust-toolchain-arch.txt; \ echo armhf > /cross-toolchain-arch.txt; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ diff --git a/rustSlint/Dockerfile.sdk b/rustSlint/Dockerfile.sdk index 461d54fd0..54faeae3f 100644 --- a/rustSlint/Dockerfile.sdk +++ b/rustSlint/Dockerfile.sdk @@ -30,7 +30,7 @@ ARG APP_ROOT RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ echo aarch64-unknown-linux-gnu > /rust-toolchain-arch.txt; \ echo arm64 > /cross-toolchain-arch.txt; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ echo armv7-unknown-linux-gnueabihf > /rust-toolchain-arch.txt; \ echo armhf > /cross-toolchain-arch.txt; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ diff --git a/scripts/bash/tcb-env-setup.sh b/scripts/bash/tcb-env-setup.sh index 704295828..7bb83aed8 100755 --- a/scripts/bash/tcb-env-setup.sh +++ b/scripts/bash/tcb-env-setup.sh @@ -6,7 +6,7 @@ shopt -s expand_aliases # For DockerHub the variable can be empty, by tcb platform push command # requires a value, so passing the default DockerHub registry to it if it is # empty -if [ $DOCKER_REGISTRY = "" ]; then +if [ "$DOCKER_REGISTRY" = "" ]; then export DOCKER_REGISTRY="registry-1.docker.io" fi diff --git a/scripts/bash/tcd-env-setup.sh b/scripts/bash/tcd-env-setup.sh index 99fe4fe00..615d0390c 100755 --- a/scripts/bash/tcd-env-setup.sh +++ b/scripts/bash/tcd-env-setup.sh @@ -6,8 +6,8 @@ shopt -s expand_aliases _COMPOSE_FILE="$HOME/.tcd/docker-compose.yml" _BASH_COMPLETION_FILE="$HOME/.tcd/torizon-dev-completion.bash" export APOLLOX_REPO="toradex/vscode-torizon-templates" -export APOLLOX_BRANCH="next" -export BRANCH="next" +export APOLLOX_BRANCH="dev" +export BRANCH="dev" export UUID=$(id -u) export DGID=$(getent group docker | cut -d: -f3) diff --git a/scripts/bash/torizon-dev-completion.bash b/scripts/bash/torizon-dev-completion.bash index ff7230015..500ae8418 100644 --- a/scripts/bash/torizon-dev-completion.bash +++ b/scripts/bash/torizon-dev-completion.bash @@ -16,6 +16,7 @@ TCD_COMP_ARGS_MAIN=" TCD_COMP_ARGS_SCAN=" help connect + list " TCD_COMP_ARGS_CONNECT=" diff --git a/scripts/connectDevice.ps1 b/scripts/connectDevice.ps1 index abd9e3b40..9c53c51dd 100644 --- a/scripts/connectDevice.ps1 +++ b/scripts/connectDevice.ps1 @@ -35,8 +35,6 @@ try { foreach ($_dev in $_jsonArray) { $_connectDevs.Add($_dev) | Out-Null } - } else { - $_connectDevs = @() } # get the scan from the file diff --git a/scripts/createDockerComposeProduction.ps1 b/scripts/createDockerComposeProduction.ps1 index 44110e1b7..dfa19db00 100644 --- a/scripts/createDockerComposeProduction.ps1 +++ b/scripts/createDockerComposeProduction.ps1 @@ -63,6 +63,10 @@ if ($null -eq $env:TORIZON_ARCH) { $TORIZON_ARCH = "arm64" } elseif ($TORIZON_ARCH -eq "armv7l") { $TORIZON_ARCH = "arm" + } elseif ($TORIZON_ARCH -eq "arm") { + $TORIZON_ARCH = "arm" + } elseif ($TORIZON_ARCH -eq "armhf") { + $TORIZON_ARCH = "arm" } elseif ($TORIZON_ARCH -eq "x86_64") { $TORIZON_ARCH = "amd64" } elseif ($TORIZON_ARCH -eq "riscv") { @@ -72,10 +76,10 @@ if ($null -eq $env:TORIZON_ARCH) { $imageArch = $TORIZON_ARCH } -if ($null -eq $env:APP_ROOT) { +if ( + [string]::IsNullOrEmpty($env:APP_ROOT) +) { throw "❌ APP_ROOT not set" -} else { - $appRoot = $env:APP_ROOT } if ($env:TASKS_ITERATIVE -eq $False) { @@ -128,7 +132,7 @@ if ([string]::IsNullOrEmpty($tag)) { } if ([string]::IsNullOrEmpty($tag)) { - throw "❌ Docker image tag cannot be empty" + throw "❌ Docker image tag cannot be empty. Please run the fill-pipeline-settings task." } } @@ -155,11 +159,9 @@ Set-Location $compoFilePath # rebuild and tag Write-Host "Rebuilding $env:DOCKER_LOGIN/${imageName}:$tag ..." -docker compose build ` - --build-arg APP_ROOT=$appRoot ` - --build-arg IMAGE_ARCH=$imageArch ` - --build-arg GPU=$gpu ` - $imageName +# run the build-container-torizon-release- but without override the env +$env:TASKS_OVERRIDE_ENV = $false +./.vscode/tasks.ps1 run "build-container-torizon-release-$imageArch" Set-Location - diff --git a/scripts/installDepsScripts/installDotnetSDK7.sh b/scripts/installDepsScripts/installDotnetSDK7.sh index 63a076568..bd52f2449 100755 --- a/scripts/installDepsScripts/installDotnetSDK7.sh +++ b/scripts/installDepsScripts/installDotnetSDK7.sh @@ -50,9 +50,10 @@ if [ "$source" != "https://packages.microsoft.com/$repo/$repo_version/prod" ]; t rm packages-microsoft-prod.deb # Remove the dotnet-sdk installation that doesn't come from the Microsoft source + set +e sudo apt-get remove --purge $package -y - sudo apt-get autoremove -y + set -e # Enforce the preference for the dotnet and aspnet packages comming from the Microsoft source if [ ! -f /etc/apt/preferences ] || ! grep -q "Package: dotnet\* aspnet\* netstandard\*" /etc/apt/preferences diff --git a/scripts/installDepsScripts/installDotnetSDK8.sh b/scripts/installDepsScripts/installDotnetSDK8.sh index c288d4908..282a5fb26 100755 --- a/scripts/installDepsScripts/installDotnetSDK8.sh +++ b/scripts/installDepsScripts/installDotnetSDK8.sh @@ -50,9 +50,10 @@ if [ "$source" != "https://packages.microsoft.com/$repo/$repo_version/prod" ]; t rm packages-microsoft-prod.deb # Remove the dotnet-sdk installation that doesn't come from the Microsoft source + set +e sudo apt-get remove --purge $package -y - sudo apt-get autoremove -y + set -e # Enforce the preference for the dotnet and aspnet packages comming from the Microsoft source if [ ! -f /etc/apt/preferences ] || ! grep -q "Package: dotnet\* aspnet\* netstandard\*" /etc/apt/preferences diff --git a/scripts/scanNetworkDevices.ps1 b/scripts/scanNetworkDevices.ps1 index 725f93be5..b82ad9fae 100644 --- a/scripts/scanNetworkDevices.ps1 +++ b/scripts/scanNetworkDevices.ps1 @@ -6,18 +6,38 @@ Write-Host "📡 :: NETWORK DEVICES :: 📡" Write-Host "" -RunCommandInBackgroundWithWaitAnimationAsync { - node $env:HOME/.apollox/scripts/node/scanNetworkDevices.mjs +if ( + $null -eq $args[0] +) { + RunCommandInBackgroundWithWaitAnimationAsync { + node $env:HOME/.apollox/scripts/node/scanNetworkDevices.mjs + } } # read the output -$nets = Get-Content "$env:HOME/.tcd/scan.json" | ConvertFrom-Json +if ( + Test-Path "$env:HOME/.tcd/scan.json" +) { + $nets = Get-Content "$env:HOME/.tcd/scan.json" | ConvertFrom-Json +} else { + $nets = @() +} if ($nets.Length -lt 1) { Write-Host -ForegroundColor DarkYellow ` "`t ❌ :: No network devices found :: ❌" Write-Host "" exit 404 +} elseif ($args[0] -eq "display") { + $_ix = 0 + foreach ($net in $nets) { + $_ip = $net.Ip + $_hostname = $net.Hostname + + Write-Host "`t`t $_ix ➡️ $_hostname ($_ip)" + + $_ix++ + } } Write-Host "" diff --git a/scripts/updateSettingsFields.ps1 b/scripts/updateSettingsFields.ps1 index ba406446b..cb3da8b4f 100644 --- a/scripts/updateSettingsFields.ps1 +++ b/scripts/updateSettingsFields.ps1 @@ -32,6 +32,7 @@ $settingsTemplate = [PSCustomObject]@{ "wait_sync" = "1" "torizon_run_as" = "torizon" "torizon_app_root" = "/home/torizon/app" + "docker_tag" = "v0.0.0" "tcb.packageName" = "__change__" "tcb.version" = "3.11.0" "torizon.gpuPrefixRC" = $false diff --git a/scripts/zygote.ps1 b/scripts/zygote.ps1 index 0e0bd398b..c6479db7c 100755 --- a/scripts/zygote.ps1 +++ b/scripts/zygote.ps1 @@ -88,16 +88,25 @@ function _scan_network() { -f $env:HOME/.apollox/scripts/scanNetworkDevices.ps1 } -function _connect_device() { +function _scan_network_display_previous_scan() { + pwsh -nop ` + -f $env:HOME/.apollox/scripts/scanNetworkDevices.ps1 display +} + +function _connect_device { + param( + [Parameter(Mandatory = $true, HelpMessage="The device id to connect to")] + [string] $id + ) + # read the args - $_id = Read-Host "Device id" $_login = Read-Host "Login" $_pass = Read-Host "Password" -MaskInput Write-Host "" pwsh -nop ` -f $env:HOME/.apollox/scripts/connectDevice.ps1 ` - -id $_id ` + -id $id ` -login $_login ` -pass $_pass } @@ -348,14 +357,26 @@ try { "help" { Write-Host "📖 :: SCAN HELP :: 📖" Write-Host "" - Write-Host " ➡️ connect" - Write-Host "`t interactively connect to a network device listed in the scan" + Write-Host " ➡️ connect " + Write-Host "`t connect to a network device listed in the scan" + Write-Host "" + Write-Host " ➡️ list" + Write-Host "`t display the list of the network devices found in the previous scan" Write-Host "" exit 0 } + "list" { + _scan_network_display_previous_scan + } "connect" { - _scan_network - _connect_device + # make sure that a scan index is provided + if ($null -eq $args[2]) { + Write-Host -ForegroundColor Red "❌ :: No scan index provided :: ❌" + Write-Host "" + exit 400 + } + + _connect_device -id $args[2] } Default { _scan_network diff --git a/tcb/.vscode/settings.json b/tcb/.vscode/settings.json index dbbe644b7..864034965 100644 --- a/tcb/.vscode/settings.json +++ b/tcb/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/tcb/.vscode/tasks.json b/tcb/.vscode/tasks.json index c10a7af11..57ed2e70d 100644 --- a/tcb/.vscode/tasks.json +++ b/tcb/.vscode/tasks.json @@ -185,7 +185,7 @@ "-ContainerRuntime", "docker", "-RunArguments", - "\"--rm --privileged commontorizon/binfmt:9.0.2\"", + "\"--rm --privileged torizon/binfmt:latest\"", "-ContainerName", "binfmt" ], diff --git a/templates.json b/templates.json index 90a87f859..f1ddb419c 100644 --- a/templates.json +++ b/templates.json @@ -23,7 +23,6 @@ "tests": { "debuggers": { "local": ["Local Debug"], - "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] }, @@ -46,7 +45,6 @@ "tests": { "debuggers": { "local": ["Local Debug"], - "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] }, @@ -115,6 +113,7 @@ "tests": { "debuggers": { "local": ["Local Debug"], + "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] }, "debuggerConsole": null, @@ -135,7 +134,8 @@ "deprecated": false, "tests": { "debuggers": { - "arm64": ["Torizon ARMv8"] + "arm64": ["Torizon ARMv8"], + "arm": ["Torizon ARMv7"] }, "debuggerConsole": "run-torizon", "mainFile": "__change__/App.cs", @@ -229,8 +229,6 @@ "tests" : { "debuggers": { "local": ["Local AMD64"], - "riscv": ["Torizon riscv64"], - "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] }, @@ -275,7 +273,6 @@ "tests" : { "debuggers": { "local": ["Local AMD64"], - "riscv": ["Torizon riscv64"], "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] @@ -301,7 +298,6 @@ "tests": { "debuggers": { "local": ["Local AMD64"], - "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] }, diff --git a/zigConsole/.vscode/settings.json b/zigConsole/.vscode/settings.json index 03221b929..7bbe8c76b 100644 --- a/zigConsole/.vscode/settings.json +++ b/zigConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "early-access", "torizon.gpuPrefixRC": true diff --git a/zigConsole/Dockerfile b/zigConsole/Dockerfile index 73ee72b05..ca187875a 100644 --- a/zigConsole/Dockerfile +++ b/zigConsole/Dockerfile @@ -43,7 +43,7 @@ RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ unzip zigup.ubuntu-latest-aarch64.zip -d /usr/bin && \ chmod +x /usr/bin/zigup && \ zigup --install-dir /zig 0.11.0 ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ wget -q https://github.com/kassane/zigup/releases/download/2023_09_29/zigup.ubuntu-latest-armv7a.zip && \ unzip zigup.ubuntu-latest-armv7a.zip -d /usr/bin && \ chmod +x /usr/bin/zigup && \ @@ -79,7 +79,7 @@ RUN rm -rf ${APP_ROOT}/target # (ReleaseSmall | ReleaseFast) no runtime stacktrace (undefined & fast) RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ zig build -Doptimize=ReleaseSmall -Dtarget=aarch64-linux-gnu --summary all -freference-trace ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ zig build -Doptimize=ReleaseSmall -Dtarget=arm-linux-gnu --summary all -freference-trace ; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ zig build -Doptimize=ReleaseSmall -Dtarget=x86_64-linux-gnu --summary all -freference-trace ; \ @@ -88,7 +88,7 @@ RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ RUN mkdir -p target/deploy && \ if [ "$IMAGE_ARCH" = "arm64" ] ; then \ cp -r zig-out/aarch64/ReleaseSmall/bin/* target/deploy ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ cp -r zig-out/arm/ReleaseSmall/bin/* target/deploy ; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ cp zig-out/x86_64/ReleaseSmall/bin/$APP_EXECUTABLE target/deploy ; \