Code Monkey home page Code Monkey logo

kubernetes-sigs / prow Goto Github PK

View Code? Open in Web Editor NEW
59.0 9.0 58.0 30.92 MB

Prow is a Kubernetes based CI/CD system developed to serve the Kubernetes community. This repository contains Prow source code and Hugo sources for Prow documentation site.

Home Page: https://docs.prow.k8s.io

License: Apache License 2.0

Makefile 0.07% HTML 0.66% SCSS 0.01% Shell 1.62% Mermaid 0.04% Go 94.62% TypeScript 2.48% CSS 0.39% JavaScript 0.01% Python 0.09%
k8s-sig-testing

prow's Introduction

Prow

Statically generated docs for Prow (the tool that currently resides in kubernetes/test-infra). For historical reasons Prow lives in kubernetes/test-infra along with other things, but this repo is all about Prow.

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

prow's People

Contributors

0xmichalis avatar adshmh avatar airbornepony avatar alexnpavel avatar alvaroaleman avatar amwat avatar bentheelder avatar cblecker avatar chaodaig avatar cjwagner avatar droslean avatar fejta avatar hongkailiu avatar ibzib avatar ixdy avatar k8s-ci-robot avatar katharine avatar krzyzacy avatar listx avatar matthyx avatar mpherman2 avatar nikhita avatar petr-muller avatar qhuynh96 avatar shyamjvs avatar smg247 avatar spiffxp avatar spxtr avatar stevekuznetsov avatar yguo0905 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

prow's Issues

Document using Tekton Pipelines as prow jobs

I understand from kubernetes/test-infra#11888 that prow is able to run tekton pipelines as prow jobs.
However, it does not look like it's documented in docs.prow.k8s.io ("Tekton" search does not return any results)

