Skip to content

Commit 3f55545

Browse files
Jakub ZikaJakub Zika
authored andcommitted
Merge remote-tracking branch 'upstream/main'
2 parents e458eab + 930f956 commit 3f55545

File tree

9 files changed

+190
-96
lines changed

9 files changed

+190
-96
lines changed

.gitattributes

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Configure Languages for GitHub repository using Linguist
22

3-
# Markdown & Make detection,
4-
# exclude HTML, CSS & JavaScript
5-
# docs/** linguist-detectable
3+
# EDN, Markdown & Make detection
64
*.edn linguist-detectable=true
75
*.md linguist-detectable=true
86
make linguist-detectable=true
7+
8+
# Exclude other file types
99
*.css linguist-detectable=false
1010
*.js linguist-detectable=false
1111
*.html linguist-detectable=false

.github/config/markdown-lint.jsonc

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
// Number of characters for headings
8181
"heading_line_length": 80,
8282
// Number of characters for code blocks
83-
"code_block_line_length": 120,
83+
"code_block_line_length": 420,
8484
// Include code blocks
8585
"code_blocks": true,
8686
// Include tables
@@ -179,7 +179,7 @@
179179
// MD033/no-inline-html - Inline HTML
180180
"MD033": {
181181
// Allowed elements
182-
"allowed_elements": ["a", "div", "iframe", "img"]
182+
"allowed_elements": ["a", "div", "iframe", "img"i, "p"]
183183
},
184184

185185
// MD034/no-bare-urls - Bare URL used
@@ -226,9 +226,7 @@
226226
"MD042": true,
227227

228228
// MD043/required-headings/required-headers - Required heading structure
229-
"MD043": {
230-
231-
},
229+
"MD043": {},
232230

233231
// MD044/proper-names - Proper names should have the correct capitalization
234232
"MD044": {
@@ -279,8 +277,6 @@
279277
// MD053/link-image-reference-definitions - Link and image reference definitions should be needed
280278
"MD053": {
281279
// Ignored definitions
282-
"ignored_definitions": [
283-
"//"
284-
]
280+
"ignored_definitions": ["//"]
285281
}
286282
}

.github/workflows/lint-review.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- run: echo "🐙 ${{ github.repository }} repository was cloned to the runner."
2424

2525
- name: clj-kondo
26-
uses: nnichols/clojure-lint-action@v2
26+
uses: nnichols/clojure-lint-action@v3
2727
with:
2828
pattern: "*.clj"
2929
clj_kondo_config: ".clj-kondo/config-ci.edn"

.github/workflows/megalinter.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747

4848
# MegaLinter Configuration
4949
- name: MegaLinter Run
50-
uses: oxsecurity/megalinter/flavors/java@v8.1.0
50+
uses: oxsecurity/megalinter/flavors/java@v8.3.0
5151
id: ml
5252
env:
5353

.github/workflows/quality-checks.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ jobs:
1919
- run: echo "🐙 ${{ github.repository }} repository was cloned to the runner."
2020

2121
- name: "Install tools"
22-
uses: DeLaGuardo/setup-clojure@12.5
22+
uses: DeLaGuardo/setup-clojure@13.1
2323
with:
24-
cljstyle: 0.16.626
25-
clj-kondo: 2024.08.29
24+
cljstyle: 0.17.642
25+
clj-kondo: 2024.11.14
2626

2727
- name: "Lint Clojure"
2828
run: clj-kondo --lint deps.edn --config '{:output {:pattern "::{{level}} file={{filename}},line={{row}},col={{col}}::{{message}}"}}'

CHANGELOG.org

Lines changed: 55 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,66 @@
22

33
* Unreleased
44

5+
* 2024-12-19
6+
** Added
57

