Skip to content

Commit 6f6614e

Browse files
committed
content(migrate-ease): sync LP with upstream README and docs
Align the migrate-ease Learning Path with the current upstream source documentation (README.md, docs/webui-quick-start.md, and docs/vendor-instance-type-usage.md): 1. Add macOS and Windows tabs to the environment setup. 2. Document --march supported values and the --vendor/--instance-type options. 3. Rewrite the Web UI section as a 3-step flow with tables for inputs, options, and result actions; unify wording to "Web UI". 4. Refresh web_ui_index.jpg and web_ui_result.jpg and update alt text to meet the repo image guidance. Signed-off-by: fannie zhang <fannie.zhang@arm.com>
1 parent c05d638 commit 6f6614e

4 files changed

Lines changed: 104 additions & 22 deletions

File tree

content/learning-paths/servers-and-cloud-computing/migrate-ease/3_migrate_ease_run.md

Lines changed: 103 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,20 @@ layout: "learningpathall"
1111
Before using `migrate-ease`, install the following system dependencies:
1212
{{< tabpane code=true >}}
1313
{{< tab header="Ubuntu 22.04">}}
14-
sudo apt-get install -y python3 python3-pip python3-venv unzip libmagic1 git
14+
sudo apt-get install -y python3 python3-pip python3-venv libmagic1 git
1515
{{< /tab >}}
1616
{{< tab header="Debian 13">}}
17-
sudo apt-get install -y python3 python3-pip python3-venv unzip libmagic1 git
17+
sudo apt-get install -y python3 python3-pip python3-venv libmagic1 git
1818
{{< /tab >}}
1919
{{< tab header="Fedora 42">}}
20-
sudo dnf install -y python3 python3-pip unzip git
20+
sudo dnf install -y python3 python3-pip git
21+
{{< /tab >}}
22+
{{< tab header="macOS">}}
23+
brew install python3 libmagic git
24+
{{< /tab >}}
25+
{{< tab header="Windows">}}
26+
winget install --id Python.Python.3.11
27+
winget install --id Git.Git
2128
{{< /tab >}}
2229
{{< /tabpane >}}
2330

