Skip to content

Commit

Permalink
Updating readme and templates
Browse files Browse the repository at this point in the history
Signed-off-by: oumkale <[email protected]>
  • Loading branch information
oumkale committed Dec 7, 2023
1 parent ed35c6d commit 5e130d4
Show file tree
Hide file tree
Showing 12 changed files with 355 additions and 30 deletions.
83 changes: 83 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
name: "🐛 Bug Report"
description: Create a report to help us improve
labels: [bug]
body:
- type: textarea
id: description
attributes:
label: Describe the bug
description: What is the problem? A clear and concise description of the bug.
validations:
required: true

- type: textarea
id: current
attributes:
label: Current behavior
description: |
Please include full errors, uncaught exceptions, screenshots, and relevant logs.
Using environment variable JFROG_CLI_LOG_LEVEL="DEBUG" upon running the command will provide more log information.
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Reproduction steps
description: |
Provide steps to reproduce the behavior.
validations:
required: false

- type: textarea
id: expected
attributes:
label: Expected behavior
description: |
What did you expect to happen?
validations:
required: false

- type: input
id: jfrog-registry-operator-version
attributes:
label: JFrog registry operator version
validations:
required: true

- type: input
id: package-manager
attributes:
label: Package manager info
description: |
Which package manager name and version is used to build the project?
What's the name and path of the descriptor file (package.json, pom.xml, etc)?
validations:
required: true

- type: dropdown
id: git-provider
attributes:
label: Git provider
options:
- GitHub
- Bitbucket Server
- GitLab
- Azure DevOps
validations:
required: true

- type: textarea
id: jfrog-registry-operator-yaml
attributes:
label: JFrog registry operator configuration yaml file
validations:
required: false

- type: input
id: os-version
attributes:
label: Operating system type and version
validations:
required: true
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: ⭐️ Feature request
about: Suggest an idea for this project
title: ""
labels: feature request
assignees: ""
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like to see**
A clear and concise description of the new feature.

