@backstage-community/plugin-github-actions 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowRunsTable.esm.js","sources":["../../../src/components/WorkflowRunsTable/WorkflowRunsTable.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport Typography from '@material-ui/core/Typography';\nimport Box from '@material-ui/core/Box';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Button from '@material-ui/core/Button';\nimport RetryIcon from '@material-ui/icons/Replay';\nimport GitHubIcon from '@material-ui/icons/GitHub';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { useWorkflowRuns, WorkflowRun } from '../useWorkflowRuns';\nimport { WorkflowRunStatus } from '../WorkflowRunStatus';\nimport SyncIcon from '@material-ui/icons/Sync';\nimport { buildRouteRef } from '../../routes';\nimport { getProjectNameFromEntity } from '../getProjectNameFromEntity';\nimport { Entity } from '@backstage/catalog-model';\n\nimport {\n EmptyState,\n Table,\n TableColumn,\n Link,\n} from '@backstage/core-components';\nimport { useRouteRef } from '@backstage/core-plugin-api';\nimport { getHostnameFromEntity } from '../getHostnameFromEntity';\nimport { getStatusDescription } from '../WorkflowRunStatus/WorkflowRunStatus';\n\n// Utility function to truncate string at the first newline character\nconst truncateAtNewline = (str: string) => {\n const newlineIndex = str.indexOf('\\n');\n return newlineIndex !== -1 ? str.substring(0, newlineIndex) : str;\n};\n\nconst generatedColumns: TableColumn<Partial<WorkflowRun>>[] = [\n {\n title: 'ID',\n field: 'id',\n type: 'numeric',\n width: '150px',\n },\n {\n title: 'Message',\n field: 'message',\n highlight: true,\n render: row => {\n const LinkWrapper = () => {\n const routeLink = useRouteRef(buildRouteRef);\n const truncatedMessage = truncateAtNewline(row.message!);\n return (\n <Link\n component={RouterLink}\n to={routeLink({ id: row.id! })}\n title={row.message} // display full message on hover\n >\n {truncatedMessage}\n </Link>\n );\n };\n\n return <LinkWrapper />;\n },\n },\n {\n title: 'Source',\n render: row => (\n <Typography variant=\"body2\" noWrap>\n <Typography paragraph variant=\"body2\">\n {row.source?.branchName}\n </Typography>\n <Typography paragraph variant=\"body2\">\n {row.source?.commit.hash}\n </Typography>\n </Typography>\n ),\n },\n {\n title: 'Workflow',\n field: 'workflowName',\n },\n {\n title: 'Status',\n customSort: (d1, d2) => {\n return getStatusDescription(d1).localeCompare(getStatusDescription(d2));\n },\n render: row => (\n <Box display=\"flex\" alignItems=\"center\">\n <WorkflowRunStatus status={row.status} conclusion={row.conclusion} />\n </Box>\n ),\n },\n {\n title: 'Actions',\n render: (row: Partial<WorkflowRun>) => (\n <Tooltip title=\"Rerun workflow\">\n <IconButton onClick={row.onReRunClick}>\n <RetryIcon />\n </IconButton>\n </Tooltip>\n ),\n width: '10%',\n },\n];\n\ntype Props = {\n loading: boolean;\n retry: () => void;\n runs?: WorkflowRun[];\n projectName: string;\n page: number;\n onChangePage: (page: number) => void;\n total: number;\n pageSize: number;\n onChangePageSize: (pageSize: number) => void;\n};\n\nexport const WorkflowRunsTableView = ({\n projectName,\n loading,\n pageSize,\n page,\n retry,\n runs,\n onChangePage,\n onChangePageSize,\n total,\n}: Props) => {\n return (\n <Table\n isLoading={loading}\n options={{ paging: true, pageSize, padding: 'dense' }}\n totalCount={total}\n page={page}\n actions={[\n {\n icon: () => <SyncIcon />,\n tooltip: 'Reload workflow runs',\n isFreeAction: true,\n onClick: () => retry(),\n },\n ]}\n data={runs ?? []}\n onPageChange={onChangePage}\n onRowsPerPageChange={onChangePageSize}\n style={{ width: '100%' }}\n title={\n <Box display=\"flex\" alignItems=\"center\">\n <GitHubIcon />\n <Box mr={1} />\n <Typography variant=\"h6\">{projectName}</Typography>\n </Box>\n }\n columns={generatedColumns}\n />\n );\n};\n\nexport const WorkflowRunsTable = ({\n entity,\n branch,\n}: {\n entity: Entity;\n branch?: string;\n}) => {\n const projectName = getProjectNameFromEntity(entity);\n const hostname = getHostnameFromEntity(entity);\n const [owner, repo] = (projectName ?? '/').split('/');\n const [{ runs, ...tableProps }, { retry, setPage, setPageSize }] =\n useWorkflowRuns({\n hostname,\n owner,\n repo,\n branch,\n });\n\n const githubHost = hostname || 'github.com';\n const hasNoRuns = !tableProps.loading && !runs;\n\n return hasNoRuns ? (\n <EmptyState\n missing=\"data\"\n title=\"No Workflow Data\"\n description=\"This component has GitHub Actions enabled, but no data was found. Have you created any Workflows? Click the button below to create a new Workflow.\"\n action={\n <Button\n variant=\"contained\"\n color=\"primary\"\n href={`https://${githubHost}/${projectName}/actions/new`}\n >\n Create new Workflow\n </Button>\n }\n />\n ) : (\n <WorkflowRunsTableView\n {...tableProps}\n runs={runs}\n loading={tableProps.loading}\n retry={retry}\n onChangePageSize={setPageSize}\n onChangePage={setPage}\n />\n );\n};\n"],"names":["RouterLink"],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowRunsTable.esm.js","sources":["../../../src/components/WorkflowRunsTable/WorkflowRunsTable.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport Typography from '@material-ui/core/Typography';\nimport Box from '@material-ui/core/Box';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Button from '@material-ui/core/Button';\nimport RetryIcon from '@material-ui/icons/Replay';\nimport GitHubIcon from '@material-ui/icons/GitHub';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { useWorkflowRuns, WorkflowRun } from '../useWorkflowRuns';\nimport { WorkflowRunStatus } from '../WorkflowRunStatus';\nimport SyncIcon from '@material-ui/icons/Sync';\nimport { buildRouteRef } from '../../routes';\nimport { getProjectNameFromEntity } from '../getProjectNameFromEntity';\nimport { Entity } from '@backstage/catalog-model';\n\nimport {\n EmptyState,\n Table,\n TableColumn,\n Link,\n} from '@backstage/core-components';\nimport { useRouteRef } from '@backstage/core-plugin-api';\nimport { getHostnameFromEntity } from '../getHostnameFromEntity';\nimport { getStatusDescription } from '../WorkflowRunStatus/WorkflowRunStatus';\n\n// Utility function to truncate string at the first newline character\nconst truncateAtNewline = (str: string) => {\n const newlineIndex = str.indexOf('\\n');\n return newlineIndex !== -1 ? str.substring(0, newlineIndex) : str;\n};\n\nconst generatedColumns: TableColumn<Partial<WorkflowRun>>[] = [\n {\n title: 'ID',\n field: 'id',\n type: 'numeric',\n width: '150px',\n },\n {\n title: 'Message',\n field: 'message',\n highlight: true,\n render: row => {\n const LinkWrapper = () => {\n const routeLink = useRouteRef(buildRouteRef);\n const truncatedMessage = truncateAtNewline(row.message!);\n return (\n <Link\n component={RouterLink}\n to={routeLink({ id: row.id! })}\n title={row.message} // display full message on hover\n >\n {truncatedMessage}\n </Link>\n );\n };\n\n return <LinkWrapper />;\n },\n },\n {\n title: 'Source',\n render: row => (\n <Typography variant=\"body2\" noWrap>\n <Typography paragraph variant=\"body2\">\n {row.source?.branchName}\n </Typography>\n <Typography paragraph variant=\"body2\">\n {row.source?.commit.hash}\n </Typography>\n </Typography>\n ),\n },\n {\n title: 'Workflow',\n field: 'workflowName',\n },\n {\n title: 'Status',\n customSort: (d1, d2) => {\n return getStatusDescription(d1).localeCompare(getStatusDescription(d2));\n },\n render: row => (\n <Box display=\"flex\" alignItems=\"center\">\n <WorkflowRunStatus status={row.status} conclusion={row.conclusion} />\n </Box>\n ),\n },\n {\n title: 'Actions',\n render: (row: Partial<WorkflowRun>) => (\n <Tooltip title=\"Rerun workflow\">\n <IconButton onClick={row.onReRunClick}>\n <RetryIcon />\n </IconButton>\n </Tooltip>\n ),\n width: '10%',\n },\n];\n\ntype Props = {\n loading: boolean;\n retry: () => void;\n runs?: WorkflowRun[];\n projectName: string;\n page: number;\n onChangePage: (page: number) => void;\n total: number;\n pageSize: number;\n onChangePageSize: (pageSize: number) => void;\n};\n\nexport const WorkflowRunsTableView = ({\n projectName,\n loading,\n pageSize,\n page,\n retry,\n runs,\n onChangePage,\n onChangePageSize,\n total,\n}: Props) => {\n return (\n <Table\n isLoading={loading}\n options={{ paging: true, pageSize, padding: 'dense' }}\n totalCount={total}\n page={page}\n actions={[\n {\n icon: () => <SyncIcon />,\n tooltip: 'Reload workflow runs',\n isFreeAction: true,\n onClick: () => retry(),\n },\n ]}\n data={runs ?? []}\n onPageChange={onChangePage}\n onRowsPerPageChange={onChangePageSize}\n style={{ width: '100%' }}\n title={\n <Box display=\"flex\" alignItems=\"center\">\n <GitHubIcon />\n <Box mr={1} />\n <Typography variant=\"h6\">{projectName}</Typography>\n </Box>\n }\n columns={generatedColumns}\n />\n );\n};\n\nexport const WorkflowRunsTable = ({\n entity,\n branch,\n}: {\n entity: Entity;\n branch?: string;\n}) => {\n const projectName = getProjectNameFromEntity(entity);\n const hostname = getHostnameFromEntity(entity);\n const [owner, repo] = (projectName ?? '/').split('/');\n const [{ runs, ...tableProps }, { retry, setPage, setPageSize }] =\n useWorkflowRuns({\n hostname,\n owner,\n repo,\n branch,\n });\n\n const githubHost = hostname || 'github.com';\n const hasNoRuns = !tableProps.loading && !runs;\n\n return hasNoRuns ? (\n <EmptyState\n missing=\"data\"\n title=\"No Workflow Data\"\n description=\"This component has GitHub Actions enabled, but no data was found. Have you created any Workflows? Click the button below to create a new Workflow.\"\n action={\n <Button\n variant=\"contained\"\n color=\"primary\"\n href={`https://${githubHost}/${projectName}/actions/new`}\n >\n Create new Workflow\n </Button>\n }\n />\n ) : (\n <WorkflowRunsTableView\n {...tableProps}\n runs={runs}\n loading={tableProps.loading}\n retry={retry}\n onChangePageSize={setPageSize}\n onChangePage={setPage}\n />\n );\n};\n"],"names":["RouterLink"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,17 +1,14 @@
1
- /// <reference types="react" />
2
- import * as _backstage_core_components__ from '@backstage/core-components/*';
3
- import * as react from 'react';
4
- import react__default from 'react';
1
+ import * as _backstage_core_components from '@backstage/core-components';
2
+ import { InfoCardVariants } from '@backstage/core-components';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
5
4
  import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
