Skip to content
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
18 changes: 2 additions & 16 deletions .github/issue-clean-sandbox.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,3 @@
# title
# Clean up sandbox

An example issue created using content from [example-content/output.md](https://github.com/peter-evans/create-issue-from-file/blob/main/example-content/output.md)

## subtitle

Some text

- bullet points
- bullet points

"quoted string"

```python
s = "syntax highlighting"
print(s)
```
The feature integration into `main` is implemented through pull request (no exceptions whatsoever). CI/CD executes automated pull request deployment to the sandbox environment every time new changes are proposed (each commit). The sandbox environment is a disposable deployment dedicated only for pull request validation, which is destroyed by CI/CD when pull request is merged.
18 changes: 2 additions & 16 deletions .github/issue-spawn-latest.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,3 @@
# title
# Spawn latest commit to cloud environment

An example issue created using content from [example-content/output.md](https://github.com/peter-evans/create-issue-from-file/blob/main/example-content/output.md)

## subtitle

Some text

- bullet points
- bullet points

"quoted string"

```python
s = "syntax highlighting"
print(s)
```
The `main` branch of your project is always the latest deployable snapshot of a microservice. CI/CD have to automate the `main` snapshot deployments every time when a new feature is merged.
17 changes: 3 additions & 14 deletions .github/issue-spawn-release.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,6 @@
# title
# Spawn release to live environment

An example issue created using content from [example-content/output.md](https://github.com/peter-evans/create-issue-from-file/blob/main/example-content/output.md)
The delivery of microservice to production is automated using git tags (GitHub Releases). A provisioning of a new tag caused a new immutable deployment of microservice(s) to the live environment.

## subtitle
The risk of occasional outage is always there due to regression in software quality. The immutable deployment is the solution for availability and fault tolerance. CI/CD never changes anything at running systems. Immutable deployment making changes by rebuilding microservices, it deploys a new copy in parallel stack. The rollback of defective software happens in a matter of seconds. Another advantage is the ability to split traffic between parallel deployments for quality assurance.

Some text

- bullet points
- bullet points

"quoted string"

```python
s = "syntax highlighting"
print(s)
```
5 changes: 5 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
##
## See
## https://github.com/actions/labeler
##

"[#] ci/cd":
- '.github/*'
- '.github/**/*'
Expand Down
4 changes: 3 additions & 1 deletion .github/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
## [A] - Automation prefix
## [#] - package / category prefix
##
## How To Use
## How To Use:
## https://github.com/Financial-Times/github-label-sync
##
## npm install -g github-label-sync
## github-label-sync --access-token xxxxxx --labels .github/labels.yml fogfish/blueprint-serverless-golang
##
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/check-clean.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,20 @@ jobs:
- uses: peter-evans/create-issue-from-file@v4
id: clean-sandbox
with:
title: Destroy sandbox pr${{ github.event.number }} of `${{ matrix.stack }}`
title: Clean up sandbox \#${{ github.event.number }} of `${{ matrix.stack }}`
content-filepath: ./.github/issue-clean-sandbox.md

- uses: peter-evans/create-or-update-comment@v2
with:
issue-number: ${{ steps.clean-sandbox.outputs.issue-number }}
body: |
Destroying environment of #${{ github.event.number }}

- uses: peter-evans/create-or-update-comment@v2
with:
issue-number: ${{ github.event.number }}
body: |
destroying #${{ steps.destroy-sandbox.outputs.issue-number }}
destroying with #${{ steps.clean-sandbox.outputs.issue-number }}

- uses: actions/setup-go@v2
with:
Expand Down Expand Up @@ -61,4 +67,4 @@ jobs:
with:
issue-number: ${{ steps.clean-sandbox.outputs.issue-number }}
comment: |
Sandbox pr${{ github.event.number }} of **${{ matrix.stack }}** is destroyed.
Sandbox #${{ github.event.number }} of **${{ matrix.stack }}** is destroyed.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ The quality checks are executed every time a new change is proposed via Pull Req
* **checks** (`check-code.yml`) evaluates a quality of source code and reviews proposed changes (pull requests) using static code analysis.
* **tests** (`check-test.yml`) the quality of software assets with scope on unit tests only and measures the test coverage.
* **spawns** (`check-spawn.yml`) a sandbox(ed) deployment of the application to target AWS account for continuous integrations (optionally executed if pull request is marked with `[@] deploy` label);
* **cleans** (`clean.yml`) sandbox environment after Pull Request is either merged or closed.
* **cleans** (`check-clean.yml`) sandbox environment after Pull Request is either merged or closed.

### Check quality of `main` branch

Expand Down