From the PR conversation, it looks like a follow-up PR was planned, but never materialized (I guess that's the habitual fate of planned documentation ๐Ÿ˜„ ).

It looks like tekton has some docs on that ( https://github.com/tektoncd/plumbing/blob/main/docs/prow.md#tekton-pipelines-with-prow ). But as far as I understand, it applies to their prow instance, not in general.

kubernetes/test-infra#13874 seems also relevant, in particular the third comment, but I'm not sure how much has changed since that ?

@Gregory-Pereira you might be interested.

Errors occur when trying to run the website locally

I tried to run the website locally, but some errors occurred.

[env]

[prereq]

  • make init-theme
  • make update-theme

[cmd & output]

โฏ hugo server -v                                     
Start building sites โ€ฆ 
hugo v0.91.2+extended linux/amd64 BuildDate=unknown
INFO 2022/11/11 16:15:24 syncing static files to /
ERROR 2022/11/11 16:15:24 render of "page" failed: execute of template failed: template: docs/single.html:30:7: executing "docs/single.html" at <partial "scripts.html" .>: error calling partial: "/home/jhseo/prow/site/themes/docsy/layouts/partials/scripts.html:67:107": execute of template failed: template: partials/scripts.html:67:107: executing "partials/scripts.html" at <resources.Concat>: error calling Concat: slice []interface {} not supported in concat
ERROR 2022/11/11 16:15:24 render of "page" failed: execute of template failed: template: docs/single.html:30:7: executing "docs/single.html" at <partial "scripts.html" .>: error calling partial: "/home/jhseo/prow/site/themes/docsy/layouts/partials/scripts.html:67:107": execute of template failed: template: partials/scripts.html:67:107: executing "partials/scripts.html" at <resources.Concat>: error calling Concat: slice []interface {} not supported in concat
ERROR 2022/11/11 16:15:24 render of "page" failed: execute of template failed: template: docs/single.html:30:7: executing "docs/single.html" at <partial "scripts.html" .>: error calling partial: "/home/jhseo/prow/site/themes/docsy/layouts/partials/scripts.html:67:107": execute of template failed: template: partials/scripts.html:67:107: executing "partials/scripts.html" at <resources.Concat>: error calling Concat: slice []interface {} not supported in concat
ERROR 2022/11/11 16:15:24 render of "page" failed: execute of template failed: template: docs/single.html:30:7: executing "docs/single.html" at <partial "scripts.html" .>: error calling partial: "/home/jhseo/prow/site/themes/docsy/layouts/partials/scripts.html:67:107": execute of template failed: template: partials/scripts.html:67:107: executing "partials/scripts.html" at <resources.Concat>: error calling Concat: slice []interface {} not supported in concat
ERROR 2022/11/11 16:15:24 failed to render pages: render of "page" failed: execute of template failed: template: docs/single.html:30:7: executing "docs/single.html" at <partial "scripts.html" .>: error calling partial: "/home/jhseo/prow/site/themes/docsy/layouts/partials/scripts.html:67:107": execute of template failed: template: partials/scripts.html:67:107: executing "partials/scripts.html" at <resources.Concat>: error calling Concat: slice []interface {} not supported in concat
Error: Error building site: TOCSS: failed to transform "scss/main.scss" (text/x-scss): SCSS processing failed: file "stdin", line 6, col 1: File to import not found or unreadable: ../vendor/bootstrap/scss/bootstrap. 
Built in 169 ms

Migrate existing Prow docs over to this repo

Context: kubernetes/test-infra#24821 (comment) and this design doc

The existing docs site at https://docs.prow.k8s.io is rather bare-bones and needs more content. Luckily, a lot of content already exists, in the k/t-i repo (look for Markdown files). We need to identify content that needs to be migrated over, create a migration task list for each of those content areas, and then one-by-one do the actual migration.

Note that any content that is migrated should probably be deleted from k/t-i, so this would require edits to both k/t-i and this repo.

Prow Issue for TFplan

Dear Team,

I am facing an issue with regards to terraform plan check test which is a mandatory check in one of our private github private repositories.
While I perform the terraform plan and terraform apply locally on my pc, this works but once the code is checked into github this test pull-tfplan fails
Could someone help me in resolving this issue as I am not able to understand from where prow is picking up this config. issue.

Error: Unsupported Terraform Core version
This configuration does not support Terraform version 0.12.29. To proceed,
either choose another supported Terraform version or update the root module's
version constraint. Version constraints are normally set for good reason, so
updating the constraint may lead to other errors or unexpected behavior.
Error: Initialization required. Please see the error message above.
Error: No configuration files
Plan requires configuration to be present. Planning without a configuration
would mark everything for destruction, which is normally not what is desired.
If you would like to destroy everything, run plan with the -destroy option.
Otherwise, create a Terraform configuration file (.tf file) and try again.

This is what I have in our .prow.yaml

- name: pull-tfplan
  decorate: true
  decoration_config:
    ssh_key_secrets:
    - prow-github-ssh-key
  always_run: true
  skip_report: false
  clone_uri: "[email protected]:VerveWireless/verve-group-infrastructure.git"
  spec:
    containers:
    - image: pubnative/ci-runner:1.0
      command: ["/bin/sh", "-c"]
      args: [
        "
        set -x;
        git-crypt unlock /etc/git-crypt/verve-group-infrastructure.gpg &&
        /bin/bash ./bin/runtf.sh
        "
      ]

Restrict Prow for Users running in Environments with OPA constraints

Our team would like to investigate adding some restrictions to Prow to comply with common OPA constraints organizations may have. We would like to prevent Prow from running in privileged modes while keeping its main functionalities. This would allow users to have an option of running prow in a more business friendly manner.

FontAwesome icons are not displayed

[env]

  • Windows 10 64-bit + Google Chrome 107.0.5304.107 64-bit // Microsoft Edge 107.0.1418.56 64-bit
  • Ubuntu 18.04 desktop 64-bit + Firefox 107.0 64-bit // Google Chrome 96.0.4664.45 64-bit

image
image


On the other hand, those are displayed correctly in Netlify preview and local preview

image
image


My guesses are:

make docs discoverable

I can't find a link to the rendered docs in this repo or in test-infra/prow

whenever these are ready for consumption, we should add links

github allows configuring a link on the repo itself which would make sense here, I'd also suggest that we customize the README in this repo with more details and place a prominent link to this repo and the rendered docs in test-infra/prow/README.md

Umbrella issue to revise/add contents

Ref: #4 (comment)

The final step is to update/reorganize/rearrange the contents from the Legacy Snapshot. However we can also just add new content on the side, and later mark things in the Legacy Snapshot as being "dated". The one benefit of the Legacy Snapshot is that at least we get a table-of-contents of every single Prow markdown file, which was previously only discoverable via grepping through the sources (or through enough determined mouse clicks). So in this sense it's something that can happen over a longer period of time. Most likely things will happen organically here.

Anyone that can edit this issue body might update the task list below.

[Common TODO: check, and revise if needed]

Forking Prow

We are moving the /prow directory from k8s.io/test-infra repo to this repo.

The migration should satisfy the following requirements:

  • Developers use a dedicated Prow repository on GitHub.
  • The Prow repository must not depend on libraries in the test-infra repo.
  • Prow commit history is retained in the new repository.
  • Presubmit and postsubmit Prow jobs such as image publishing will run on the new repository.

Make all existing Prow OWNERS members of the @kubernetes-sigs org.

The Prow source code and its corresponding OWNERS files are being moved to this repo. The kubernetes/test-infra repo is currently still the source of truth, but we have begun mirroring the source here to prepare.
Code ownership should not change with this source code move, but some of the existing OWNERS file members are not yet members of the @kubernetes-sigs org. We should resolve this, ideally before completing the move, to ensure existing OWNERS have the access they need for this repo.

Example: #67 (comment)

The following users are mentioned in OWNERS file(s) but are untrusted for the following reasons. One way to make the user trusted is to add them as members of the kubernetes-sigs org. You can then trigger verification by writing /verify-owners in a comment.

  • matthyx
    • User is not a member of the org. Satisfy at least one of these conditions to make the user trusted.
  • droslean
    • User is not a member of the org. Satisfy at least one of these conditions to make the user trusted.
    • prow/OWNERS
  • smg247
    • User is not a member of the org. Satisfy at least one of these conditions to make the user trusted.
    • prow/spyglass/OWNERS
  • jmguzik
    • User is not a member of the org. Satisfy at least one of these conditions to make the user trusted.
  • AlexNPavel
    • User is not a member of the org. Satisfy at least one of these conditions to make the user trusted.
    • prow/bugzilla/OWNERS
    • prow/jira/OWNERS
    • prow/plugins/bugzilla/OWNERS

/cc @matthyx @droslean @smg247 @jmguzik @AlexNPavel
/assign @timwangmusic

Question: default job + in_repo_config override

Hi.

I hope this is a good place to ask a question about prow functionality (and documentation) ? (Please point me to more appropriate channels if not !)


Can I define a ProwJob in the prow config, and override it in managed repo using in_repo_config and a .prow.yaml file ?
The usecase being to have a baseline jobs and have some particular repo override it because of special needs:

for example : prow config:

in_repo_config:
  enabled:
    my_org: true
presubmits:
  my_org:
  - name: pull-validate
    always_run: true
    decorate: true
    spec: {} # whatever

in some repos under my_org:

presubmits:
- name: pull-validate
  always_run: true
  decorate: true
  spec: {} # more specific

The current doc does not mention this, maybe it's in another place ? My online search didn't find either regarding prowjob name conflict which could be relevant, but I might have missed it.

Thanks !

[Feature]: Addition of a response for support related issues

I have seen several issues raising support related requests at github, wouldn't it be cool if a command is added to K8s-ci-robot/prow that will ping the author of issue with a message, whenever we put kind/support label to an issue:-

Input command:
/kind support

Output generated by bot:
@Author_of_issue, GitHub is not the right place for support or troubleshooting related requests. If you're looking for help, you could ask on [Server Fault](https://serverfault.com/questions/tagged/kubernetes). You can also post your question on the [Kubernetes Slack](http://slack.k8s.io/) or the [Discuss Kubernetes](https://discuss.kubernetes.io/) forum.

Additional helpful screenshot i found on K8s site, that can be referred

Screenshot (796)

Implement doc checkers

Reference: kubernetes/test-infra#24821 (comment)

As per the design doc, we should implement automated checkers to make sure we uphold minimum quality standard for both existing documentation as well as newly proposed documentation.

There have been some discussions in the design doc already, but feel free to comment on here about which checker(s) to implement first.

Provide a way to run the website using a container

If we provide a way to run the website using a container, then users

  • don't have to install the dependencies (npm, Go, Hugo extended version, ...)
  • don't need to experience dependency-version-related hassles
  • can be assured that the same dependency versions for Netlify builds are used for their local site builds
  • don't need to upgrade/downgrade their existing dependencies, if any
  • can be provided with the consistent build env, regardless of their actual dev env
  • ...

Ref:

https://github.com/kubernetes/website#running-the-website-using-a-container

https://github.com/kubernetes/website/blob/c1c075845dad11368829d46189605ca10a52dee4/Makefile#L81-L82


And it would also be great to update the check-broken-links.sh to use htmltest container, not htmltest binary which users need to install manually. ๐Ÿ˜Š
(Related comment: #5 (comment))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.