6
5
  import { ConfigApi } from '@backstage/core-plugin-api';
7
- import * as _backstage_core_plugin_api__ from '@backstage/core-plugin-api/*';
8
6
  import { RestEndpointMethodTypes } from '@octokit/rest';
9
7
  import { ScmAuthApi } from '@backstage/integration-react';
10
8
  import { Entity } from '@backstage/catalog-model';
11
- import { InfoCardVariants } from '@backstage/core-components';
12
9
 
13
10
  /** @public */
14
- declare const githubActionsApiRef: _backstage_core_plugin_api__.ApiRef<GithubActionsApi>;
11
+ declare const githubActionsApiRef: _backstage_core_plugin_api.ApiRef<GithubActionsApi>;
15
12
  /**
16
13
  * A client for fetching information about GitHub actions.
17
14
  *
@@ -188,40 +185,40 @@ declare const githubActionsPlugin: _backstage_core_plugin_api.BackstagePlugin<{
188
185
  entityContent: _backstage_core_plugin_api.RouteRef<undefined>;
189
186
  }, {}, {}>;
190
187
  /** @public */
191
- declare const EntityGithubActionsContent: (props: RouterProps) => react.JSX.Element;
188
+ declare const EntityGithubActionsContent: (props: RouterProps) => react_jsx_runtime.JSX.Element;
192
189
  /** @public */
