Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add panelling to Import Tekton resources from repository #182

Merged
merged 1 commit into from
Jun 5, 2019
Merged

Add panelling to Import Tekton resources from repository #182

merged 1 commit into from
Jun 5, 2019

Conversation

jessm12
Copy link
Member

@jessm12 jessm12 commented May 24, 2019

Changes

Add Pipeline0 and Pipeline0 task yaml definitions that are applied at install (ko apply) time, this pipeline applies all resources under the Pipeline's specified directory at the provided repository. Add the panel and associated tests to allow the user to input a repository URL and ServiceAccount and trigger a PipelineRun of Pipeline0 from this data.

Below is a screenshot of the panel:

Screen Shot 2019-05-24 at 15 10 49

Submitter Checklist

These are the criteria that every PR should meet, please check them off as you
review them:

See the contribution guide
for more details.

@tekton-robot tekton-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label May 24, 2019
Copy link
Member

@AlanGreene AlanGreene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Required fields should use the required attribute for accessibility / general UX purposes.

When there are no service accounts available the drop down should probably indicate this either by being disabled or including a 'no service accounts' message.

I'm also not seeing any feedback if I try to submit an empty form.


The design / layout should follow the Carbon guidelines, e.g.:
image

See https://www.carbondesignsystem.com/components/form/code and https://www.carbondesignsystem.com/components/form/style for details of the design system's approach for forms.

package-lock.json Outdated Show resolved Hide resolved
src/api/index.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.scss Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.scss Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
@tekton-robot tekton-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels May 28, 2019
@jessm12 jessm12 closed this May 29, 2019
@tekton-robot tekton-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels May 29, 2019
@jessm12 jessm12 reopened this May 29, 2019
@tekton-robot tekton-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels May 29, 2019
Copy link
Member

@AlanGreene AlanGreene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some issues with the navigation layout, see the Namespace dropdown in the screenshots

master:
image

this PR:
image

There's also no feedback if I enter an invalid (?) URL and submit the form:
image

src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.scss Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.test.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.test.js Outdated Show resolved Hide resolved
@jessm12
Copy link
Member Author

jessm12 commented May 29, 2019

@AlanGreene in terms of feedback on an invalid URL I am not sure what kind of checks we should be doing and where/how to go about them 🤔 the API does some basic checking at the moment for slashes and this is when and error is returned but it is not a full check for a valid URL

@AlanGreene
Copy link
Member

We should display something useful to the user, e.g. 'unable to load repo' / 'repo not found' or if we have any useful info in the API response. Right now it seems like nothing is happening when clicking the button which is not good.

@jessm12
Copy link
Member Author

jessm12 commented May 29, 2019

http://example.com reports invalid input for me when I try to submit as should I think any URL that isn't of the form http://example.com/something/something, Brandon has just mentioned to me that there is a type field that can be set to URL for some additional validation, would this be sufficient?

I don't think we can do any actual checking of the URL so whether the repo is found as we may not even have access to the repo without the relevant permissions, the PipelineRun should run if the correct format is submitted and it's logs will report if there was a problem with the repo or accessing it

@AlanGreene AlanGreene mentioned this pull request May 29, 2019
3 tasks
AlanGreene referenced this pull request in AlanGreene/dashboard May 29, 2019
Discovered in #182 (comment) that our JS linter is not being run on PR builds.
Add it to node_test so we can capture these issues and provide faster feedback
to developers without requiring manual review/testing of code style, unused
variables/imports etc.

Also add the node-* folder (used in PR builds) to .gitignore to avoid
issues with unexpected lint config references.
tekton-robot pushed a commit that referenced this pull request May 30, 2019
Discovered in #182 (comment) that our JS linter is not being run on PR builds.
Add it to node_test so we can capture these issues and provide faster feedback
to developers without requiring manual review/testing of code style, unused
variables/imports etc.

Also add the node-* folder (used in PR builds) to .gitignore to avoid
issues with unexpected lint config references.
@jessm12
Copy link
Member Author

jessm12 commented May 30, 2019

/retest

