Skip to content

Commit

Permalink
feat: init (#2)
Browse files Browse the repository at this point in the history
# Description

Initial upload of all workflow files.

# Verification

Manually in test repository.
  • Loading branch information
kayman-mk committed May 8, 2024
1 parent 19b0a86 commit 38f8dfd
Show file tree
Hide file tree
Showing 46 changed files with 14,154 additions and 1 deletion.
53 changes: 53 additions & 0 deletions .config/cspell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"version": "0.2",
"language": "en",
"words": [
"cpus",
"Hapag",
"Infracost",
"javadoc",
"javadocs",
"oidc",
"Repology",
"sonatype",
"tflint",
"tfsec"
],
"ignoreWords": [
"Buildx",
"DOCKERHUB",
"amannn",
"aquasecurity",
"automerge",
"automerged",
"buildcache",
"buildx",
"codeowners",
"codeql",
"conventionalcommits",
"datasource",
"dorny",
"hadolint",
"hlag",
"hmarr",
"ibiqlik",
"kayman",
"ludeeus",
"markdownlint",
"mktemp",
"nullglob",
"ossrh",
"pascalfrenz",
"releaserc",
"rhysd",
"ruleset",
"sarif",
"shellcheck",
"shuf",
"shunsuke",
"signoff",
"temurin",
"tfstate",
"vuln"
]
}
12 changes: 12 additions & 0 deletions .config/markdownlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
# Default state for all rules
default: true

# MD013/line-length - Line length
MD013:
# Number of characters
line_length: 132
# Number of characters for headings
heading_line_length: 132
# Number of characters for code blocks
code_block_line_length: 132
8 changes: 8 additions & 0 deletions .config/yamllint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
extends: default

rules:
line-length:
max: 132
comments:
min-spaces-from-content: 1 # Renovate uses 1 space only
4 changes: 4 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
* @hapag-lloyd/organization-defaults @PascalFrenz

# license file shouldn't be changed and needs to be reviewed by lawyers
LICENSE @hapag-lloyd/organization-defaults
25 changes: 25 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Contribution guide

We appreciate your thought to contribute to open source. :heart: We want to make contributing as easy as possible. You are welcome to:

- Report a bug
- Discuss the current state of the code
- Submit a fix
- Propose new features