193
190
  declare const EntityLatestGithubActionRunCard: (props: {
194
191
  branch?: string | undefined;
195
- variant?: _backstage_core_components__.InfoCardVariants | undefined;
196
- }) => react.JSX.Element;
192
+ variant?: _backstage_core_components.InfoCardVariants | undefined;
193
+ }) => react_jsx_runtime.JSX.Element;
197
194
  /** @public */
198
195
  declare const EntityLatestGithubActionsForBranchCard: (props: {
199
196
  branch?: string | undefined;
200
- variant?: _backstage_core_components__.InfoCardVariants | undefined;
201
- }) => react.JSX.Element;
197
+ variant?: _backstage_core_components.InfoCardVariants | undefined;
198
+ }) => react_jsx_runtime.JSX.Element;
202
199
  /** @public */
203
200
  declare const EntityRecentGithubActionsRunsCard: (props: {
204
201
  branch?: string | undefined;
205
202
  dense?: boolean | undefined;
206
203
  limit?: number | undefined;
207
- variant?: _backstage_core_components__.InfoCardVariants | undefined;
208
- }) => react.JSX.Element;
204
+ variant?: _backstage_core_components.InfoCardVariants | undefined;
205
+ }) => react_jsx_runtime.JSX.Element;
209
206
 
210
207
  /** @public */
