Compare commits

..

No commits in common. "main" and "1.8.3" have entirely different histories.
main ... 1.8.3

5 changed files with 8 additions and 92 deletions

View file

@ -1,45 +1,3 @@
This repo shows examples how dda-devops-build (https://repo.prod.meissa.de/meissa/dda-devops-build) can be used.
As a starting point, you may want to have a look at file [build.py](build.py) in this repo
and the tasks which are defined in this file.
# Usage
## Examples
### Build
You can trigger the build-task by
```
pyb dev
```
### Releases
With task `patch` you can create a patch-level release with one command, i.e. perform the following actions:
* create a commit for a patch-leve release version
* e.g. if current project version is 1.1.1-dev, the update version will be the release version 1.1.1
* the commit contains all build files specified in the build.py (primary as well as secondary build files),
where the primary build file contains the version number to be used for all build files
* create a tag for the release commit (e.g. tag 1.1.1 for the corresponding commit)
* a second commit for the next snapshot version (1.1.2-dev)
* push both commits and the tag to the remote git repo
```
pyb patch
```
Similarly you can create a minor or major version with:
```
pyb minor
```
resp.
```
pyb major
```
# Release Testing # Release Testing
## NoRelease ## NoRelease

View file

@ -3,7 +3,7 @@ plugins {
} }
version = "4.0.1-SNAPSHOT" version = "1.8.3"
group = "org.domaindrivenarchitecture.buildtest" group = "org.domaindrivenarchitecture.buildtest"

View file

@ -1,4 +1,3 @@
import os
from os import environ from os import environ
from pybuilder.core import task, init from pybuilder.core import task, init
from ddadevops import * from ddadevops import *
@ -7,29 +6,10 @@ name = "buildtest"
MODULE = "release" MODULE = "release"
PROJECT_ROOT_PATH = "." PROJECT_ROOT_PATH = "."
version = "4.0.1-dev" version = "1.8.3"
@init @init
def initialize0(project): def initialize(project):
"""
to avoid prompt for gopass if no artifacts need to be uploaded
usage: with option "-E ng" , e.g. "pyb -E artifacts patch_local"
"""
os.environ["RELEASE_ARTIFACT_TOKEN"] = "dummy" # avoids prompt for RELEASE_ARTIFACT_TOKEN
@init(environments=["artifacts"])
def initialize1(project):
"""
prompt for gopass if no artifacts need to be uploaded
usage: with option "-E artifacts" , e.g. "pyb -E artifacts patch_local"
"""
del os.environ["RELEASE_ARTIFACT_TOKEN"]
@init
def initialize2(project):
input = { input = {
"name": name, "name": name,
"module": MODULE, "module": MODULE,
@ -37,8 +17,8 @@ def initialize2(project):
"project_root_path": PROJECT_ROOT_PATH, "project_root_path": PROJECT_ROOT_PATH,
"build_types": [], "build_types": [],
"mixin_types": ["RELEASE"], "mixin_types": ["RELEASE"],
"release_primary_build_file": "build_to_test.py", "release_primary_build_file": "build.py",
"release_secondary_build_files": ["package.json", "project.clj", "build.gradle", "build.py"], "release_secondary_build_files": ["package.json", "project.clj", "build.gradle", "build_to_test.py"],
"release_artifacts": ["README.md"], "release_artifacts": ["README.md"],
"release_artifact_server_url": "https://repo.prod.meissa.de", "release_artifact_server_url": "https://repo.prod.meissa.de",
"release_organisation": "meissa", "release_organisation": "meissa",
@ -46,46 +26,25 @@ def initialize2(project):
} }
project.build_depends_on("ddadevops>=4.10.7") project.build_depends_on("ddadevops>=4.10.7")
build = ReleaseMixin(project, input) build = ReleaseMixin(project, input)
build.initialize_build_dir() build.initialize_build_dir()
@task @task
def patch(project): def patch(project):
"""
updates version to next patch level, creates a tag, creates new SNAPSHOT version,
commits build files (primary and secondary) and pushes to remote
"""
linttest(project, "PATCH") linttest(project, "PATCH")
release(project) release(project)
@task
def patch_local(project):
"""
updates version to next patch level,
commits build files (primary and secondary), DOES NOT push to remote
"""
linttest(project, "PATCH")
prepare(project)
@task @task
def minor(project): def minor(project):
"""
updates version to next minor level, creates a tag, creates new SNAPSHOT version,
commits build files (primary and secondary) and pushes to remote
"""
linttest(project, "MINOR") linttest(project, "MINOR")
release(project) release(project)
@task @task
def major(project): def major(project):
"""
updates version to next major level, creates a tag, creates new SNAPSHOT version,
commits build files (primary and secondary) and pushes to remote
"""
linttest(project, "MAJOR") linttest(project, "MAJOR")
release(project) release(project)
@ -109,7 +68,6 @@ def tag(project):
@task @task
def publish_artifacts(project): def publish_artifacts(project):
""" creates a release in <release_artifact_server_url> and uploads artifacts """
build = get_devops_build(project) build = get_devops_build(project)
print("PROTECTED_TOKEN_EXAMPLE" in environ) print("PROTECTED_TOKEN_EXAMPLE" in environ)
print(environ.get("PROTECTED_TOKEN_EXAMPLE")) print(environ.get("PROTECTED_TOKEN_EXAMPLE"))

View file

@ -33,7 +33,7 @@ default_task = "dev"
name = "ddadevops" name = "ddadevops"
MODULE = "not-used" MODULE = "not-used"
PROJECT_ROOT_PATH = "." PROJECT_ROOT_PATH = "."
version = "4.0.1-dev" version = "1.8.3"
summary = "tools to support builds combining gopass, terraform, dda-pallet, aws & hetzner-cloud" summary = "tools to support builds combining gopass, terraform, dda-pallet, aws & hetzner-cloud"
description = __doc__ description = __doc__
authors = [Author("meissa GmbH", "buero@meissa-gmbh.de")] authors = [Author("meissa GmbH", "buero@meissa-gmbh.de")]

View file

@ -2,7 +2,7 @@
"name": "c4k-jira", "name": "c4k-jira",
"description": "Generate c4k yaml for a jira deployment.", "description": "Generate c4k yaml for a jira deployment.",
"author": "meissa GmbH", "author": "meissa GmbH",
"version": "4.0.1-SNAPSHOT", "version": "1.8.3",
"homepage": "https://gitlab.com/domaindrivenarchitecture/c4k-jira#readme", "homepage": "https://gitlab.com/domaindrivenarchitecture/c4k-jira#readme",
"repository": "https://www.npmjs.com/package/c4k-jira", "repository": "https://www.npmjs.com/package/c4k-jira",
"license": "APACHE2", "license": "APACHE2",