Skip to content

Commit be0ba80

Browse files
Merge pull request #493 from Azure/master
Release master to stable for 0.5.0
2 parents a7f74c9 + 3c1cd72 commit be0ba80

404 files changed

Lines changed: 7134 additions & 2298 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.travis.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
11
language: node_js
2+
dist: trusty
3+
sudo: false
24
node_js:
35
- '6.9.4'
6+
python:
7+
- "3.6"
8+
9+
before_install:
10+
- python3 --version
411

512
install:
613
- npm install -g yarn
714
- yarn install
15+
- python3 --version
16+
- pip3 install -r python/requirements.txt
817

918
before_script:
1019
- export DISPLAY=:99.0
@@ -13,6 +22,7 @@ before_script:
1322

1423
script:
1524
- ./scripts/travis/build-and-test.sh
25+
- pylint python/main.py
1626

1727
branches:
1828
only:

.vscode/launch.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
"name": "Launch",
66
"type": "node",
77
"request": "launch",
8-
"program": "${workspaceRoot}/client/main.ts",
8+
"program": "${workspaceRoot}/src/client/main.ts",
99
"stopOnEntry": false,
1010
"args": [],
1111
"cwd": "${workspaceRoot}",
12-
"preLaunchTask": "build-node-ts",
12+
"preLaunchTask": "build-client",
1313
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
1414
"windows": {
1515
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
"release/**": true,
1313
"dll/**": true
1414
},
15+
"python.autoComplete.extraPaths": [
16+
"${workspaceRoot}/python"
17+
],
1518
"tslint.jsEnable": true,
1619
"tslint.autoFixOnSave": true,
1720
"vsicons.presets.angular": true,