211
208
  declare const isGithubActionsAvailable: (entity: Entity) => boolean;
212
209
  /** @public */
213
- declare const Router: (props: RouterProps) => react__default.JSX.Element;
210
+ declare const Router: (props: RouterProps) => react_jsx_runtime.JSX.Element;
214
211
 
215
212
  /** @public */
216
213
  declare const LatestWorkflowRunCard: (props: {
217
214
  branch?: string;
218
215
  variant?: InfoCardVariants;
219
- }) => react__default.JSX.Element;
216
+ }) => react_jsx_runtime.JSX.Element;
220
217
  /** @public */
221
218
  declare const LatestWorkflowsForBranchCard: (props: {
222
219
  branch?: string;
223
220
  variant?: InfoCardVariants;
224
- }) => react__default.JSX.Element;
221
+ }) => react_jsx_runtime.JSX.Element;
225
222
 
226
223
  /** @public */
227
224
  declare const RecentWorkflowRunsCard: (props: {
@@ -229,7 +226,7 @@ declare const RecentWorkflowRunsCard: (props: {
229
226
  dense?: boolean;
230
227
  limit?: number;
231
228
  variant?: InfoCardVariants;
232
- }) => react__default.JSX.Element;
229
+ }) => react_jsx_runtime.JSX.Element;
233
230
 
234
231
  /** @public */
235
232
  declare const GITHUB_ACTIONS_ANNOTATION = "github.com/project-slug";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage-community/plugin-github-actions",
3
- "version": "0.9.2",
3
+ "version": "0.10.0",
4
4
  "description": "A Backstage plugin that integrates towards GitHub Actions",
5
5
  "backstage": {
6
6
  "role": "frontend-plugin",
@@ -31,11 +31,11 @@
31
31
  },
32
32
  "typesVersions": {
33
33
  "*": {
34
- "*": [
35
- "dist/index.d.ts"
36
- ],
37
34
  "alpha": [
38
35
  "dist/alpha.d.ts"
36
+ ],
37
+ "package.json": [
38
+ "package.json"
39
39
  ]
40
40
  }
41
41
  },
@@ -68,13 +68,13 @@
68
68
  },
69
69
  "dependencies": {
70
70
  "@backstage/catalog-model": "^1.7.3",
71
- "@backstage/core-compat-api": "^0.4.0",
72
- "@backstage/core-components": "^0.17.0",
73
- "@backstage/core-plugin-api": "^1.10.5",
74
- "@backstage/frontend-plugin-api": "^0.10.0",
75
- "@backstage/integration": "^1.16.2",
76
- "@backstage/integration-react": "^1.2.5",
77
- "@backstage/plugin-catalog-react": "^1.16.0",
71
+ "@backstage/core-compat-api": "^0.4.1",
72
+ "@backstage/core-components": "^0.17.1",
73
+ "@backstage/core-plugin-api": "^1.10.6",
74
+ "@backstage/frontend-plugin-api": "^0.10.1",
75
+ "@backstage/integration": "^1.16.3",
76
+ "@backstage/integration-react": "^1.2.6",
77
+ "@backstage/plugin-catalog-react": "^1.17.0",
78
78
  "@material-ui/core": "^4.12.2",
79
79
  "@material-ui/icons": "^4.9.1",
80
80
  "@material-ui/lab": "4.0.0-alpha.61",
@@ -85,11 +85,11 @@
85
85
  "react-use": "^17.2.4"
86
86
  },
87
87
  "devDependencies": {
88
- "@backstage/cli": "^0.31.0",
89
- "@backstage/core-app-api": "^1.16.0",
90
- "@backstage/dev-utils": "^1.1.8",
91
- "@backstage/frontend-test-utils": "^0.3.0",
92
- "@backstage/test-utils": "^1.7.6",
88
+ "@backstage/cli": "^0.32.0",
89
+ "@backstage/core-app-api": "^1.16.1",
90
+ "@backstage/dev-utils": "^1.1.9",
91
+ "@backstage/frontend-test-utils": "^0.3.1",
92
+ "@backstage/test-utils": "^1.7.7",
93
93
  "@testing-library/dom": "^10.0.0",
94
94
  "@testing-library/jest-dom": "^6.0.0",
95
95
  "@testing-library/react": "^15.0.0",