|
1 | 1 | # Arduino Pro IDE
|
2 | 2 |
|
3 |
| -[](https://dev.azure.com/typefox/Arduino/_build/latest?definitionId=4&branchName=master) |
| 3 | + |
4 | 4 |
|
5 |
| -> **Beware:** This is very much work-in-progress. Things can and probably will be broken, even on master. |
| 5 | +### Download |
6 | 6 |
|
7 |
| -This repo contains a proof-of-concept for an Arduino IDE based on Theia. |
8 |
| -It's built on top of a [fork of the arduino-cli](https://github.com/typefox/arduino-cli/tree/daemon) that sports a gRPC interface. |
| 7 | +You can download the latest version of the Arduino Pro IDE application for the supported platforms from the [GitHub release page](https://github.com/arduino/arduino-pro-ide/releases) or following the links in the following table. |
9 | 8 |
|
10 |
| -## How to try (offline) |
| 9 | +#### Latest version |
11 | 10 |
|
12 |
| -### Prerequisites |
13 |
| -You should be able to build Theia locally. The requirements are defined [here](https://github.com/theia-ide/theia/blob/master/doc/Developing.md#prerequisites). |
| 11 | +Platform | 32 bit | 64 bit | |
| 12 | +--------- | ------------------------ | ------------------------ | |
| 13 | +Linux | | [Linux 64 bit] | |
| 14 | +Linux ARM | [🚧 Work in progress...] | [🚧 Work in progress...] | |
| 15 | +Windows | | [Windows 64 bit] | |
| 16 | +macOS | | [macOS 64 bit] | |
14 | 17 |
|
15 |
| -``` |
16 |
| -git clone https://github.com/bcmi-labs/arduino-editor |
17 |
| -cd arduino-editor |
| 18 | +[🚧 Work in progress...]: https://github.com/arduino/arduino-pro-ide/issues/287 |
| 19 | +[Linux 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/arduino-pro-ide_latest_Linux_64bit.zip |
| 20 | +[Windows 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/arduino-pro-ide_latest_Windows_64bit.zip |
| 21 | +[macOS 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/arduino-pro-ide_latest_macOS_64bit.dmg |
| 22 | + |
| 23 | +#### Previous versions |
| 24 | + |
| 25 | +These are available from the [GitHub releases page](https://github.com/arduino/arduino-pro-ide/releases). |
| 26 | + |
| 27 | +#### Nightly builds |
| 28 | + |
| 29 | +These builds are generated every day at 03:00 GMT from the `master` branch and |
| 30 | +should be considered unstable. In order to get the latest nightly build |
| 31 | +available for the supported platform, use the following links: |
| 32 | + |
| 33 | +Platform | 32 bit | 64 bit | |
| 34 | +--------- | ------------------------ | ------------------------ | |
| 35 | +Linux | | [Nightly Linux 64 bit] | |
| 36 | +Linux ARM | [🚧 Work in progress...] | [🚧 Work in progress...] | |
| 37 | +Windows | | [Nightly Windows 64 bit] | |
| 38 | +macOS | | [Nightly macOS 64 bit] | |
| 39 | + |
| 40 | +[🚧 Work in progress...]: https://github.com/arduino/arduino-pro-ide/issues/287 |
| 41 | +[Nightly Linux 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/nightly/arduino-pro-ide_nightly-latest_Linux_64bit.zip |
| 42 | +[Nightly Windows 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/nightly/arduino-pro-ide_nightly-latest_Windows_64bit.zip |
| 43 | +[Nightly macOS 64 bit]: https://downloads.arduino.cc/arduino-pro-ide/nightly/arduino-pro-ide_nightly-latest_macOS_64bit.dmg |
| 44 | + |
| 45 | +> These links return an HTTP `302: Found` response, redirecting to latest |
| 46 | + generated builds by replacing `latest` with the latest available build |
| 47 | + date, using the format YYYYMMDD (i.e for 2019/Aug/06 `latest` is |
| 48 | + replaced with `20190806` ) |
| 49 | + |
| 50 | +### Build from source |
| 51 | + |
| 52 | +If you’re familiar with TypeScript, the [Theia IDE](https://theia-ide.org/), and of you want to contribute to the |
| 53 | +project, you should be able to build the Arduino Pro IDE locally. Please refer to the [Theia IDE prerequisites](https://github.com/theia-ide/theia/blob/master/doc/) documentation for the setup instructions. |
| 54 | + |
| 55 | +### Build |
| 56 | +```sh |
18 | 57 | yarn
|
19 |
| -yarn rebuild:electron |
20 |
| -yarn --cwd electron-app start |
21 | 58 | ```
|
22 | 59 |
|
23 |
| -If you want to switch back to the browser-based example, execute the following in the repository root |
24 |
| -``` |
25 |
| -yarn rebuild:browser |
26 |
| -``` |
27 |
| -Then you can start the browser example again: |
28 |
| -``` |
29 |
| -yarn --cwd browser-app start |
| 60 | +### Rebuild the native dependencies |
| 61 | +```sh |
| 62 | +yarn rebuild:electron |
30 | 63 | ```
|
| 64 | +Note: this step takes long. It completes in 4-5 minutes on a MacBook Pro, 2.9 GHz Quad-Core Intel Core i7. |
31 | 65 |
|
32 |
| -Click [here](./arduino-ide-extension/README.md) for more details on various IDE services, and the Arduino Pro IDE implementation in general. |
33 |
| - |
| 66 | +### Start |
| 67 | +```sh |
| 68 | +yarn start |
| 69 | +``` |
34 | 70 |
|
35 |
| -## Arduino Pro IDE Electron Application |
36 |
| -The project is built on [Azure DevOps](https://dev.azure.com/typefox/Arduino). |
| 71 | +### CI |
37 | 72 |
|
38 |
| -Currently, we provide the Arduino Pro IDE for the following platforms: |
39 |
| - - Windows, |
40 |
| - - macOS, and |
41 |
| - - Linux. |
42 |
| - |
43 |
| -You can download the latest release applications fom [here](https://github.com/bcmi-labs/arduino-editor/releases/latest). |
44 |
| -If you want to get a nightly build, go to the [Azure DevOps page](https://dev.azure.com/typefox/Arduino/_build?definitionId=4), |
45 |
| -and follow the steps from below. |
| 73 | +This project is built on [GitHub Actions](https://github.com/bcmi-labs/arduino-editor/actions?query=workflow%3A%22Arduino+Pro+IDE%22). |
46 | 74 |
|
47 |
| -<img width="500" src="static/download_01.gif"> |
48 |
| -<img width="500" src="static/download_02.gif"> |
| 75 | + - _Snapshot_ builds run when changes are pushed to the `master` branch, or when a PR is created against the `master` branch. For the sake of the review and verification process, the build artifacts can be downloaded from the GitHub Actions page. Note: [due to a limitation](https://github.com/actions/upload-artifact/issues/80#issuecomment-630030144) with the GH Actions UI, you cannot download a particular build, but you have to get all together inside the `build-artifacts.zip`. |
| 76 | + - _Nightly_ builds run every day at 03:00 GMT from the `master` branch. |
| 77 | + - _Release_ builds run when a new tag is pushed to the remote. The tag must follow the [semver](https://semver.org/). For instance, `1.2.3` is a correct tag, but `v2.3.4` won't work. Steps to trigger a new release build: |
| 78 | + - Create a local tag: |
| 79 | + ```sh |
| 80 | + git tag -a 1.2.3 -m "Creating a new tag for the `1.2.3` release." |
| 81 | + ``` |
| 82 | + - Push it to the remote: |
| 83 | + ```sh |
| 84 | + git push origin 1.2.3 |
| 85 | + ``` |
49 | 86 |
|
50 |
| -Click [here](./electron/README.md) for more details on the CI/CD, the GitHub release, and the build process in general. |
|
0 commit comments