Skip to content

Commit

Permalink
Merge branch 'master' into user-permanent-disable
Browse files Browse the repository at this point in the history
  • Loading branch information
brig authored Feb 27, 2024
2 parents 15b82b3 + cad9df7 commit 4fd3960
Show file tree
Hide file tree
Showing 14 changed files with 525 additions and 352 deletions.
2 changes: 1 addition & 1 deletion cli/src/main/java/com/walmartlabs/concord/cli/Run.java
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ private static ProcessInfo processInfo(Map<String, Object> args, List<String> pr
}

return ProcessInfo.builder()
.sessionToken(MapUtils.getString(processInfo, "sessionToken"))
.sessionToken(MapUtils.getString(processInfo, "sessionToken", "<undefined>"))
.activeProfiles(profiles)
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,14 @@
import com.google.inject.Singleton;
import com.google.inject.multibindings.Multibinder;
import com.walmartlabs.concord.cli.Verbosity;
import com.walmartlabs.concord.client2.ApiClient;
import com.walmartlabs.concord.dependencymanager.DependencyManager;
import com.walmartlabs.concord.runtime.v2.runner.*;
import com.walmartlabs.concord.runtime.v2.runner.checkpoints.CheckpointService;
import com.walmartlabs.concord.runtime.v2.runner.guice.BaseRunnerModule;
import com.walmartlabs.concord.runtime.v2.runner.logging.RunnerLogger;
import com.walmartlabs.concord.runtime.v2.runner.logging.SimpleLogger;
import com.walmartlabs.concord.runtime.v2.runner.remote.ApiClientProvider;
import com.walmartlabs.concord.runtime.v2.runner.tasks.TaskCallListener;
import com.walmartlabs.concord.runtime.v2.sdk.DockerService;
import com.walmartlabs.concord.runtime.v2.sdk.LockService;
Expand Down Expand Up @@ -80,6 +82,8 @@ protected void configure() {
bind(ProcessStatusCallback.class).toInstance(instanceId -> {
});

bind(ApiClient.class).toProvider(ApiClientProvider.class);

bind(DefaultTaskVariablesService.class)
.toInstance(new MapBackedDefaultTaskVariablesService(readDefaultVars(defaultTaskVars)));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ configuration:
flows:
default:
- log: "Hello, ${name}"
- expr: "${sleep.ms(10)}"
496 changes: 166 additions & 330 deletions console2/package-lock.json

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion console2/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"private": true,
"devDependencies": {
"@babel/preset-react": "7.16.0",
"@datasert/cronjs-matcher": "^1.4.0",
"@testing-library/react": "12.1.2",
"@types/jest": "27.0.3",
"@types/lodash": "4.14.178",
Expand Down Expand Up @@ -60,8 +61,8 @@
"semantic-ui-calendar-react": "0.15.3",
"semantic-ui-css": "2.4.1",
"semantic-ui-react": "2.0.4",
"styled-tools": "1.7.2",
"styled-components": "5.3.3",
"styled-tools": "1.7.2",
"typeface-lato": "1.1.13",
"url-search-params-polyfill": "8.1.1"
},
Expand Down
7 changes: 6 additions & 1 deletion console2/src/api/org/project/repository/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,16 @@ export interface TriggerCfg {
name?: string;
}

export interface TriggerConditions {
spec?: string;
version?: string;
}

export interface TriggerEntry {
id: ConcordId;
eventSource: ConcordKey;
arguments?: object;
conditions?: object;
conditions?: TriggerConditions;
activeProfiles?: string[];
cfg: TriggerCfg;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ import { ConcordKey, RequestError } from '../../../api/common';
import { TriggerEntry } from '../../../api/org/project/repository';
import { actions, ListTriggersResponse, State } from '../../../state/data/triggers';
import { comparators } from '../../../utils';
import { RequestErrorMessage } from '../../molecules';
import {LocalTimestamp, RequestErrorMessage} from '../../molecules';

import * as cronjsMatcher from '@datasert/cronjs-matcher';

interface ExternalProps {
orgName: ConcordKey;
Expand Down Expand Up @@ -90,22 +92,80 @@ class RepositoryTriggersActivity extends React.Component<Props, OwnState> {
);
}

const cronTriggers = data?.filter((t) => t.eventSource === 'cron');
const otherTriggers = data?.filter((t) => t.eventSource !== 'cron');

return (
<>
<Table celled={true} striped={true}>
<Table.Header>
<Table.Row>
<Table.HeaderCell collapsing={true}>Source</Table.HeaderCell>
<Table.HeaderCell>Conditions</Table.HeaderCell>
<Table.HeaderCell collapsing={true}>Entry Point</Table.HeaderCell>
<Table.HeaderCell>Configuration</Table.HeaderCell>
<Table.HeaderCell>Arguments</Table.HeaderCell>
</Table.Row>
</Table.Header>

<Table.Body>
{data &&
data.map((t, idx) => (
{cronTriggers && <>
<h3>Cron Triggers</h3>
<Table celled={true} striped={true}>
<Table.Header>
<Table.Row>
<Table.HeaderCell width={3}>Conditions</Table.HeaderCell>
<Table.HeaderCell collapsing={true}>Entry Point</Table.HeaderCell>
<Table.HeaderCell width={5}>Configuration</Table.HeaderCell>
<Table.HeaderCell width={5}>Arguments</Table.HeaderCell>
</Table.Row>
</Table.Header>

<Table.Body>
{cronTriggers.map((t, idx) => (
<Table.Row key={idx}>
<Table.Cell>
{t.conditions?.spec !== undefined && (
<pre>
Expression: <b>{t.conditions?.spec}</b>
<br/>
Next run: <LocalTimestamp value={cronjsMatcher.getFutureMatches(t.conditions?.spec, {matchCount: 1})[0]}/>
</pre>)}
</Table.Cell>
<Table.Cell>
<pre>{t.cfg.entryPoint}</pre>
</Table.Cell>
<Table.Cell>
<ReactJson
src={t.cfg}
collapsed={true}
name={null}
enableClipboard={false}
/>
</Table.Cell>
<Table.Cell>
{t.arguments && (
<ReactJson
src={t.arguments}
collapsed={true}
name={null}
enableClipboard={false}
/>
)}
</Table.Cell>
</Table.Row>
))}
{cronTriggers.length === 0 && (
<Table.Row>
<Table.Cell colSpan={5}>No other triggers</Table.Cell>
</Table.Row>
)}
</Table.Body>
</Table>
</>}
{otherTriggers && <>
<h3>Other Triggers</h3>
<Table celled={true} striped={true}>
<Table.Header>
<Table.Row>
<Table.HeaderCell collapsing={true}>Source</Table.HeaderCell>
<Table.HeaderCell>Conditions</Table.HeaderCell>
<Table.HeaderCell collapsing={true}>Entry Point</Table.HeaderCell>
<Table.HeaderCell>Configuration</Table.HeaderCell>
<Table.HeaderCell>Arguments</Table.HeaderCell>
</Table.Row>
</Table.Header>

<Table.Body>
{otherTriggers.map((t, idx) => (
<Table.Row key={idx}>
<Table.Cell>{t.eventSource}</Table.Cell>
<Table.Cell>
Expand Down Expand Up @@ -139,8 +199,14 @@ class RepositoryTriggersActivity extends React.Component<Props, OwnState> {
</Table.Cell>
</Table.Row>
))}
</Table.Body>
</Table>
{otherTriggers.length === 0 && (
<Table.Row>
<Table.Cell colSpan={5}>No other triggers</Table.Cell>
</Table.Row>
)}
</Table.Body>
</Table>
</>}
</>
);
}
Expand Down
1 change: 1 addition & 0 deletions plugins/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

<modules>
<module>tasks/ansible</module>
<module>tasks/asserts</module>
<module>tasks/concord</module>
<module>tasks/crypto</module>
<module>tasks/docker</module>
Expand Down
50 changes: 50 additions & 0 deletions plugins/tasks/asserts/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.walmartlabs.concord.plugins.basic</groupId>
<artifactId>parent</artifactId>
<version>2.8.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

<artifactId>asserts-tasks</artifactId>
<packaging>jar</packaging>

<properties>
</properties>

<dependencies>
<dependency>
<groupId>com.walmartlabs.concord</groupId>
<artifactId>concord-sdk</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.walmartlabs.concord.runtime.v2</groupId>
<artifactId>concord-runtime-sdk-v2</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.eclipse.sisu</groupId>
<artifactId>sisu-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Loading

0 comments on commit 4fd3960

Please sign in to comment.