@@ -28,20 +35,35 @@ cd migrate-ease
2835
```
2936

3037
Create and activate a Python virtual environment:
31-
```bash
38+
39+
{{< tabpane code=true >}}
40+
{{< tab header="Linux/macOS">}}
3241
python3 -m venv .venv
3342
source .venv/bin/activate
34-
```
43+
{{< /tab >}}
44+
{{< tab header="Windows (PowerShell)">}}
45+
python -m venv .venv
46+
Set-ExecutionPolicy RemoteSigned
47+
.\.venv\Scripts\Activate.ps1
48+
{{< /tab >}}
49+
{{< /tabpane >}}
3550

3651
Install the required packages and set the environment variable:
37-
```bash
52+
53+
{{< tabpane code=true >}}
54+
{{< tab header="Linux/macOS">}}
3855
pip3 install -r requirements.txt
3956
export PYTHONPATH=`pwd`
40-
```
57+
{{< /tab >}}
58+
{{< tab header="Windows (PowerShell)">}}
59+
pip install -r requirements.txt
60+
$env:PYTHONPATH = (Get-Location).Path
61+
{{< /tab >}}
62+
{{< /tabpane >}}
4163

4264
## Usage
4365

44-
You can use migrate-ease from the command-line or through a Web GUI.
66+
You can use migrate-ease from the command-line or through a Web UI.
4567

4668
### Command-line usage
4769

@@ -61,11 +83,11 @@ Here's an explanation of each of the arguments passed to the scanner tool:
6183

6284
**Parameters**
6385

64-
`{scanner_name}`: The name of the scanner, which can be one of cpp, docker, go, java, Python or rust.
86+
`{scanner_name}`: The name of the scanner, which can be one of cpp, docker, go, java, python or rust.
6587

6688
`{result_file_name}`: The name of the exported results file (without the extension).
6789

68-
`{arch}`: The architecture type; `armv8-a` is the default.
90+
`{arch}`: Target processor architecture. It follows the same semantics as GCC's `-march`, specifying the target architecture and feature set. Supported: `armv8-a` (default) and `armv8.6-a+sve2`.
6991

7092
`{scan_path}`: The path to the code you want to scan.
7193

@@ -79,23 +101,83 @@ There are more parameters for user to control the scan functionality. To see thi
79101
```bash
80102
python3 -m {scanner_name} -h
81103
```
82-
Replace {scanner_name} with either cpp, docker, go, java, Python or rust.
104+
Replace {scanner_name} with either cpp, docker, go, java, python or rust.
105+
106+
### Target a cloud vendor and instance type
107+
108+
Instead of setting `--march` manually, you can derive the target ISA from a cloud vendor and instance type. This is useful when you already know where the workload will run:
83109

84-
### GUI
85-
Migrate-ease also provides a Web UI that supports scanning a git repo with cpp, docker, go, java, Python and rust scanners in one time.
86-
To start the web server, simply run:
110+
```bash
111+
python3 -m {scanner_name} --vendor {VENDOR} --instance-type {INSTANCE} {scan_path}
87112
```
113+
114+
Here's an explanation of each of the arguments passed to the scanner tool:
115+
116+
**Parameters**
117+
118+
`{VENDOR}`: The cloud vendor. Supported values are `AWS`, `GCP`, and `AliCloud`. The match is case-sensitive.
119+
120+
`{INSTANCE}`: The instance type under the selected vendor, for example, `c7g`, `c4a`, or `c8y`. The input is lowercased before matching, so it is case-insensitive. This option requires `--vendor`.
121+
122+
`{scan_path}`: The path to the code you want to scan.
123+
124+
To list the supported vendors and instance types per vendor, use the built-in help and check the **Supported Vendors** and **Supported Instance Types per Vendor** sections:
125+
126+
```bash
127+
python3 -m {scanner_name} --help
128+
```
129+
130+
For behavioral rules of `--vendor` and `--instance-type`, see the [vendor and instance-type usage guide](https://github.com/migrate-ease/migrate-ease/blob/main/docs/vendor-instance-type-usage.md).
131+
132+
### Web UI
133+
134+
Migrate-ease also provides a Web UI that supports scanning a git repo or a local source archive (`.zip`/`.tar`) with cpp, docker, go, java, python and rust scanners in one time. To start the web server, simply run:
135+
```bash
88136
python3 web/server.py
89137
```
90138

91-
Once the server is running, you can access a web server hosted at http://localhost:8080
139+
The server listens on port `8080` by default. To use a different port, pass `--port`:
140+
```bash
141+
python3 web/server.py --port <PORT>
142+
```
143+
144+
Once the server is running, you can access a web server hosted at `http://<localhost>:8080`
145+
146+
The Web UI looks like this:
147+
148+
![Migrate-ease Web UI scan form.#center](web_ui_index.jpg "Migrate-ease Web UI scan form")
149+
150+
The Web UI walks you through three steps: choose what to scan, set options, and run.
151+
152+
**1. Choose what to scan** on either tab:
153+
154+
| Tab | Input |
155+
|---|---|
156+
| **Git Repo** | An HTTPS Git URL with an optional branch name. Leave the branch empty to use the repository's default branch. |
157+
| **Source archive** | A local `.zip` or `.tar` archive uploaded from your machine. |
158+
159+
**2. Configure scan options** (optional) from the **Options** menu (gear icon):
160+
161+
| Option | Description | Default |
162+
|---|---|---|
163+
| **CSP & Instance** | Cloud provider and instance type used to derive the target architecture. | `armv8-a` |
164+
| **Report format** | Format of the downloadable report (`JSON`, `HTML`, `Text`, or `CSV`). | `JSON` |
165+
| **Scanner** | Language scanners to run. Uncheck **All** to pick a subset from `C/C++`, `Go`, `Rust`, `Java`, `Python`, and `Docker`. | All |
166+
167+
**3. Run and monitor** by clicking **SCAN**. The **Console Output** panel streams live logs from each scanner.
168+
169+
{{% notice Tip %}}
170+
On your first visit, a step-by-step Quick Guide overlay highlights the key controls. A **Quick Guide** button stays in the top-right so you can rerun the walkthrough at any time.
171+
{{% /notice %}}
92172

93-
The web UI looks like this:
94-
![example image alt-text#center](web_ui_index.jpg "Web UI to scan a git repo")
173+
When a scan finishes, a results banner appears with three actions:
95174

96-
A git repo URL is required, and you can specify certain branch name to scan. Once the necessary information is filled, you can click the **START SCAN** button to proceed project scanning.
175+
![Migrate-ease Web UI of scan result.#center](web_ui_result.jpg "Migrate-ease Web UI of scan result")
97176

98-
Scanning progress is then shown in the console pane. Once all the jobs are done, you will see a web page like this:
99-
![example image alt-text#center](web_ui_result.jpg "Web UI of scan result")
177+
| Action | What it does |
178+
|---|---|
179+
| **View Report** | Opens the full compatibility report in a new browser tab. |
180+
| **Download** | Saves a `report.zip` package to your machine. |
181+
| **New Scan** | Returns to the scan form so you can run another scan. |
100182

101-
You can download the result by clicking the symbolic download icon button, or view the result by clicking the icon which looks like an eye.
183+
For a detailed walkthrough of every Web UI control, including screenshots for each step, see the [Web UI quick start guide](https://github.com/migrate-ease/migrate-ease/blob/main/docs/webui-quick-start.md).

content/learning-paths/servers-and-cloud-computing/migrate-ease/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Migrate applications to Arm servers using migrate-ease
33

44
minutes_to_complete: 45
55

6-
who_is_this_for: This is an introductory topic for developers looking to migrate applications to Arm-based servers using migrate-ease, a code analysis tool that scans source code repositories to identify architecture-specific porting issues before migration.
6+
who_is_this_for: This is an introductory topic for developers looking to migrate applications to Arm-based servers using migrate-ease, a code analysis tool that scans local source trees or Git repositories to identify architecture-specific porting issues before migration.
77

88
description: Scan source code for architecture-specific portability issues using migrate-ease to identify and resolve AArch64 porting challenges before migration.
99

171 KB
Loading
725 KB
Loading

0 commit comments

Comments
 (0)