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

Prepare release 4.3.1 #994

Merged
merged 18 commits into from
Feb 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ updates:
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"
labels:
- "dependencies"
- "skip changelog"
42 changes: 29 additions & 13 deletions .github/workflows/continuous-integration-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,50 +34,50 @@ jobs:
--build-arg nexusPassword=s3cr3t \
.

jenkins-agent-nodejs12-ubi8:
name: Jenkins agent NodeJS 12 (UBI8)
jenkins-agent-nodejs16-ubi8:
name: Jenkins agent NodeJS 16 (UBI8)
runs-on: ubuntu-22.04
steps:
-
name: Checkout repository
uses: actions/[email protected]
-
name: Build docker image
working-directory: common/jenkins-agents/nodejs12/docker
working-directory: common/jenkins-agents/nodejs16/docker
run: |
docker build --tag agent-nodejs12-test-ubi8 --file Dockerfile.ubi8 \
docker build --tag agent-nodejs16-test-ubi8 --file Dockerfile.ubi8 \
--build-arg nexusUrl=https://nexus.example.com \
--build-arg nexusAuth=developer:s3cr3t \
.

jenkins-agent-nodejs16-ubi8:
name: Jenkins agent NodeJS 16 (UBI8)
jenkins-agent-nodejs18-ubi8:
name: Jenkins agent NodeJS 18 (UBI8)
runs-on: ubuntu-22.04
steps:
-
name: Checkout repository
uses: actions/[email protected]
-
name: Build docker image
working-directory: common/jenkins-agents/nodejs16/docker
working-directory: common/jenkins-agents/nodejs18/docker
run: |
docker build --tag agent-nodejs16-test-ubi8 --file Dockerfile.ubi8 \
docker build --tag agent-nodejs18-test-ubi8 --file Dockerfile.ubi8 \
--build-arg nexusUrl=https://nexus.example.com \
--build-arg nexusAuth=developer:s3cr3t \
.

jenkins-agent-nodejs18-ubi8:
name: Jenkins agent NodeJS 18 (UBI8)
jenkins-agent-nodejs20-ubi8:
name: Jenkins agent NodeJS 20 (UBI8)
runs-on: ubuntu-22.04
steps:
-
name: Checkout repository
uses: actions/checkout@v3.5.3
uses: actions/checkout@v4.1.1
-
name: Build docker image
working-directory: common/jenkins-agents/nodejs18/docker
working-directory: common/jenkins-agents/nodejs20/docker
run: |
docker build --tag agent-nodejs18-test-ubi8 --file Dockerfile.ubi8 \
docker build --tag agent-nodejs20-test-ubi8 --file Dockerfile.ubi8 \
--build-arg nexusUrl=https://nexus.example.com \
--build-arg nexusAuth=developer:s3cr3t \
.
Expand All @@ -95,6 +95,22 @@ jobs:
run: |
docker build --tag agent-python-test-ubi8 --file Dockerfile.ubi8 .

jenkins-agent-rust-ubi8:
name: Jenkins agent Rust (UBI8)
runs-on: ubuntu-22.04
steps:
-
name: Checkout repository
uses: actions/[email protected]
-
name: Build docker image
working-directory: common/jenkins-agents/rust/docker
run: |
docker build --tag agent-rust-test-ubi8 --file Dockerfile.ubi8 \
--build-arg rustVersion=1.75.0 \
--build-arg rustToolchain=x86_64-unknown-linux-gnu \
.

jenkins-agent-terraform-ubi8:
name: Jenkins agent Terraform (UBI8)
runs-on: ubuntu-22.04
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,29 @@
# Changelog

## Unreleased

