Skip to content

Commit

Permalink
adds basic workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
auhlig committed Apr 22, 2024
1 parent d24cee4 commit 3c52e4b
Show file tree
Hide file tree
Showing 10 changed files with 446 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
* @cloudoperators/Administrators
66 changes: 66 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: "🐛 Bug Report"
description: Create a new ticket for a bug experienced in Greenhouse.
title: "🐛 [BUG] - <title>"
labels: [
"bug",
]
body:
- type: markdown
attributes:
value: |
Thanks for reporting an issue you experienced with the Greenhouse platform.
Please complete the below form to ensure we have the necessary details to assist you.
- type: dropdown
id: priority
attributes:
label: Priority
description: Let us know how this issue is affecting you
options:
- (Low) Something is a little off
- (Medium) I'm annoyed but I'll live
- (Urgent) I can't use Greenhouse
- type: textarea
id: description
attributes:
label: "Description"
description: Please enter an explicit description of your issue
placeholder: Short and explicit description of your incident...
validations:
required: true
- type: textarea
id: reprod
attributes:
label: "Reproduction steps"
description: Please enter an explicit description of your issue
value: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
render: bash
validations:
required: true
- type: textarea
id: manifests
attributes:
label: "Manifests"
description: If applicable, add manifests to help reproduce your problem.
value: |
```yaml
apiVersion: greenhouse.sap/v1alpha1
kind: ...
```
render: yaml
validations:
required: false
- type: textarea
id: screenshot
attributes:
label: "Screenshots"
description: If applicable, add screenshots to help explain your problem.
value: |
![DESCRIPTION](LINK.png)
render: bash
validations:
required: false
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: "💡 Feature Request"
description: Create a ticket requesting a new feature
title: "[FEAT] - <title>"
labels: [
"feature"
]
body:
- type: markdown
attributes:
value: |
Thanks for requesting an awesome new feature!
Your input means a lot to us, and we're excited to explore the possibilities and see how we can make it happen.
- type: dropdown
id: priority
attributes:
label: Priority
description: Let us know how the lack of this feature is affecting you
options:
- (Low) Something is a little off
- (Medium) I'm annoyed but I'll live
- (Urgent) I can't use the Greenhouse without
- type: textarea
id: description
attributes:
label: "Description"
description: Provide a clear and concise description of the feature you're requesting
placeholder: Short and explicit description of your feature.
validations:
required: true
- type: textarea
id: reference_issues
attributes:
label: "Reference Issues"
description: Common issues
placeholder: "#Issues IDs"
validations:
required: false
59 changes: 59 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
## Description
<!--
Please do not leave this blank
This PR [adds/removes/fixes/replaces] the [feature/bug/etc].
-->

Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.

## What type of PR is this? (check all applicable)

- [ ] 🍕 Feature
- [ ] 🐛 Bug Fix
- [ ] 📝 Documentation Update
- [ ] 🎨 Style
- [ ] 🧑‍💻 Code Refactor
- [ ] 🔥 Performance Improvements
- [ ] ✅ Test
- [ ] 🤖 Build
- [ ] 🔁 CI
- [ ] 📦 Chore (Release)
- [ ] ⏩ Revert

## Related Tickets & Documents

<!--
Please use this format link issue numbers: Fixes #123
https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
-->
- Related Issue # (issue)
- Closes # (issue)
- Fixes # (issue)

> Remove if not applicable
## Added tests?

- [ ] 👍 yes
- [ ] 🙅 no, because they aren't needed
- [ ] 🙋 no, because I need help
- [ ] Separate ticket for tests # (issue/pr)

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

## Added to documentation?

- [ ] 📜 README.md
- [ ] 🤝 Documentation pages updated
- [ ] 🙅 no documentation needed
- [ ] (if applicable) generated OpenAPI docs for CRD changes

## Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
54 changes: 54 additions & 0 deletions .github/licenserc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
header:
license:
spdx-id: Apache-2.0
content: |
SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and Greenhouse contributors
SPDX-License-Identifier: Apache-2.0
paths: # `paths` are the path list that will be checked (and fixed) by license-eye, default is ['**'].
- '**'

