Initial restructured project + trunk + pipelines

This commit is contained in:
Greyscale 2024-07-31 11:30:50 +02:00
parent 2e5213d711
commit 0a0d380cd0
17 changed files with 187 additions and 0 deletions

13
.actrc Normal file
View file

@ -0,0 +1,13 @@
--action-cache-path .github/cache/act/actions
--artifact-server-path .github/cache/act/artifacts
--artifact-server-port 22002
--cache-server-path .github/cache/act/cache
--use-new-action-cache
--var-file .act.vars
--secret-file .act.secrets
--pull=false
--platform self-hosted=ghcr.io/catthehacker/ubuntu:act-latest
--platform ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-latest
--platform ubuntu-22.04=ghcr.io/catthehacker/ubuntu:act-22.04
--platform ubuntu-20.04=ghcr.io/catthehacker/ubuntu:act-20.04
--platform ubuntu-18.04=ghcr.io/catthehacker/ubuntu:act-18.04

34
.github/workflows/scad.yml vendored Normal file
View file

@ -0,0 +1,34 @@
name: Deploy To Production
on:
push:
branches:
- main
permissions: read-all
jobs:
render:
runs-on: ubuntu-latest
strategy:
matrix:
part:
- Lid
- Bottom
- Latch
- Seal
steps:
- name: Setup
uses: actions/checkout@v4
- name: Render
run: |
docker run \
-v ${{ github.workspace }}:/workspace/ \
openscad/openscad \
-D View=\"${{ matrix.part }}\" \
-o /workspace/${{ matrix.part }}.stl \
/workspace/smokebox.scad
- name: Upload
uses: actions/upload-artifact@v4
with:
name: smokebox-${{ matrix.part }}.stl
path: ${{ github.workspace }}/${{ matrix.part }}.stl

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
/.idea
/out
/.act.secrets
/.github/cache

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "lib/openscad-parametric-boxes"]
path = lib/openscad-parametric-boxes
url = https://code.techinc.nl/grey/openscad-parametric-boxes.git

9
.trunk/.gitignore vendored Normal file
View file

@ -0,0 +1,9 @@
*out
*logs
*actions
*notifications
*tools
plugins
user_trunk.yaml
user.yaml
tmp

View file

@ -0,0 +1,3 @@
---
skip-check:
- CKV_SECRET_* # Skip all checks that start with CKV_SECRET, we already have gitleaks doing this.

View file

@ -0,0 +1,12 @@
title = "Gitleaks config"
[extend]
useDefault = true
[allowlist]
paths = [
'''helix/tests/Cassettes/(.*?).cassette''',
'''helix/tests/Integration/(.*?).http''',
'''helix/tests/Integration/(.*?).env.json''',
'''helix/tests/*''',
'''.docker/base-image/php/self-signed-certificates/example.key''',
]

View file

@ -0,0 +1,7 @@
ignored:
- DL3006
- DL3008
- SC1090
- SC1091
- SC2043
- SC2312

View file

@ -0,0 +1,10 @@
# Autoformatter friendly markdownlint config (all formatting rules disabled)
default: true
blank_lines: false
bullet: false
html: false
indentation: false
line_length: false
spaces: false
url: false
whitespace: false

View file

View file

@ -0,0 +1,7 @@
enable=all
source-path=SCRIPTDIR
disable=SC2154
# If you're having issues with shellcheck following source, disable the errors via:
# disable=SC1090
# disable=SC1091

View file

@ -0,0 +1,16 @@
config {
format = "compact"
module = true
plugin_dir = "~/.tflint.d/plugins"
}
plugin "terraform" {
enabled = true
preset = "recommended"
}
plugin "aws" {
enabled = true
version = "0.27.0"
source = "github.com/terraform-linters/tflint-ruleset-aws"
}

View file

@ -0,0 +1,15 @@
extends: relaxed
rules:
quoted-strings:
required: only-when-needed
extra-allowed: ["{|*}"]
empty-values:
forbid-in-block-mappings: false
forbid-in-flow-mappings: false
ignore:
- .github/workflows/*.yml
key-duplicates: {}
octal-values:
forbid-implicit-octal: true
document-start: disable
line-length: disable

View file

@ -0,0 +1,14 @@
module.exports = {
plugins: [
{
name: "preset-default",
params: {
overrides: {
removeViewBox: false, // https://github.com/svg/svgo/issues/1128
sortAttrs: true,
removeOffCanvasPaths: true,
},
},
},
],
};

View file

@ -0,0 +1,2 @@
disable-rules:
- DS002

37
.trunk/trunk.yaml Normal file
View file

@ -0,0 +1,37 @@
# This file controls the behavior of Trunk: https://docs.trunk.io/cli
# To learn more about the format of this file, see https://docs.trunk.io/reference/trunk-yaml
version: 0.1
cli:
version: 1.22.2
# Trunk provides extensibility via plugins. (https://docs.trunk.io/plugins)
plugins:
sources:
- id: trunk
ref: v1.6.1
uri: https://github.com/trunk-io/plugins
# Many linters and tools depend on runtimes - configure them here. (https://docs.trunk.io/runtimes)
runtimes:
enabled:
- node@18.12.1
- python@3.10.8
# This is the section where you manage your linters. (https://docs.trunk.io/check/configuration)
lint:
enabled:
- actionlint@1.7.1
- checkov@3.2.216
- git-diff-check
- prettier@3.3.3
- trivy@0.54.0
- trufflehog@3.80.3
- yamllint@1.35.1
actions:
enabled:
- trunk-announce
- trunk-check-pre-push
- trunk-fmt-pre-commit
- trunk-upgrade-available
tools:
enabled:
- act@0.2.64
disabled:
- trufflehog

@ -0,0 +1 @@
Subproject commit 6cdf0fafc385e8426998954ebd47613ddc8a69d2