.vscode/tasks.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
],
1010
"tasks": [
1111
{
12-
"taskName": "build-node-ts",
12+
"taskName": "build-client",
1313
"args": [],
1414
"isBuildCommand": true
1515
},

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
# Version 0.5.0(Beta)
2+
[All items](https://github.com/Azure/BatchLabs/milestone/5?closed=1)
3+
4+
### Features
5+
* Link Storage account in batch labs [\#385](https://github.com/Azure/BatchLabs/issues/385)
6+
* New actions buttons [\#408](https://github.com/Azure/BatchLabs/issues/408)
7+
* Low priority VMs [\#414](https://github.com/Azure/BatchLabs/issues/414)
8+
* Details now refresh automatically every 10 seconds [\#428](https://github.com/Azure/BatchLabs/issues/428)
9+
* Show batch account quotas [\#413](https://github.com/Azure/BatchLabs/issues/413)
10+
* Job show manager task details [\#447](https://github.com/Azure/BatchLabs/issues/447)
11+
* Preview images(and gif) and code files in labs [\#417](https://github.com/Azure/BatchLabs/issues/417)
12+
* Setup python support for ncj [\#439](https://github.com/Azure/BatchLabs/issues/439)
13+
* Task output quick add otherfiles for debug [\#184](https://github.com/Azure/BatchLabs/issues/184)
14+
* Job prep/release task status read experience [\#429](https://github.com/Azure/BatchLabs/issues/429)
15+
* Start task failed show error banner on node details [\#476](https://github.com/Azure/BatchLabs/issues/476)
16+
117
# Version 0.4.0(Beta)
218
[All items](https://github.com/Azure/BatchLabs/milestone/3?closed=1)
319

Readme.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
**Note: BatchLabs is in beta. We don't provide any installer/packaged binaries as of now. You will need to build this app yourself.**
55

6-
This is the readme for master branch is contains the latest changes. Stable might be slightly different [Stable readme](https://github.com/Azure/BatchLabs/tree/stable)
6+
This is the readme for the 'master' branch which contains the latest changes, 'stable' may differ from this [Stable readme](https://github.com/Azure/BatchLabs/tree/stable)
77

88
## Description
99

10-
Batch Labs is a tool to manage your Azure Batch accounts. The goal is to implement some great user experience that will help you debug, monitor and manage your pools, jobs and tasks.
11-
It will also include expermiental features such as `No Code Job` in the aim to improve your Batch experience. We are open to any feedback, ideas and contribution you might have.
10+
Batch Labs is a tool to manage your Azure Batch accounts. The goal is to implement a great user experience that will help you debug, monitor and manage your pools, jobs and tasks.
11+
It will also include expermiental features such as `Batch Templates` in the aim to improve your Batch experience. We are open to any feedback, ideas and contributions you might have.
1212

1313
## Getting started
1414
#### 1. Prerequisites
@@ -24,7 +24,7 @@ Move to the directory `cd BatchLabs`
2424
```bash
2525
yarn install
2626
```
27-
Note: You can also use `npm install` at your own risk. However please do not submit an issue if you didn't use `yarn install`. Yarn will make sure you have the exact same set of dependencies as everybody which remove any unexpected third party bugs problems.
27+
Note: You can also use `npm install` at your own risk. However please do not submit an issue if you didn't use `yarn install`. Yarn will make sure you have the right set of dependencies, which reduces the likelihood of any unexpected build issues relating to third party packages.
2828

2929
#### 4. Build and run the application
3030
```bash
@@ -44,7 +44,7 @@ npm run electron
4444
[Dev docs](docs/readme.md)
4545

4646
For developers, you can set up a development environment as follows:
47-
**Use `yarn install` instead of `npm install` this will makes sure everybody has the same exact set of depenencies [Migrating from npm to yarn](https://yarnpkg.com/lang/en/docs/migrating-from-npm/)**
47+
**Use `yarn install` instead of `npm install`. This ensures a consistent build environment with the right set of dependencies [Migrating from npm to yarn](https://yarnpkg.com/lang/en/docs/migrating-from-npm/)**
4848

4949
Start the dev server
5050
```bash
@@ -61,7 +61,7 @@ npm run dev-electron
6161

6262
The dev-server and dev-electron support hot reload for a better development experience. Simply saving a file will cause the UI to refresh to your updated changes.
6363

64-
*Note:* Changes to any files in the node client directory ('\client\') require restarting the application.
64+
*Note:* Changes to any files in the node client directory ('src/client') require restarting the application.
6565

6666
If you're using VSCode (recommended) we suggest you use the following extensions:
6767
* Debugger for Chrome
@@ -79,7 +79,7 @@ Please also take a look at the [coding guidelines](coding-guidelines.md) for thi
7979
In vscode install the editorconfig extension
8080

8181
## Detailed commands:
82-
**Magic command(Starts the server and electron in dev mode)**
82+
**Magic command (starts the server and electron in dev mode)**
8383
```
8484
npm run dev
8585
```
@@ -94,17 +94,17 @@ Run app
9494
npm run electron
9595
```
9696

97-
Run watch(This will build files on save)
97+
Run watch (this will build files on save)
9898
```
9999
npm run watch
100100
```
101101

102-
Run dev server(This will handle the refresh of files and later should have live reloead)
102+
Run dev server (this will handle the refresh of files and later should have live reload)
103103
```
104104
npm run dev-server
105105
```
106106

107-
Run dev electron(To use the dev server you need to run this)
107+
Run dev electron (to use the dev server you need to run this)
108108
```
109109
npm run dev-electron
110110
```

app/app.component.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import { DomSanitizer } from "@angular/platform-browser";
77
import { registerIcons } from "app/config";
88
import {
99
AccountService, AdalService, AutoscaleFormulaService, CommandService, NodeService,
10-
PredefinedFormulaService, SSHKeyService, SettingsService, SubscriptionService, VmSizeService,
10+
PredefinedFormulaService, PricingService, PythonRpcService, SSHKeyService, SettingsService, SubscriptionService,
11+
VmSizeService,
1112
} from "app/services";
1213
import { SidebarContentComponent, SidebarManager } from "./components/base/sidebar";
1314

@@ -44,17 +45,21 @@ export class AppComponent implements AfterViewInit, OnInit {
4445
private subscriptionService: SubscriptionService,
4546
private nodeService: NodeService,
4647
private sshKeyService: SSHKeyService,
48+
pythonRpcService: PythonRpcService,
4749
private vmSizeService: VmSizeService,
48-
private predefinedFormulaService: PredefinedFormulaService) {
50+
private pricingService: PricingService,
51+
private predefinedFormulaService: PredefinedFormulaService,
52+
) {
4953
this.autoscaleFormulaService.init();
5054
this.settingsService.init();
5155
this.sshKeyService.init();
5256
this.commandService.init();
53-
// Init the pricing when good to go.
54-
// this.pricingService.init();
57+
this.pricingService.init();
5558
this.vmSizeService.init();
5659
this.adalService.init(adalConfig);
5760
this.accountService.loadInitialData();
61+
pythonRpcService.init();
62+
5863
this.predefinedFormulaService.init();
5964
this.hasAccount = accountService.currentAccount.map((x) => Boolean(x));
6065

app/app.module.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ import { TaskModule } from "app/components/task/task.module";
2828
import { BatchLabsErrorHandler } from "app/error-handler";
2929

3030
// services
31+
import { HttpModule } from "@angular/http";
32+
import { PollService } from "app/services/core";
3133
import {
3234
AccountService,
3335
AdalService,
@@ -37,21 +39,25 @@ import {
3739
AzureHttpService,
3840
BatchClientService,
3941
CommandService,
42+
ComputeService,
4043
ElectronRemote,
4144
ElectronShell,
4245
FileService,
4346
FileSystemService,
4447
GithubDataService,
4548
HttpUploadService,
49+
JobHookTaskService,
4650
JobService,
4751
LocalFileStorage,
4852
NodeService,
4953
NodeUserService,
5054
PoolService,
5155
PredefinedFormulaService,
5256
PricingService,
57+
PythonRpcService,
5358
SSHKeyService,
5459
SettingsService,
60+
StorageAccountService,
5561
StorageClientService,
5662
StorageService,
5763
SubscriptionService,
@@ -82,6 +88,7 @@ const modules = [
8288
FormsModule,
8389
MaterialModule,
8490
ReactiveFormsModule,
91+
HttpModule,
8592
RouterModule.forRoot(routes, { useHash: true }),
8693
BaseModule,
8794
...modules,
@@ -96,19 +103,24 @@ const modules = [
96103
ArmHttpService,
97104
BatchClientService,
98105
CommandService,
106+
ComputeService,
99107
ElectronRemote,
100108
ElectronShell,
101109
FileService,
102110
FileSystemService,
103111
GithubDataService,
104112
HttpUploadService,
113+
JobHookTaskService,
105114
JobService,
106115
LocalFileStorage,
107116
NodeService,
108117
NodeUserService,
118+
PollService,
109119
PoolService,
110120
PricingService,
121+
PythonRpcService,
111122
SettingsService,
123+
StorageAccountService,
112124
StorageClientService,
113125
StorageService,
114126
SSHKeyService,

app/app.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
22
import { remote } from "electron";
3+
import * as MouseTrap from "mousetrap";
34

45
import { log } from "app/utils";
56
import { AppModule } from "./app.module";
@@ -25,3 +26,11 @@ platform.bootstrapModule(AppModule)
2526
log.error("Bootstrapping failed :: ", error);
2627
handleCoreError(error);
2728
});
29+
30+
MouseTrap.bind("ctrl+shift+i", () => {
31+
if (remote.getCurrentWindow().webContents.isDevToolsOpened()) {
32+
remote.getCurrentWindow().webContents.closeDevTools();
33+
} else {
34+
remote.getCurrentWindow().webContents.openDevTools();
35+
}
36+
});

app/components/account/account.module.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
import { NgModule } from "@angular/core";
22

33
import { commonModules } from "app/common";
4-
import { AccountCreateDialogComponent } from "app/components/account/action/add/account-create-dialog.component";
5-
import { DeleteAccountDialogComponent } from "app/components/account/action/delete/delete-account-dialog.component";
6-
import { AccountBrowseModule } from "app/components/account/browse";
7-
import { AccountDefaultComponent, AccountDetailsComponent } from "app/components/account/details";
8-
import { AccountHomeComponent } from "app/components/account/home";
4+
import { EditStorageAccountFormComponent } from "app/components/account/action/edit-storage-account";
5+
import { StorageAccountPickerComponent } from "app/components/account/base/storage-account-picker";
96
import { PoolDetailsModule } from "app/components/pool/details";
7+
import { AccountCreateDialogComponent } from "./action/add/account-create-dialog.component";
8+
import { DeleteAccountDialogComponent } from "./action/delete/delete-account-dialog.component";
9+
import { AccountBrowseModule } from "./browse";
10+
import { AccountDefaultComponent, AccountDetailsComponent } from "./details";
11+
import { AccountQuotasCardComponent } from "./details/account-quotas-card";
12+
import { StorageAccountCardComponent } from "./details/storage-account-card";
13+
import { AccountHomeComponent } from "./home";
1014

1115
const components = [
1216
AccountCreateDialogComponent, AccountDefaultComponent, AccountDetailsComponent,
13-
AccountHomeComponent, DeleteAccountDialogComponent,
17+
AccountHomeComponent, DeleteAccountDialogComponent, StorageAccountCardComponent,
18+
EditStorageAccountFormComponent, StorageAccountPickerComponent, AccountQuotasCardComponent,
1419
];
1520

1621
const modules = [
@@ -24,6 +29,7 @@ const modules = [
2429
entryComponents: [
2530
AccountCreateDialogComponent,
2631
DeleteAccountDialogComponent,
32+
EditStorageAccountFormComponent,
2733
],
2834
})
2935
export class AccountModule {

0 commit comments

Comments
 (0)