2023-08-24 20:14:30 +00:00
|
|
|
---
|
|
|
|
when:
|
|
|
|
- event: [pull_request, tag]
|
|
|
|
- event: [push, manual]
|
|
|
|
branch:
|
|
|
|
- ${CI_REPO_DEFAULT_BRANCH}
|
|
|
|
|
|
|
|
steps:
|
2023-12-23 22:26:57 +00:00
|
|
|
- name: build
|
2023-10-16 12:15:57 +00:00
|
|
|
image: docker.io/library/python:3.12
|
2023-08-24 20:14:30 +00:00
|
|
|
commands:
|
|
|
|
- pip install poetry poetry-dynamic-versioning -qq
|
|
|
|
- poetry build
|
|
|
|
|
2024-10-27 20:08:30 +00:00
|
|
|
- name: security-build
|
2024-07-08 11:51:38 +00:00
|
|
|
image: quay.io/thegeeklab/wp-docker-buildx:5
|
2024-10-27 20:08:30 +00:00
|
|
|
depends_on: [build]
|
2023-08-24 20:14:30 +00:00
|
|
|
settings:
|
|
|
|
containerfile: Containerfile.multiarch
|
2024-10-27 20:08:30 +00:00
|
|
|
output: type=oci,dest=oci/${CI_REPO_NAME},tar=false
|
2023-08-24 20:14:30 +00:00
|
|
|
repo: ${CI_REPO}
|
2024-10-27 20:08:30 +00:00
|
|
|
|
|
|
|
- name: security-scan
|
|
|
|
image: docker.io/aquasec/trivy
|
|
|
|
depends_on: [security-build]
|
|
|
|
commands:
|
|
|
|
- trivy -v
|
|
|
|
- trivy image --input oci/${CI_REPO_NAME}
|
|
|
|
environment:
|
|
|
|
TRIVY_EXIT_CODE: "1"
|
|
|
|
TRIVY_IGNORE_UNFIXED: "true"
|
|
|
|
TRIVY_NO_PROGRESS: "true"
|
|
|
|
TRIVY_SEVERITY: HIGH,CRITICAL
|
|
|
|
TRIVY_TIMEOUT: 1m
|
|
|
|
TRIVY_DB_REPOSITORY: docker.io/aquasec/trivy-db:2
|
2023-08-24 20:14:30 +00:00
|
|
|
|
2023-12-23 22:26:57 +00:00
|
|
|
- name: publish-dockerhub
|
2024-07-08 11:51:38 +00:00
|
|
|
image: quay.io/thegeeklab/wp-docker-buildx:5
|
2024-10-27 20:08:30 +00:00
|
|
|
depends_on: [security-scan]
|
2023-08-24 20:14:30 +00:00
|
|
|
settings:
|
|
|
|
auto_tag: true
|
|
|
|
containerfile: Containerfile.multiarch
|
|
|
|
password:
|
|
|
|
from_secret: docker_password
|
|
|
|
platforms:
|
|
|
|
- linux/amd64
|
|
|
|
- linux/arm64
|
|
|
|
provenance: false
|
|
|
|
repo: ${CI_REPO}
|
|
|
|
username:
|
|
|
|
from_secret: docker_username
|
|
|
|
when:
|
|
|
|
- event: [tag]
|
|
|
|
- event: [push, manual]
|
|
|
|
branch:
|
|
|
|
- ${CI_REPO_DEFAULT_BRANCH}
|
|
|
|
|
2023-12-23 22:26:57 +00:00
|
|
|
- name: publish-quay
|
2024-07-08 11:51:38 +00:00
|
|
|
image: quay.io/thegeeklab/wp-docker-buildx:5
|
2024-10-27 20:08:30 +00:00
|
|
|
depends_on: security-scan
|
2023-08-24 20:14:30 +00:00
|
|
|
settings:
|
|
|
|
auto_tag: true
|
|
|
|
containerfile: Containerfile.multiarch
|
|
|
|
password:
|
|
|
|
from_secret: quay_password
|
|
|
|
platforms:
|
|
|
|
- linux/amd64
|
|
|
|
- linux/arm64
|
|
|
|
provenance: false
|
|
|
|
registry: quay.io
|
|
|
|
repo: quay.io/${CI_REPO}
|
|
|
|
username:
|
|
|
|
from_secret: quay_username
|
|
|
|
when:
|
|
|
|
- event: [tag]
|
|
|
|
- event: [push, manual]
|
|
|
|
branch:
|
|
|
|
- ${CI_REPO_DEFAULT_BRANCH}
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- lint
|
|
|
|
- test
|