- Added secret scanning in docker plain ([#963](https://github.com/opendevstack/ods-quickstarters/pull/963))

## [4.3.1] - 2024-02-19

### Added
- Rust Quickstarter with Axum web framework simple boilerplate ([#980](https://github.com/opendevstack/ods-quickstarters/issues/980))
- Added ETL pipeline testing QS (e2e-python) ([#985](https://github.com/opendevstack/ods-quickstarters/pull/985))
- Added Nodejs20 agent ([#962](https://github.com/opendevstack/ods-quickstarters/issues/962))
- Added java 21 to jdk agent, updated Springboot and Spock quickstarters ([#962](https://github.com/opendevstack/ods-quickstarters/issues/962))

### Modified
- Update Streamlit and Python quickstarters and agent ([#968](https://github.com/opendevstack/ods-quickstarters/issues/968)) & ([#982](https://github.com/opendevstack/ods-quickstarters/pull/982))
- Update gateway-Nginx quickstarter ([#983](https://github.com/opendevstack/ods-quickstarters/pull/983))
- Remove nodejs12 form the code ([#936](https://github.com/opendevstack/ods-quickstarters/issues/936))
- Update release manager readme ([#969](https://github.com/opendevstack/ods-quickstarters/issues/969))
- Maintenance for Golang Agent and QuickStarter ([#955](https://github.com/opendevstack/ods-quickstarters/issues/955))
- Update Angular, TypeScript, Cypress and Ionic quickstarters ([#962](https://github.com/opendevstack/ods-quickstarters/issues/962))

### Fixed
- jenkins agents can not import private keys into gpg keyring to use with helm secrets ([#945](https://github.com/opendevstack/ods-quickstarters/issues/945))
- Streamlit quickstarter build fails to import nexus host certificates into truststore ([#951](https://github.com/opendevstack/ods-quickstarters/issues/951))
- Rust Quickstarter Jenkins Agent CICD tools with fixed versions ([#988](https://github.com/opendevstack/ods-quickstarters/issues/988))

## [4.3.0] - 2023-07-13

Expand Down
1 change: 1 addition & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
/be-golang-plain/ @michaelsauter @henrjk
/be-java-springboot/ @stitakis @renedupont
/be-python-flask/ @buegelbeatz @henrjk @gerardcl
/be-rust-axum/ @gerardcl @flightlama
/be-scala-play/ @oalyman
/be-typescript-express/ @sino92
/docker-plain/ @michaelsauter
Expand Down
44 changes: 32 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ install-jenkins-agent: install-jenkins-agent-golang install-jenkins-agent-jdk in
.PHONY: install-jenkins-agent

## Update OpenShift resources related Jenkins agent resources.
apply-jenkins-agent-build: apply-jenkins-agent-golang-build apply-jenkins-agent-jdk-build apply-jenkins-agent-nodejs12-build apply-jenkins-agent-nodejs16-build apply-jenkins-agent-nodejs18-build apply-jenkins-agent-python-build apply-jenkins-agent-scala-build apply-jenkins-agent-terraform-build
apply-jenkins-agent-build: apply-jenkins-agent-golang-build apply-jenkins-agent-jdk-build apply-jenkins-agent-nodejs16-build apply-jenkins-agent-nodejs18-build apply-jenkins-agent-nodejs20-build apply-jenkins-agent-python-build apply-jenkins-agent-scala-build apply-jenkins-agent-terraform-build
.PHONY: apply-jenkins-agent-build

## Start builds of Jenkins agents.
start-jenkins-agent-build: start-jenkins-agent-golang-build start-jenkins-agent-jdk-build start-jenkins-agent-nodejs12-build start-jenkins-agent-nodejs16-build start-jenkins-agent-nodejs18-build start-jenkins-agent-python-build start-jenkins-agent-scala-build start-jenkins-agent-terraform-build
start-jenkins-agent-build: start-jenkins-agent-golang-build start-jenkins-agent-jdk-build start-jenkins-agent-nodejs16-build start-jenkins-agent-nodejs18-build start-jenkins-agent-nodejs20-build start-jenkins-agent-python-build start-jenkins-agent-scala-build start-jenkins-agent-terraform-build
.PHONY: start-jenkins-agent-build


Expand Down Expand Up @@ -54,35 +54,39 @@ start-jenkins-agent-jdk-build:

# JENKINS AGENT NODEJS
## Install or update Jenkins Node agent resources.
install-jenkins-agent-nodejs: apply-jenkins-agent-nodejs12-build apply-jenkins-agent-nodejs16-build apply-jenkins-agent-nodejs18-build start-jenkins-agent-nodejs12-build start-jenkins-agent-nodejs16-build start-jenkins-agent-nodejs18-build
install-jenkins-agent-nodejs: apply-jenkins-agent-nodejs16-build apply-jenkins-agent-nodejs18-build apply-jenkins-agent-nodejs20-build start-jenkins-agent-nodejs16-build start-jenkins-agent-nodejs18-build start-jenkins-agent-nodejs20-build
.PHONY: install-jenkins-agent-nodejs

## Update OpenShift resources related to Jenkins Node agent image.
apply-jenkins-agent-nodejs12-build:
cd common/jenkins-agents/nodejs12/ocp-config && tailor apply --namespace $(ODS_NAMESPACE)
.PHONY: apply-jenkins-agent-nodejs12-build

## Update OpenShift resources related to Jenkins Node 16 agent image.
apply-jenkins-agent-nodejs16-build:
cd common/jenkins-agents/nodejs16/ocp-config && tailor apply --namespace $(ODS_NAMESPACE)
.PHONY: apply-jenkins-agent-nodejs16-build

## Update OpenShift resources related to Jenkins Node 18 agent image.
apply-jenkins-agent-nodejs18-build:
cd common/jenkins-agents/nodejs18/ocp-config && tailor apply --namespace $(ODS_NAMESPACE)
.PHONY: apply-jenkins-agent-nodejs18-build

## Start build of BuildConfig "jenkins-agent-nodejs*".
start-jenkins-agent-nodejs12-build:
oc -n $(ODS_NAMESPACE) start-build jenkins-agent-nodejs12 --follow
.PHONY: start-jenkins-agent-nodejs12-build
## Update OpenShift resources related to Jenkins Node 20 agent image.
apply-jenkins-agent-nodejs20-build:
cd common/jenkins-agents/nodejs20/ocp-config && tailor apply --namespace $(ODS_NAMESPACE)
.PHONY: apply-jenkins-agent-nodejs20-build

## Start build of BuildConfig "jenkins-agent-nodejs16".
start-jenkins-agent-nodejs16-build:
oc -n $(ODS_NAMESPACE) start-build jenkins-agent-nodejs16 --follow
.PHONY: start-jenkins-agent-nodejs16-build

## Start build of BuildConfig "jenkins-agent-nodejs18".
start-jenkins-agent-nodejs18-build:
oc -n $(ODS_NAMESPACE) start-build jenkins-agent-nodejs18 --follow
.PHONY: start-jenkins-agent-nodejs18-build

## Start build of BuildConfig "jenkins-agent-nodejs20".
start-jenkins-agent-nodejs20-build:
oc -n $(ODS_NAMESPACE) start-build jenkins-agent-nodejs20 --follow
.PHONY: start-jenkins-agent-nodejs20-build

# JENKINS AGENT PYTHON
## Install or update Jenkins Python agent resources.
install-jenkins-agent-python: apply-jenkins-agent-python-build start-jenkins-agent-python-build
Expand All @@ -99,6 +103,22 @@ start-jenkins-agent-python-build:
.PHONY: start-jenkins-agent-python-build


# JENKINS AGENT RUST
## Install or update Jenkins Rust agent resources.
install-jenkins-agent-rust: apply-jenkins-agent-rust-build start-jenkins-agent-rust-build
.PHONY: install-jenkins-agent-rust

## Update OpenShift resources related to Jenkins Rust agent image.
apply-jenkins-agent-rust-build:
cd common/jenkins-agents/rust/ocp-config && tailor apply --namespace $(ODS_NAMESPACE)
.PHONY: apply-jenkins-agent-rust-build

## Start build of BuildConfig "jenkins-agent-rust".
start-jenkins-agent-rust-build:
oc -n $(ODS_NAMESPACE) start-build jenkins-agent-rust --follow
.PHONY: start-jenkins-agent-rust-build


# JENKINS AGENT SCALA
## Install or update Jenkins Scala agent resources.
install-jenkins-agent-scala: apply-jenkins-agent-scala-build start-jenkins-agent-scala-build
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This repository contains quickstarters, which are basically boilerplates that he

## Documentation

See [OpenDevStack Quickstarters](https://www.opendevstack.org/ods-documentation/opendevstack/2.x/quickstarters/index.html) for details.
See [OpenDevStack Quickstarters](https://www.opendevstack.org/ods-documentation/opendevstack/latest/quickstarters/index.html) for details.

The source of this documentation is located in the antora folder at https://github.com/opendevstack/ods-quickstarters/tree/master/docs/modules/quickstarters/pages.

Expand Down
2 changes: 1 addition & 1 deletion be-gateway-nginx/files/docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# https://github.com/openresty/docker-openresty
FROM openresty/openresty:1.21.4.1-rocky
FROM openresty/openresty:1.25.3.1-1-rocky

ENV LANG=C.UTF-8

Expand Down
2 changes: 1 addition & 1 deletion be-gateway-nginx/files/metadata.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: nginx
description: "Enhanced nginx with Lua embeded. nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server. Technologies: OpenResty/nginx 1.19.3.2"
description: "Enhanced nginx with Lua embeded. nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server. Technologies: OpenResty/nginx 1.25.3.1-1"
supplier: https://openresty.org
version: 4.x
type: ods-service
4 changes: 2 additions & 2 deletions be-java-springboot/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ odsQuickstarterPipeline(

stage('Build spring project') {
dir(context.targetDir) {
def springBootVersion = '3.0.5'
def springBootVersion = '3.2.0'
echo "--- create spring boot (v${springBootVersion}) project via spring initializr ---"

sh "curl https://start.spring.io/starter.tgz \
Expand All @@ -29,7 +29,7 @@ odsQuickstarterPipeline(
-d dependencies='web,data-rest,data-jpa,h2,security,devtools' \
-d platformVersion=${springBootVersion} \
-d packaging=jar \
-d jvmVersion=17 \
-d jvmVersion=21 \
-d groupId=${context.projectId} \
-d artifactId=${context.componentId} \
-d name=${context.componentId} \
Expand Down
2 changes: 1 addition & 1 deletion be-java-springboot/Jenkinsfile.template
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def stageBuild(def context) {
}
stage('Build and Unit Test') {
withEnv(["TAGVERSION=${context.tagversion}", "NEXUS_HOST=${context.nexusHost}", "NEXUS_USERNAME=${context.nexusUsername}", "NEXUS_PASSWORD=${context.nexusPassword}", "JAVA_OPTS=${javaOpts}","GRADLE_TEST_OPTS=${gradleTestOpts}","ENVIRONMENT=${springBootEnv}"]) {
def status = sh(script: "source use-j17.sh && ./gradlew clean build --stacktrace --no-daemon && source use-j11.sh", returnStatus: true)
def status = sh(script: "source use-j21.sh && ./gradlew clean build --stacktrace --no-daemon && source use-j11.sh", returnStatus: true)
if (status != 0) {
error "Build failed!"
}
Expand Down
2 changes: 1 addition & 1 deletion be-java-springboot/files/docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM registry.access.redhat.com/ubi9/openjdk-17
FROM registry.access.redhat.com/ubi9/openjdk-21

# Enforce runtime protection for log4j2 CVE-2021-44228 (affected version from 2.0 to 2.14.1) in the affected vesion is used.
# This applies for version from 2.10 and not below.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 1 addition & 1 deletion be-java-springboot/files/metadata.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: OpenJDK
description: "OpenJDK is a free and open-source implementation of the Java Platform, Standard Edition. Technologies: Spring Boot 2.1, OpenJDK 17"
description: "OpenJDK is a free and open-source implementation of the Java Platform, Standard Edition. Technologies: Spring Boot 3.2.0, OpenJDK 21"
supplier: https://openjdk.java.net/
version: 4.x
type: ods
2 changes: 1 addition & 1 deletion be-python-flask/files/metadata.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Flask
description: "Flask is a micro web framework written in Python. Technologies: Flask 2.2.2, Python 3.9"
description: "Flask is a micro web framework written in Python. Technologies: Flask 3.0.0, Python 3.11"
supplier: https://www.palletsprojects.com/p/flask/
version: 4.x
type: ods
4 changes: 2 additions & 2 deletions be-python-flask/files/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
gunicorn==20.1.0
flask==2.3.2
gunicorn==21.2.0
flask==3.0.0
6 changes: 3 additions & 3 deletions be-python-flask/files/tests_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
-r ./requirements.txt

mypy==1.3.0
flake8==6.0.0
pytest==7.3.1
mypy==1.7.1
flake8==6.1.0
pytest==7.4.3
pytest-cov==4.1.0
38 changes: 38 additions & 0 deletions be-rust-axum/Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
def odsNamespace = ''
def odsGitRef = ''
def odsImageTag = ''
def sharedLibraryRef = ''
def agentImageTag = ''

node {
odsNamespace = env.ODS_NAMESPACE ?: 'ods'
odsGitRef = env.ODS_GIT_REF ?: 'master'
odsImageTag = env.ODS_IMAGE_TAG ?: 'latest'
sharedLibraryRef = env.SHARED_LIBRARY_REF ?: odsImageTag
agentImageTag = env.AGENT_IMAGE_TAG ?: odsImageTag
}

library("ods-jenkins-shared-library@${sharedLibraryRef}")

odsQuickstarterPipeline(
imageStreamTag: "${odsNamespace}/jenkins-agent-rust:${agentImageTag}",
) { context ->

// https://cargo-generate.github.io/cargo-generate/index.html
stage('Cargo Generate project') {
sh(
script: "cargo generate --path ${context.sourceDir}/rust-template --name ${context.projectId}-${context.componentId}",
label: "Process Rust template"
)
sh(
script: "mv ${context.projectId}-${context.componentId} ${context.sourceDir}/files",
label: "Create files folder"
)
}

odsQuickstarterStageCopyFiles(context)

odsQuickstarterStageRenderJenkinsfile(context)

odsQuickstarterStageRenderSonarProperties(context)
}
Loading
Loading