We use [Github Flow](https://guides.github.com/introduction/flow/index.html), so all code changes happen through pull
requests. We actively welcome your pull requests:

1. Fork the repo and create your branch from `main`.
2. If you've added code, check one of the examples.
3. Make sure your code lints.
4. Raise a pull request.

## Documentation

We use [pre-commit](https://pre-commit.com/) for some default checks which are fast and find the most common errors.

## License

By contributing, you agree that your contributions will be licensed under the license available at
[LICENSE](blob/main/LICENSE).
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Found a bug? Report it!
title: ''
labels: new, bug
assignees: ''
---

<!-- Before submitting a bug, make sure that you meet the following requirements:
1. use the latest version of the module
2. read the documentation
-->

# Describe the bug

A clear and concise description of what the bug is.

# To Reproduce

Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

# Expected behavior

A clear and concise description of what you expected to happen.

# Additional context

Add any other context about the problem here.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Feature Request
about: Propose a new feature
title: ''
labels: new, enhancement
assignees: ''
---

# Describe the solution you'd like

<!--
Provide a clear and concise description of what you want to happen. Add some sentences to describe the use case
to be solved by this feature.
-->

# Describe alternatives you've considered

<!--
Let us know about other solutions you've tried or researched.
-->

# Suggest a solution

<!--
Things to include:
- details of the technical implementation
- tradeoffs made in design decisions
-caveats and considerations for the future
If there are multiple solutions, please present each one separately. Save comparisons for the very end.
-->

# Additional context

<!--
Is there anything else you can add about the proposal?
You might want to link to related issues here, if you haven't already.
-->
21 changes: 21 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Description

What is the overall goal of your PR? Which problem does it solve? Please also include relevant motivation and context.
List any dependencies that are required for this change.

Fixes #(issue number)

# Migrations required

yes: please describe the migration
no: please delete the whole paragraph

# Verification

Please describe the test cases you used to verify your code. Did you check the change in your environment?

# Checklist

- [ ] My code follows the style guidelines of the project
- [ ] I have performed a self-review of my own code
- [ ] I have made corresponding changes to the documentation
4 changes: 4 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: ["github>Hapag-Lloyd/Renovate-Global-Configuration"]
}
139 changes: 139 additions & 0 deletions .github/workflows/default_linter_callable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
---
name: Lint files

# yamllint disable-line rule:truthy
on:
# USE_WORKFLOW
workflow_call:
# /USE_WORKFLOW
# USE_REPOSITORY
# pull_request:
# /USE_REPOSITORY

jobs:
find-changes:
runs-on: ubuntu-latest
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
list-files: "json"
filters: |
json:
- '**/*.json'
markdown:
- '**/*.md'
renovate-config:
- 'renovate.json'
- '.github/renovate.json'
- 'renovate.json5'
- '.github/renovate.json5'
- 'default.json'
workflow:
- '.github/workflows/*.yml'
- '.github/workflows/*.yaml'
yaml:
- '**/*.yaml'
- '**/*.yml'
dockerfile:
- '**/*Dockerfile*'
outputs:
json: ${{ steps.changes.outputs.json }}
markdown: ${{ steps.changes.outputs.markdown }}
renovate-config: ${{ steps.changes.outputs.renovate-config }}
workflow: ${{ steps.changes.outputs.workflow }}
yaml: ${{ steps.changes.outputs.yaml }}
dockerfile_files: ${{ steps.changes.outputs.dockerfile_files }}

lint-json:
runs-on: ubuntu-latest
continue-on-error: true
if: needs.find-changes.outputs.json == 'true'
needs: find-changes
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2

- name: Run JSON Lint
run: bash <(curl -s https://raw.githubusercontent.com/CICDToolbox/json-lint/master/pipeline.sh)

lint-markdown:
runs-on: ubuntu-latest
continue-on-error: true
if: needs.find-changes.outputs.markdown == 'true'
needs: find-changes
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2

- name: Validate Markdown file
run: |
npm install -g markdownlint-cli
markdownlint -c .config/markdownlint.yml -i CHANGELOG.md "**/*.md"
lint-renovate:
runs-on: ubuntu-latest
continue-on-error: true
if: needs.find-changes.outputs.renovate-config == 'true'
needs: find-changes
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2

- uses: suzuki-shunsuke/github-action-renovate-config-validator@b54483862375f51910a60c4f498e927d4f3df466 # v1.0.1

lint-shell:
name: Check shell scripts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2

- name: ShellCheck
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # 2.0.0

lint-workflow:
runs-on: ubuntu-latest
continue-on-error: true
needs: find-changes
if: needs.find-changes.outputs.workflow == 'true'
container:
image: rhysd/actionlint:1.6.27@sha256:d84eca815fc24f72546ec1f2f416d9500ad3349ce7db098cf7a52256f5fd4384
options: --cpus 1 --user root
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2

- name: Validate Github workflows
run: |
mkdir .git
actionlint -color
lint-yaml:
runs-on: ubuntu-latest
continue-on-error: true
needs: find-changes
if: needs.find-changes.outputs.yaml == 'true'
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2

- name: yaml-lint
uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c # v3.1.1
with:
config_file: .config/yamllint.yml
strict: true

lint-docker:
runs-on: ubuntu-latest
continue-on-error: true
needs: find-changes
if: ${{ needs.find-changes.outputs.dockerfile_files != '[]' && needs.find-changes.outputs.dockerfile_files != '' }}
strategy:
matrix:
file: ${{ fromJson(needs.find-changes.outputs.dockerfile_files) }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Lint Dockerfile
uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf # v3.1.0
with:
dockerfile: ${{ matrix.file }}
Loading

0 comments on commit 38f8dfd

Please sign in to comment.