adds lint-scan template

This commit is contained in:
franz.germann1 2024-10-24 13:35:21 +02:00
parent 57a217b986
commit 7d15e4c8b6
2 changed files with 131 additions and 121 deletions

View file

@ -12,122 +12,138 @@ spec:
entrypoint: ci entrypoint: ci
serviceAccountName: admin serviceAccountName: admin
volumeClaimTemplates: volumeClaimTemplates:
- metadata: - metadata:
name: shared-data name: shared-data
spec: spec:
accessModes: [ "ReadWriteOnce" ] accessModes: ["ReadWriteOnce"]
resources: resources:
requests: requests:
storage: 1Gi storage: 1Gi
volumes: volumes:
- name: docker-config - name: docker-config
secret: secret:
secretName: my-docker-secret secretName: my-docker-secret
templates: templates:
- name: ci - name: ci
dag: dag:
tasks: tasks:
- name: git-clone - name: git-clone
template: git-clone template: git-clone
arguments: arguments:
parameters: [{name: message, value: "git-clone task completed"}] parameters: [{ name: message, value: "git-clone task completed" }]
- name: ls - name: ls
template: ls template: ls
dependencies: [git-clone] dependencies: [git-clone]
- name: build - name: build
template: build template: build
arguments: arguments:
parameters: [{name: message, value: "build task completed"}] parameters: [{ name: message, value: "build task completed" }]
dependencies: [unit-tests, lint-scan] dependencies: [unit-tests, lint-scan]
- name: unit-tests - name: unit-tests
template: unit-tests template: unit-tests
arguments: arguments:
parameters: [{name: message, value: "unit-tests task completed"}] parameters:
dependencies: [ls] [{ name: message, value: "unit-tests task completed" }]
- name: lint-scan dependencies: [ls]
template: simple-container - name: lint-scan
arguments: template: lint-scan
parameters: [{name: message, value: "lint-scan task completed"}] arguments:
dependencies: [ls] parameters: [{ name: message, value: "lint-scan task completed" }]
- name: trivy-image-scan dependencies: [ls]
template: simple-container - name: trivy-image-scan
arguments: template: simple-container
parameters: [{name: message, value: "trivy-image-scan task completed"}] arguments:
dependencies: [build] parameters:
- name: trivy-filesystem-scan [{ name: message, value: "trivy-image-scan task completed" }]
template: simple-container dependencies: [build]
arguments: - name: trivy-filesystem-scan
parameters: [{name: message, value: "trivy-filesystem-scan task completed"}] template: simple-container
dependencies: [git-clone] arguments:
- name: push-image parameters:
template: simple-container [
arguments: {
parameters: [{name: message, value: "push-image task completed"}] name: message,
# when: " == true" value: "trivy-filesystem-scan task completed",
dependencies: [trivy-image-scan, trivy-filesystem-scan] },
]
dependencies: [git-clone]
- name: push-image
template: simple-container
arguments:
parameters:
[{ name: message, value: "push-image task completed" }]
# when: " == true"
dependencies: [trivy-image-scan, trivy-filesystem-scan]
- name: simple-container - name: simple-container
inputs: inputs:
parameters: parameters:
- name: message - name: message
container: container:
image: alpine:latest image: alpine:latest
command: [sh, -c] command: [sh, -c]
args: ["echo {{inputs.parameters.message}}"] args: ["echo {{inputs.parameters.message}}"]
- name: ls - name: ls
container: container:
image: alpine:latest image: alpine:latest
command: [sh, -c] command: [sh, -c]
args: [ls /] args: [ls /]
- name: git-clone - name: git-clone
container: container:
image: ubuntu:latest image: ubuntu:latest
command: [sh, -c] command: [sh, -c]
args: args:
- | - |
apt update apt update
apt install -y git apt install -y git
git clone -b main http://forgejo-http.gitea.svc.cluster.local:3000/giteaAdmin/fibonacci_go.git /shared-data/repo git clone -b main https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/Franz.Germann/fibonacci_go.git /shared-data/repo
ls -la / ls -la /
ls -la /shared-data ls -la /shared-data
ls -la /shared-data/repo ls -la /shared-data/repo
volumeMounts: volumeMounts:
- name: shared-data - name: shared-data
mountPath: /shared-data mountPath: /shared-data
- name: build - name: build
container: container:
image: gcr.io/kaniko-project/executor:v1.23.2 image: gcr.io/kaniko-project/executor:v1.23.2
args: args:
[ [
"--dockerfile=/shared-data/repo/Dockerfile", "--dockerfile=/shared-data/repo/Dockerfile",
"--context=/shared-data/repo/", "--context=/shared-data/repo/",
"--destination=gitea.cnoe.localtest.me/giteaadmin/fibonacci_go:latest", "--destination=forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/franz.germann/fibonacci_go:latest",
"--registry-certificate", ]
"gitea.cnoe.localtest.me=/shared-data/repo/tls/gitea.cnoe.localtest.me.crt" volumeMounts:
] - name: shared-data
volumeMounts: mountPath: /shared-data
- name: shared-data - name: docker-config
mountPath: /shared-data mountPath: /kaniko/.docker
- name: docker-config
mountPath: /kaniko/.docker
- name: unit-tests - name: unit-tests
container: container:
image: golang:1.23.2 image: golang:1.23.2
command: [sh, -c] command: [sh, -c]
args: args:
- | - |
cd /shared-data/repo && \ cd /shared-data/repo && \
go test ./... -v > test-results.txt; \ go test ./... -v > test-results.txt; \
cat test-results.txt cat test-results.txt
volumeMounts: volumeMounts:
- name: shared-data - name: shared-data
mountPath: /shared-data mountPath: /shared-data
# How to extract artifacts # How to extract artifacts
outputs:
artifacts: - name: lint-scan
- name: test-results container:
path: /shared-data/repo/test-results.txt image: golangci/golangci-lint:v1.61.0
command: [sh, -c]
args:
- |
cd /shared-data/repo && \
golangci-lint run ./... --out-format=json --timeout 5m > lint-results.json; \
cat lint-results.json
volumeMounts:
- name: shared-data
mountPath: /shared-data

View file

@ -1,6 +0,0 @@
on: [push]
jobs:
test:
runs-on: docker
steps:
- run: echo All Good