mnuttall added a commit to mnuttall/dashboard that referenced this pull request May 30, 2019
* add navigation to view pipelines and tasks

remove logging statement

update based on feedback

update based on feedback - add tooltip, fix text wrapping style, clean up map state to props, remove unused async

fix runs link

* secret management

* feedback updates

* more feedback changes

* Create pipelinerun (#2)

* add serviceaccounts dropdown component

* add a pipelines dropdown component

* working on create pipelinerun

* reset selectedItem when selected namespace changes

* fix typo

* add a pipelines dropdown component

* add serviceaccounts dropdown component

* use TooltipDropdown

* add button linking to create-pipelinerun page

* fixed selectItem in ServiceAccounts dropdown

* link to my create page

* add validation components

* add style

* fix bug where pipelineRun.status.conditions is undefined

* got validation working with modal using ComposedModal

* add styling

* update labels

* debugging validation

* add openshift/minishift install of dashboard

* Initial publish script for dashboard image

This script is called as a postsubmit and publish the dashboard image
to gcr.io/tekton-nightly/github.com/… using `ko`

Signed-off-by: Vincent Demeester <vdemeest@redhat.com>

* Add 'npm run lint' to PR build

Discovered in tektoncd#182 (comment) that our JS linter is not being run on PR builds.
Add it to node_test so we can capture these issues and provide faster feedback
to developers without requiring manual review/testing of code style, unused
variables/imports etc.

Also add the node-* folder (used in PR builds) to .gitignore to avoid
issues with unexpected lint config references.
@jessm12
Copy link
Member Author

jessm12 commented May 30, 2019

This is ready for another review when you have a chance to take a look please @AlanGreene 👼

I think the only part of your comments that I haven't addressed here is setting the dropdown to be deactivated or to display some message when there are no ServiceAccounts, I think this should be done in the component so I can do this work separately from this issue

@ncskier ncskier mentioned this pull request May 30, 2019
3 tasks
@ncskier
Copy link
Member

ncskier commented May 30, 2019

@AlanGreene @jessm12 I am addressing the empty dropdown message in PR #201, which can go in after Jess's PR (I expect there will be a few merge conflicts)

config/pipeline0-task.yaml Show resolved Hide resolved
src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.scss Outdated Show resolved Hide resolved
Copy link
Member

@AlanGreene AlanGreene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still some previous comments that haven't been addressed, almost there...

src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
src/containers/ImportResources/ImportResources.js Outdated Show resolved Hide resolved
Add Pipeline0 and Pipeline0 task yaml definitions that are applied at install (ko apply) time, this pipeline applies all resources under the specified directory at the repository provided. Add the panel and associated tests to allow the user to input a repository URL and directory path and ServiceAccount and trigger a PipelineRun of Pipeline0 from this data.
@jessm12
Copy link
Member Author

jessm12 commented Jun 5, 2019

I think this is hopefully 🤞 ready to go now @AlanGreene 😅

Copy link
Member

@AlanGreene AlanGreene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve
/meow boxes

@tekton-robot
Copy link
Contributor

@AlanGreene: cat image

In response to this:

/lgtm
/approve
/meow boxes

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Jun 5, 2019
@tekton-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: AlanGreene, jessm12

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 5, 2019
@tekton-robot tekton-robot merged commit 9fb0fc9 into tektoncd:master Jun 5, 2019
barthy1 pushed a commit to barthy1/dashboard that referenced this pull request Apr 14, 2021
Add an overlay for the dashboard in the dogfooding cluster.
The overlay includes:
- an ingress resource
- setting the service to "nodePort", which is required for
  the ingress to work with GKE.

This patch includes also a ClusterIssuer that can be used for
any ingress in the cluster. Using the cluster issuer requires
cert-manager to be installed first:

https://cert-manager.io/docs/installation/kubernetes/#installing-with-regular-manifests

GKE load balancer setup the health check to point to the
readiness probe defined in the pods associated to the service.
The probe is expected to return 200, while in the latest
dashboard it returns 204 No Content. This patch fixes the issue:
tektoncd#1017

Partially fixes tektoncd#182
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants