Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
npv0 committed Feb 14, 2024
0 parents commit e42e05d
Show file tree
Hide file tree
Showing 365 changed files with 114,937 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#
# https://help.github.com/articles/dealing-with-line-endings/
#
# These are explicitly windows files and should use crlf
*.bat text eol=crlf

1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @hmcts/platform-operations
40 changes: 40 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Contribution guidelines

We're happy to accept 3rd-party contributions. Please make sure you read this document before you do any work though,
as we have some expectations related to the content and quality of change sets.

## What you should know about this application

This project is a template Spring Boot application. It aims to speed up the creation of new Spring APIs in HMCTS
projects, by serving as the initial setup of each API.

## Before contributing

Any ideas on the user journeys and general service experience you may have **should be first consulted
with us by submitting a new issue** to this repository. Ideas are always welcome, but if something is divergent or unrelated
to what we're trying to achieve we won't be able to accept it. Please keep this in mind as we don't want to waste anybody's time.

In the interest of creating a friendly collaboration environment, please read and adhere to an open source contributor's
[code of conduct](http://contributor-covenant.org/version/1/4/).

## Making a contribution

After your idea has been accepted you can implement it. We don't allow direct changes to the codebase from the public,
they have to go through a review first.

Here's what you should do:
1. [fork](https://help.github.com/articles/fork-a-repo/) this repository and clone it to your machine,
2. create a new branch for your change:
* use the latest *master* to branch from,
3. implement the change in your branch:
* if the change is non-trivial it's a good practice to split it into several logically independent units and deliver
each one as a separate commit,
* make sure the commit messages use proper language and accurately describe commit's content, e.g. *"Unify postcode lookup elements spacing"*.
More information on good commit messages can be found [here](http://chris.beams.io/posts/git-commit/),
4. test if your feature works as expected and does not break any existing features, this may include implementing additional automated tests or amending existing ones,
5. push the change to your GitHub fork,
6. submit a [pull request](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) to our repository:
* ensure that the pull request and related GitHub issue reference each other.

At this point the pull request will wait for someone from our team to review. It may be accepted straight away,
or we may ask you to make some additional amendments before incorporating it into the main branch.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### What would you like to change?

### How do you think that would improve the project?

### If this entry is related to a bug, please provide the steps to reproduce it
23 changes: 23 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
**Before creating a pull request make sure that:**

- [ ] commit messages are meaningful and follow good commit message guidelines
- [ ] README and other documentation has been updated / added (if needed)
- [ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:


### JIRA link (if applicable) ###



### Change description ###



**Does this PR introduce a breaking change?** (check one with "x")

```
[ ] Yes
[ ] No
```
7 changes: 7 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>hmcts/.github:renovate-config",
"local>hmcts/.github//renovate/automerge-minor"
]
}
18 changes: 18 additions & 0 deletions .github/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 7
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 4
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- dependencies
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: >
This issue is being closed automatically as it was stale
80 changes: 80 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ "master" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "master" ]
schedule:
- cron: '36 5 * * 4'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

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

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

# 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.

# 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

- uses: actions/setup-java@v4
with:
distribution: 'temurin' # See 'Supported distributions' for available options
java-version: '17'

# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# 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}}"
52 changes: 52 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Compiled class file
*.class

# Log file
*.log*

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
*.bak

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*

# Ignore Gradle project-specific cache directory
.gradle
.gradle/*

# Ignore Gradle build output directory
build
bin/*

#Ignore results
target/*
reports/*

### IntelliJ IDEA ###
.idea
/out
*.iws
*.iml
*.ipr

### Eclipse ###
.settings
.project
.classpath

# Ignore test only logging
src/test/resources/log4j2-test.properties
87 changes: 87 additions & 0 deletions Jenkinsfile_CNP
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
#!groovy
properties([
parameters([
choice(choices: ['chrome', 'firefox', 'msedge'], name: 'Browser'),
choice(choices: ['stg', 'test', 'demo', 'ithc'], name: 'EnvironmentChoice')
])
])

@Library("Infrastructure")

import uk.gov.hmcts.contino.GradleBuilder

def type = "java"
def product = "juror"
def component = "automation-tests"

def secrets = [
'juror-stg': [
secret('api-POSTGRES-USER', 'DATABASE_STG_USERNAME'),
secret('api-POSTGRES-PASS', 'DATABASE_STG_PASSWORD'),
secret('automation-tests-modtestbureau', 'MODTESTBUREAU_PASSWORD'),
secret('automation-tests-modtestcourt', 'MODTESTCOURT_PASSWORD'),
secret('automation-tests-system', 'SYSTEM_PASSWORD'),
secret('automation-tests-sjouser', 'SJOUSER_PASSWORD'),
secret('automation-tests-sjouser1', 'SJOUSER1_PASSWORD'),
secret('automation-tests-aramis1', 'ARAMIS1_PASSWORD'),
secret('automation-tests-cpass', 'CPASS_PASSWORD'),
],
'juror-test': [
secret('api-POSTGRES-USER', 'DATABASE_TEST_USERNAME'),
secret('api-POSTGRES-PASS', 'DATABASE_TEST_PASSWORD'),
secret('automation-tests-modtestbureau', 'MODTESTBUREAU_PASSWORD'),
secret('automation-tests-modtestcourt', 'MODTESTCOURT_PASSWORD'),
secret('automation-tests-system', 'SYSTEM_PASSWORD'),
secret('automation-tests-sjouser', 'SJOUSER_PASSWORD'),
secret('automation-tests-sjouser1', 'SJOUSER1_PASSWORD'),
secret('automation-tests-aramis1', 'ARAMIS1_PASSWORD'),
secret('automation-tests-cpass', 'CPASS_PASSWORD'),
],
'juror-demo': [
secret('api-POSTGRES-USER', 'DATABASE_DEMO_USERNAME'),
secret('api-POSTGRES-PASS', 'DATABASE_DEMO_PASSWORD'),
secret('automation-tests-modtestbureau', 'MODTESTBUREAU_PASSWORD'),
secret('automation-tests-modtestcourt', 'MODTESTCOURT_PASSWORD'),
secret('automation-tests-system', 'SYSTEM_PASSWORD'),
secret('automation-tests-sjouser', 'SJOUSER_PASSWORD'),
secret('automation-tests-sjouser1', 'SJOUSER1_PASSWORD'),
secret('automation-tests-aramis1', 'ARAMIS1_PASSWORD'),
secret('automation-tests-cpass', 'CPASS_PASSWORD'),
],
'juror-ithc': [
secret('api-POSTGRES-USER', 'DATABASE_ITHC_USERNAME'),
secret('api-POSTGRES-PASS', 'DATABASE_ITHC_PASSWORD'),
secret('automation-tests-modtestbureau', 'MODTESTBUREAU_PASSWORD'),
secret('automation-tests-modtestcourt', 'MODTESTCOURT_PASSWORD'),
secret('automation-tests-system', 'SYSTEM_PASSWORD'),
secret('automation-tests-sjouser', 'SJOUSER_PASSWORD'),
secret('automation-tests-sjouser1', 'SJOUSER1_PASSWORD'),
secret('automation-tests-aramis1', 'ARAMIS1_PASSWORD'),
secret('automation-tests-cpass', 'CPASS_PASSWORD'),
],
]

static LinkedHashMap<String, Object> secret(String secretName, String envVar) {
[$class : 'AzureKeyVaultSecret',
secretType : 'Secret',
name : secretName,
version : '',
envVariable: envVar
]
}

GradleBuilder builder = new GradleBuilder(this, product)

withNightlyPipeline(type, product, component) {
loadVaultSecrets(secrets)
enableFullFunctionalTest()
enableSlackNotifications('#juror-builds')

env.envName = params.EnvironmentChoice
env.envDriver = params.Browser

after('functionalTest') {
steps.archiveArtifacts allowEmptyArchive: true, artifacts: 'build/reports/tests/**/*.html'
steps.archiveArtifacts allowEmptyArchive: true, artifacts: '**/cucumber.json'
}
}
Loading

0 comments on commit e42e05d

Please sign in to comment.