paths-ignore:
- '.github/**'
- '.reuse/dep5'
- 'LICENSES/*.txt'
- 'grafana/*.json'
- 'website/scripts/**'
- 'hack/**'
- 'hack/openapi-generator/openapi-info.yaml'
- 'hack/boilerplate.go.txt'
- 'docs/**'
- '**/*.md'
- 'LICENSE'
- 'NOTICE'
- 'PROJECT'
- '**/*.gitignore'
- '**/*.helmignore'
- '**/*.tpl'
- '**/go.mod'
- '**/go.sum'
- '**/*.lock'
- '**/*.json'
- '**/.gitkeep'
- '**/*.txt'
- '*Dockerfile*'
- 'Makefile'
- 'pkg/idproxy/web/**'
- 'pkg/apis/scheme_builder.go' # Belongs to the Kubernetes authors
- 'cmd/tcp-proxy/main.go' # MIT License
- 'pkg/tcp-proxy/proxy/*.go' # MIT License
- '**/zz_generated.deepcopy.go' # Generated by Kubebuilder
- 'charts/**/templates/*.yaml' # license headers on helm templates are causing issues


comment: on-failure

# license-location-threshold specifies the index threshold where the license header can be located,
# after all, a "header" cannot be TOO far from the file start.
license-location-threshold: 80

language:
JSX:
extensions:
- ".jsx"
comment_style_id: SlashAsterisk
86 changes: 86 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"assigneesFromCodeOwners": true,
"extends": [
"config:recommended"
],
"constraints": {
"go": "1.21"
},
"packageRules": [
{
"groupName": "github actions",
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["major", "minor"],
"extends": [
"helpers:pinGitHubActionDigests"
],
"minimumReleaseAge": "14 days"
},
{
"groupName": "npm dependencies",
"matchDatasources": [
"npm"
],
"minimumReleaseAge": "14 days"
},
{
"groupName": "golang",
"matchDatasources": ["docker", "go-version"],
"matchPackagePatterns": ["golang"],
"minimumReleaseAge": "14 days"
},
{
"groupName": "kubernetes packages",
"groupSlug": "kubernetes-go",
"matchDatasources": [
"go"
],
"matchUpdateTypes": ["major", "minor"],
"matchPackagePrefixes": [
"k8s.io/api",
"k8s.io/apiextensions-apiserver",
"k8s.io/apimachinery",
"k8s.io/apiserver",
"k8s.io/cli-runtime",
"k8s.io/client-go",
"k8s.io/cloud-provider",
"k8s.io/cluster-bootstrap",
"k8s.io/code-generator",
"k8s.io/component-base",
"k8s.io/controller-manager",
"k8s.io/cri-api",
"k8s.io/csi-translation-lib",
"k8s.io/kube-aggregator",
"k8s.io/kube-controller-manager",
"k8s.io/kube-proxy",
"k8s.io/kube-scheduler",
"k8s.io/kubectl",
"k8s.io/kubelet",
"k8s.io/legacy-cloud-providers",
"k8s.io/metrics",
"k8s.io/mount-utils",
"k8s.io/pod-security-admission",
"k8s.io/sample-apiserver",
"k8s.io/sample-cli-plugin",
"k8s.io/sample-controller",
"sigs.k8s.io/controller-runtime"
],
"minimumReleaseAge": "14 days"
}
],
"postUpdateOptions": [
"gomodTidy",
"gomodUpdateImportPaths"
],
"separateMinorPatch": true,
"customManagers": [
{
"customType": "regex",
"fileMatch": ["Makefile$", "\\.sh$"],
"matchStrings": [
"# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\s]+?))?\\s.+?_(VERSION|version) *[?:]?= *\"?(?<currentValue>.+?)\"?\\s"
]
}
]
}
79 changes: 79 additions & 0 deletions .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: "CodeQL"

on:
push:
branches: [ "main" ]
pull_request:
types: [ opened, synchronize, reopened ]
schedule:
- cron: '20 08 * * 1'

jobs:
analyze:
name: Analyze
runs-on: [ default ]
timeout-minutes: 360
permissions:
# required for all workflows
security-events: write
# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
language: [ 'go' ]
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
# node-version: [ node ]
go-version: [ '1.21' ]

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}

# - name: Use Node.js ${{ matrix.node-version }}
# uses: actions/setup-node@v4
# with:
# node-version: ${{ matrix.node-version }}

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
Loading

0 comments on commit 3c52e4b

Please sign in to comment.