68
** Updated
7-
- dev: megalinter v8.1.0 supports Grafana dashboards in flavors
8-
- dev: lychee spell config file for megalinter workflow
9+
- dev: clojure-lint-action v3 in lint-review workflow
10+
- dev: megalinter java v8.3.0 in megalinter workflow
11+
- dev: setup-clojure 13.1, clj-kondo 2024.11.14, cljstyle 0.17.642 in quality-checks workflow
12+
- dev: markdown lint default practicalli configuration
13+
- dev: github repository attributes for edn project
14+
- aliases: update library versions using `make outdated`
15+
16+
| :name | :current | :latest |
17+
| ------------------------------------ | ---------------------------------------- | ---------------------------------------- |
18+
| cider/cider-nrepl | 0.50.2 | 0.50.3 |
19+
| clj-commons/clj-yaml | 1.0.28 | 1.0.29 |
20+
| com.github.flow-storm/clojure | 1.12.0-1 | 1.12.0-2 |
21+
| com.github.flow-storm/flow-storm-dbg | 3.17.4 | 4.0.2 |
22+
| com.github.liquidz/antq | 2.10.1241 | 2.11.1250 |
23+
| com.github.seancorfield/next.jdbc | 1.3.955 | 1.3.981 |
24+
| djblue/portal | 0.58.2 | 0.58.4 |
25+
| mvxcvi/cljstyle | 9be5bb9ed678a1e73670a3df3ece08bb22362441 | d40540a7a8e3efdd18f10cb288864e0ca15c7f8f |
26+
27+
28+
* 2024-11-03
29+
** Added
30+
- alias: `:security/nvd-scan` and `:security/nvd-fix` library vulnerabilities scan and fix
31+
32+
** Updated
33+
- dev: megalinter v8.1.0 supports Grafana dashboards in flavors
34+
- dev: lychee spell config file for megalinter workflow
35+
- dev: clj-kondo 2024.09.27 in quality-checks GitHub workflow
36+
- Update library versions using `make outdated`
37+
38+
| :name | :current | :latest |
39+
| ------------------------------------ | ---------- | ---------- |
40+
| clj-commons/clj-yaml | 1.0.27 | 1.0.28 |
41+
| com.github.flow-storm/clojure | 1.12.0 | 1.12.0-1 |
42+
| com.github.flow-storm/flow-storm-dbg | 3.17.3 | 3.17.4 |
43+
| com.github.liquidz/antq | 2.9.1227 | 2.10.1241 |
44+
| com.github.seancorfield/next.jdbc | 1.3.939 | 1.3.955 |
45+
| djblue/portal | 0.57.3 | 0.58.2 |
46+
| integrant/repl | 0.3.3 | 0.4.0 |
47+
| io.github.nextjournal/clerk | 0.16.1016 | 0.17.1102 |
48+
49+
Available changes:
50+
- https://github.com/clj-kondo/clj-kondo/blob/v2024.09.27/CHANGELOG.md
51+
- https://github.com/clj-commons/clj-yaml/blob/v1.0.28/CHANGELOG.adoc
52+
- https://github.com/clojure/clojure/compare/clojure-1.12.0...head
53+
- https://github.com/liquidz/antq/blob/2.10.1241/CHANGELOG.adoc
54+
- https://github.com/seancorfield/next-jdbc/blob/v1.3.955/CHANGELOG.md
55+
- https://github.com/djblue/portal/blob/0.58.2/CHANGELOG.md
56+
- https://github.com/weavejester/integrant-repl/compare/0.3.3...0.4.0
57+
- https://github.com/nextjournal/clerk/blob/v0.17.1102/CHANGELOG.md
58+
959

1060
* 2024-09-09
1161
** Added
12-
- dev: megalinter-upgrade task to upgrade config
13-
- dev: megalinter grafana dashboard connections via github organization secrets
62+
- dev: megalinter-upgrade task to upgrade config
63+
- dev: megalinter grafana dashboard connections via github organization secrets
64+
- alias: `:security/nvd-scan` and `:security/nvd-fix` library vulnerabilities scan and fix
1465

1566
** Updated
1667
- dev: update megalinter config to version 8

Makefile

Lines changed: 68 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
# ------------------------------------------
1919
# .PHONY: ensures target used rather than matching file name
2020
# https://makefiletutorial.com/#phony
21-
.PHONY: all lint deps dist pre-commit-check repl test clean
21+
.PHONY: all clean deps dist lint pre-commit-check repl test test-ci test-watch
2222

2323
# ------- Makefile Variables --------- #
2424
# run help if no target specified
@@ -29,10 +29,12 @@ OUTDATED_FILE := outdated-$(shell date +%y-%m-%d-%T).org
2929
# Column the target description is printed from
3030
HELP-DESCRIPTION-SPACING := 24
3131

32-
MEGALINTER_RUNNER = npx mega-linter-runner --flavor java --env "'MEGALINTER_CONFIG=.github/config/megalinter.yaml'" --remove-container
33-
3432
# Makefile file and directory name wildcard
3533
# EDN-FILES := $(wildcard *.edn)
34+
35+
# Tool variables
36+
# MEGALINTER_RUNNER = npx mega-linter-runner --flavor documentation --env "'MEGALINTER_CONFIG=.github/config/megalinter.yaml'" --remove-container
37+
MEGALINTER_RUNNER = npx mega-linter-runner --flavor java --env "'MEGALINTER_CONFIG=.github/config/megalinter.yaml'" --remove-container
3638
# ------------------------------------ #
3739