**Describe alternatives you've considered**
If applicable, a clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: ❓ Question
about: Ask a question
title: ""
labels: question
assignees: ""
---
5 changes: 5 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- [ ] All [tests](https://github.com/jfrog/jfrog-registry-operator#tests) passed. If this feature is not already covered by the tests, I added new tests.
- [ ] This pull request is on the main branch.
- [ ] I used gofmt for formatting the code before submitting the pull request.
---

20 changes: 20 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
changelog:
exclude:
labels:
- ignore for release
categories:
- title: Breaking Changes 🚨
labels:
- breaking change
- title: Exciting New Features 🎉
labels:
- new feature
- title: Improvements 🌱
labels:
- improvement
- title: Bug Fixes 🛠
labels:
- bug
- title: Other Changes 📚
labels:
- "*"
66 changes: 66 additions & 0 deletions .github/workflows/frogbot-scan-pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: "Jfrog Registry Operator Scan Pull Request"
on:
pull_request_target:
types: [ opened, synchronize ]
permissions:
pull-requests: write
contents: read
jobs:
scan-pull-request:
runs-on: ubuntu-latest
# A pull request needs to be approved before jfrog-registry-operator scans it. Any GitHub user who is associated with the
# "jfrog-registry-operator" GitHub environment can approve the pull request to be scanned.
environment: jfrog-registry-operator
steps:
- uses: jfrog/jfrog-registry-operator@v2
env:
JFROG_CLI_LOG_LEVEL: "DEBUG"
# [Mandatory]
# JFrog platform URL (This functionality requires version 3.29.0)
JF_URL: ${{ secrets.OPERATOR_URL }}

# [Mandatory if JF_USER and JF_PASSWORD are not provided]
JF_ACCESS_TOKEN: ${{ secrets.OPERATOR_ACCESS_TOKEN }}

# [Mandatory]
# The GitHub token is automatically generated for the job
JF_GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# [Optional, default: https://api.github.com]
# API endpoint to GitHub
# JF_GIT_API_ENDPOINT: https://github.example.com

# [Optional]
# By default, the jfrog-registry-operator workflows download the jfrog-registry-operator executable as well as other tools
# needed from https://releases.jfrog.io
# If the machine that runs jfrog-registry-operator has no access to the internet, follow these steps to allow the
# executable to be downloaded from an Artifactory instance, which the machine has access to:
#
# 1. Login to the Artifactory UI, with a user who has admin credentials.
# 2. Create a Remote Repository with the following properties set.
# Under the 'Basic' tab:
# Package Type: Generic
# URL: https://releases.jfrog.io
# Under the 'Advanced' tab:
# Uncheck the 'Store Artifacts Locally' option
# 3. Set the value of the 'JF_RELEASES_REPO' variable with the Repository Key you created.
# JF_RELEASES_REPO: ""

# [Optional]
# Configure the SMTP server to enable jfrog-registry-operator to send emails with detected secrets in pull request scans.
# SMTP server URL including should the relevant port: (Example: smtp.server.com:8080)
JF_SMTP_SERVER: ${{ secrets.JF_SMTP_SERVER }}

# [Mandatory if JF_SMTP_SERVER is set]
# The username required for authenticating with the SMTP server.
JF_SMTP_USER: ${{ secrets.JF_SMTP_USER }}

# [Mandatory if JF_SMTP_SERVER is set]
# The password associated with the username required for authentication with the SMTP server.
JF_SMTP_PASSWORD: ${{ secrets.JF_SMTP_PASSWORD }}

# [Optional]
# List of comma separated email addresses to receive email notifications about secrets
# detected during pull request scanning. The notification is also sent to the email set
# in the committer git profile regardless of whether this variable is set or not.
JF_EMAIL_RECEIVERS: "[email protected]"
30 changes: 30 additions & 0 deletions .github/workflows/frogbot-scan-repository.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: "Jfrog Registry Operator Scan Repository"
on:
workflow_dispatch:
schedule:
# The repository will be scanned once a day at 00:00 GMT.
- cron: "0 0 * * *"
permissions:
contents: write
pull-requests: write
security-events: write
jobs:
scan-repository:
runs-on: ubuntu-latest
name: Scan Repository (${{ matrix.branch }} branch)
strategy:
matrix:
# The repository scanning will be triggered periodically on the following branches.
branch: [ "dev" ]
steps:
- uses: jfrog/jfrog-registry-operator@v2
env:
JFROG_CLI_LOG_LEVEL: "DEBUG"

# [Mandatory]
# The GitHub token is automatically generated for the job
JF_GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# [Mandatory]
# The name of the branch on which jfrog-registry-operator will perform the scan
JF_GIT_BASE_BRANCH: ${{ matrix.branch }}
87 changes: 87 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: "Go Tests"

on:
push:
# Triggers the workflow on labeled PRs only.
pull_request_target:
types: [labeled]

# Ensures that only the latest commit is running for each PR at a time.
# Ignores this rule for push events.
concurrency:
group: ${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
Pretest:
if: contains(github.event.pull_request.labels.*.name, 'safe to test') || github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- name: Unlabel 'safe to test'
uses: actions-ecosystem/action-remove-labels@v1
if: ${{ github.event_name != 'push' }}
with:
labels: "safe to test"

- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.20.x

- name: Go Cache
uses: actions/cache@v3
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: ${{ runner.os }}-go-

# Generate mocks
- name: Generate mocks
run: go generate ./...

- name: Lint
run: go vet -v ./...

tests:
needs: Pretest
name: ${{ matrix.suite.name }} Tests (${{ matrix.os }})
runs-on: ${{ matrix.os }}-latest
env:
JFROG_CLI_LOG_LEVEL: "DEBUG"
strategy:
fail-fast: false
matrix:
suite:
- name: 'Unit'

- name: 'Scan Repository'
package: 'scanrepository'

- name: 'Scan Pull Request'
package: 'scanpullrequest'

- name: 'Package Handlers'
package: 'packagehandlers'

os: [ ubuntu, windows, macos ]
steps:
# Configure prerequisites
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: 1.20.x

- name: Go Cache
uses: actions/cache@v3
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
19 changes: 19 additions & 0 deletions .github/workflows/update-v2-tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: "Update v2 Tag"
on:
release:
types: [published]

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Update v2 tag
run: git tag -f v2
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
tags: true
force: true
19 changes: 19 additions & 0 deletions .github/workflows/validate-pr-target-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Validate Pull Request Target Branch

on:
pull_request_target:
types:
- opened
- reopened
- synchronize

jobs:
validate-target-branch:
runs-on: ubuntu-latest
steps:
- name: Check Target Branch
run: |
if [ "${{ github.base_ref }}" != "dev" ]; then
echo "Pull requests must target the 'dev' branch."
exit 1
fi
Loading

0 comments on commit 5e130d4

Please sign in to comment.