3840
# ------- Help ----------------------- #
@@ -44,15 +46,37 @@ help: ## Describe available tasks in Makefile
4446
awk -F ':.*?## ' 'NF==2 {printf "\033[36m %-$(HELP-DESCRIPTION-SPACING)s\033[0m %s\n", $$1, $$2}'
4547
# ------------------------------------ #
4648

47-
# ------- Clojure Development -------- #
48-
repl: ## Run Clojure REPL with rich terminal UI (Rebel Readline)
49+
# ------- Clojure Projects -------- #
50+
project-service: ## New project with practicalli/service template
51+
$(info --------- Create Service Project ---------)
52+
clojure -T:project/create :template practicalli/service :name practicalli/gameboard
53+
54+
project-service-donut: ## New project with practicalli/service template & Donut
55+
$(info --------- Create Service Project with Donut ---------)
56+
clojure -T:project/create :template practicalli/service :name practicalli/gameboard :target-dir gameboard-donut
57+
58+
project-service-integrant: ## New project with practicalli/service template & Integrant
59+
$(info --------- Create Service Project with Integrant ---------)
60+
clojure -T:project/create :template practicalli/service :name practicalli/gameboard :target-dir gameboard-integrant
61+
62+
landing-page-local: ## New project with practicalli/landing-page template local
4963
$(info --------- Run Rebel REPL ---------)
50-
clojure -M:test/env:repl/reloaded
64+
clojure -T:project/create-local :template practicalli/landing-page :name practicalli/landing-page-local
65+
66+
landing-page: ## New project with practicalli/landing-page template local
67+
$(info --------- Run Rebel REPL ---------)
68+
clojure -T:project/create :template practicalli/landing-page :name practicalli/landing-page
5169

5270
outdated: ## Check deps.edn & GitHub actions for new versions
5371
$(info --------- Search for outdated libraries ---------)
5472
- clojure -T:search/outdated > $(OUTDATED_FILE)
5573

74+
# ------- Clojure Workflow -------- #
75+
repl: ## Run Clojure REPL with rich terminal UI (Rebel Readline)
76+
$(info --------- Run Rebel REPL ---------)
77+
clojure -M:test/env:repl/reloaded
78+
79+
5680
# deps: deps.edn ## Prepare dependencies for test and dist targets
5781
# $(info --------- Download test and service libraries ---------)
5882
# clojure -P -X:build
@@ -64,39 +88,40 @@ outdated: ## Check deps.edn & GitHub actions for new versions
6488
# `-` before the command ignores any errors returned
6589
clean: ## Clean build temporary files
6690
$(info --------- Clean Clojure classpath cache ---------)
67-
- rm -rf ./.cpcache .clj-kondo .lsp
91+
- rm -rf ./.cpcache ./.clj-kondo ./.lsp
6892
# ------------------------------------ #
6993

7094
# ------- Testing -------------------- #
71-
# test-config: ## Print Kaocha test runner configuration
72-
# $(info --------- Runner Configuration ---------)
73-
# clojure -M:test/env:test/run --print-config
95+
test-config: ## Print Kaocha test runner configuration
96+
$(info --------- Runner Configuration ---------)
97+
clojure -M:test/env:test/run --print-config
98+
99+
test-profile: ## Profile unit test speed, showing 3 slowest tests
100+
$(info --------- Runner Profile Tests ---------)
101+
clojure -M:test/env:test/run --plugin kaocha.plugin/profiling
74102

75-
# test-profile: ## Profile unit test speed, showing 3 slowest tests
76-
# $(info --------- Runner Profile Tests ---------)
77-
# clojure -M:test/env:test/run --plugin kaocha.plugin/profiling
103+
test: ## Run unit tests - stoping on first error
104+
$(info --------- Runner for unit tests ---------)
105+
clojure -X:test/env:test/run
78106

79-
# test: ## Run unit tests - stoping on first error
80-
# $(info --------- Runner for unit tests ---------)
81-
# clojure -X:test/env:test/run
107+
test-all: ## Run all unit tests regardless of failing tests
108+
$(info --------- Runner for all unit tests ---------)
109+
clojure -X:test/env:test/run :fail-fast? false
82110

83-
# test-all: ## Run all unit tests regardless of failing tests
84-
# $(info --------- Runner for all unit tests ---------)
85-
# clojure -X:test/env:test/run :fail-fast? false
111+
test-watch: ## Run tests when changes saved, stopping test run on first error
112+
$(info --------- Watcher for unit tests ---------)
113+
clojure -X:test/env:test/run :watch? true
86114

87-
# test-watch: ## Run tests when changes saved, stopping test run on first error
88-
# $(info --------- Watcher for unit tests ---------)
89-
# clojure -X:test/env:test/run :watch? true
115+
test-watch-all: ## Run all tests when changes saved, regardless of failing tests
116+
$(info --------- Watcher for unit tests ---------)
117+
clojure -X:test/env:test/run :fail-fast? false :watch? true
90118

91-
# test-watch-all: ## Run all tests when changes saved, regardless of failing tests
92-
# $(info --------- Watcher for unit tests ---------)
93-
# clojure -X:test/env:test/run :fail-fast? false :watch? true
94119
# ------------------------------------ #
95120

96121
# -------- Build tasks --------------- #
97-
# build-config: ## Pretty print build configuration
98-
# $(info --------- View current build config ---------)
99-
# clojure -T:build config
122+
build-config: ## Pretty print build configuration
123+
$(info --------- View current build config ---------)
124+
clojure -T:build config
100125

101126
# build-jar: ## Build a jar archive of Clojure project
102127
# $(info --------- Build library jar ---------)
@@ -106,9 +131,10 @@ clean: ## Clean build temporary files
106131
# $(info --------- Build service Uberjar ---------)
107132
# clojure -T:build uberjar
108133

109-
# build-clean: ## Clean build assets or given directory
110-
# $(info --------- Clean Build ---------)
111-
# clojure -T:build clean
134+
build-clean: ## Clean build assets or given directory
135+
$(info --------- Clean Build ---------)
136+
clojure -T:build clean
137+
112138
# ------------------------------------ #
113139

114140
# ------- Code Quality --------------- #
@@ -126,7 +152,7 @@ lint: ## Run MegaLinter with custom configuration (node.js required)
126152
$(info --------- MegaLinter Runner ---------)
127153
$(MEGALINTER_RUNNER)
128154

129-
lint-fix: ## Run MegaLinter with custom configuration (node.js required)
155+
lint-fix: ## Run MegaLinter with applied fixes and custom configuration (node.js required)
130156
$(info --------- MegaLinter Runner ---------)
131157
$(MEGALINTER_RUNNER) --fix
132158

@@ -140,17 +166,18 @@ megalinter-upgrade: ## Upgrade MegaLinter config to latest version
140166
# ------------------------------------ #
141167

142168
# ------- Docker Containers ---------- #
143-
# docker-build: ## Build Clojure Service with docker compose
169+
# docker-build: ## Build Clojure project and run with docker compose
144170
# $(info --------- Docker Compose Build ---------)
145-
# docker compose up --build
171+
# docker compose up --build --detach
146172

147-
# docker-build-clean: ## Build Clojure Service with docker compose, removing orphans
173+
# docker-build-clean: ## Build Clojure project and run with docker compose, removing orphans
148174
# $(info --------- Docker Compose Build - remove orphans ---------)
149-
# docker compose up --build --remove-orphans
175+
# docker compose up --build --remove-orphans --detach
150176

151-
# docker-down: ## Shut down Clojure service using docker compose
177+
# docker-down: ## Shut down containers in docker compose
152178
# $(info --------- Docker Compose Down ---------)
153-
# docker-compose down
179+
# docker compose down
180+
154181

155182
# swagger-editor: ## Start Swagger Editor in Docker
156183
# $(info --------- Run Swagger Editor at locahost:8282 ---------)
@@ -172,6 +199,7 @@ megalinter-upgrade: ## Upgrade MegaLinter config to latest version
172199

173200
# Run tests, build & package the Clojure code and clean up afterward
174201
# `make all` used in Docker builder stage
175-
# .DELETE_ON_ERROR:
176-
# all: test-ci dist clean ## Call test-ci dist and clean targets, used for CI
202+
.DELETE_ON_ERROR:
203+
all: test-ci dist clean ## Call test-ci dist and clean targets, used for CI
204+
177205
# ------------------------------------ #

0 commit comments

Comments
 (0)