Skip to content

Commit 5443a2c

Browse files
committed
Merge pull request #3 from mocbotau/daggerise
feat: daggerise ci, move to Helmfile for deployment
2 parents f55629d + 0d25cf3 commit 5443a2c

12 files changed

Lines changed: 390 additions & 278 deletions

File tree

.dagger/.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/dagger.gen.go linguist-generated
2+
/internal/dagger/** linguist-generated
3+
/internal/querybuilder/** linguist-generated
4+
/internal/telemetry/** linguist-generated

.dagger/.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/dagger.gen.go
2+
/internal/dagger
3+
/internal/querybuilder
4+
/internal/telemetry
5+
/.env

.dagger/go.mod

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
module dagger/macroservices-invoice-renderer
2+
3+
go 1.25.5
4+
5+
require (
6+
github.com/99designs/gqlgen v0.17.81
7+
github.com/Khan/genqlient v0.8.1
8+
github.com/vektah/gqlparser/v2 v2.5.30
9+
go.opentelemetry.io/otel v1.38.0
10+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0
11+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0
12+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0
13+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0
14+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0
15+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0
16+
go.opentelemetry.io/otel/log v0.14.0
17+
go.opentelemetry.io/otel/metric v1.38.0
18+
go.opentelemetry.io/otel/sdk v1.38.0
19+
go.opentelemetry.io/otel/sdk/log v0.14.0
20+
go.opentelemetry.io/otel/sdk/metric v1.38.0
21+
go.opentelemetry.io/otel/trace v1.38.0
22+
go.opentelemetry.io/proto/otlp v1.8.0
23+
golang.org/x/sync v0.17.0
24+
google.golang.org/grpc v1.76.0
25+
)
26+
27+
require (
28+
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
29+
github.com/go-logr/logr v1.4.3 // indirect
30+
github.com/go-logr/stdr v1.2.2 // indirect
31+
github.com/google/uuid v1.6.0 // indirect
32+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect
33+
github.com/sosodev/duration v1.3.1 // indirect
34+
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
35+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 // indirect
36+
golang.org/x/net v0.44.0 // indirect
37+
golang.org/x/sys v0.36.0 // indirect
38+
golang.org/x/text v0.29.0 // indirect
39+
google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect
40+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect
41+
google.golang.org/protobuf v1.36.9 // indirect
42+
)
43+
44+
replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0
45+
46+
replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0
47+
48+
replace go.opentelemetry.io/otel/log => go.opentelemetry.io/otel/log v0.14.0
49+
50+
replace go.opentelemetry.io/otel/sdk/log => go.opentelemetry.io/otel/sdk/log v0.14.0

.dagger/go.sum

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
github.com/99designs/gqlgen v0.17.81 h1:kCkN/xVyRb5rEQpuwOHRTYq83i0IuTQg9vdIiwEerTs=
2+
github.com/99designs/gqlgen v0.17.81/go.mod h1:vgNcZlLwemsUhYim4dC1pvFP5FX0pr2Y+uYUoHFb1ig=
3+
github.com/Khan/genqlient v0.8.1 h1:wtOCc8N9rNynRLXN3k3CnfzheCUNKBcvXmVv5zt6WCs=
4+
github.com/Khan/genqlient v0.8.1/go.mod h1:R2G6DzjBvCbhjsEajfRjbWdVglSH/73kSivC9TLWVjU=
5+
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
6+
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
7+
github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM=
8+
github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
9+
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
10+
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
11+
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
12+
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
13+
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
14+
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
15+
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
16+
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
17+
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
18+
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
19+
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
20+
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
21+
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
22+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU=
23+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs=
24+
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
25+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
26+
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
27+
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
28+
github.com/sosodev/duration v1.3.1 h1:qtHBDMQ6lvMQsL15g4aopM4HEfOaYuhWBw3NPTtlqq4=
29+
github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg=
30+
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
31+
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
32+
github.com/vektah/gqlparser/v2 v2.5.30 h1:EqLwGAFLIzt1wpx1IPpY67DwUujF1OfzgEyDsLrN6kE=
33+
github.com/vektah/gqlparser/v2 v2.5.30/go.mod h1:D1/VCZtV3LPnQrcPBeR/q5jkSQIPti0uYCP/RI0gIeo=
34+
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
35+
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
36+
go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8=
37+
go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM=
38+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0 h1:OMqPldHt79PqWKOMYIAQs3CxAi7RLgPxwfFSwr4ZxtM=
39+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0/go.mod h1:1biG4qiqTxKiUCtoWDPpL3fB3KxVwCiGw81j3nKMuHE=
40+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0 h1:QQqYw3lkrzwVsoEX0w//EhH/TCnpRdEenKBOOEIMjWc=
41+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0/go.mod h1:gSVQcr17jk2ig4jqJ2DX30IdWH251JcNAecvrqTxH1s=
42+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 h1:vl9obrcoWVKp/lwl8tRE33853I8Xru9HFbw/skNeLs8=
43+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0/go.mod h1:GAXRxmLJcVM3u22IjTg74zWBrRCKq8BnOqUVLodpcpw=
44+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 h1:Oe2z/BCg5q7k4iXC3cqJxKYg0ieRiOqF0cecFYdPTwk=
45+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0/go.mod h1:ZQM5lAJpOsKnYagGg/zV2krVqTtaVdYdDkhMoX6Oalg=
46+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 h1:GqRJVj7UmLjCVyVJ3ZFLdPRmhDUp2zFmQe3RHIOsw24=
47+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU=
48+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4Dc5leUqENgGuQImwLo4WnuXFPetmPpkLi2IrX54=
49+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0/go.mod h1:Kz/oCE7z5wuyhPxsXDuaPteSWqjSBD5YaSdbxZYGbGk=
50+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 h1:aTL7F04bJHUlztTsNGJ2l+6he8c+y/b//eR0jjjemT4=
51+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0/go.mod h1:kldtb7jDTeol0l3ewcmd8SDvx3EmIE7lyvqbasU3QC4=
52+
go.opentelemetry.io/otel/log v0.14.0 h1:2rzJ+pOAZ8qmZ3DDHg73NEKzSZkhkGIua9gXtxNGgrM=
53+
go.opentelemetry.io/otel/log v0.14.0/go.mod h1:5jRG92fEAgx0SU/vFPxmJvhIuDU9E1SUnEQrMlJpOno=
54+
go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA=
55+
go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI=
56+
go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E=
57+
go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg=
58+
go.opentelemetry.io/otel/sdk/log v0.14.0 h1:JU/U3O7N6fsAXj0+CXz21Czg532dW2V4gG1HE/e8Zrg=
59+
go.opentelemetry.io/otel/sdk/log v0.14.0/go.mod h1:imQvII+0ZylXfKU7/wtOND8Hn4OpT3YUoIgqJVksUkM=
60+
go.opentelemetry.io/otel/sdk/log/logtest v0.14.0 h1:Ijbtz+JKXl8T2MngiwqBlPaHqc4YCaP/i13Qrow6gAM=
61+
go.opentelemetry.io/otel/sdk/log/logtest v0.14.0/go.mod h1:dCU8aEL6q+L9cYTqcVOk8rM9Tp8WdnHOPLiBgp0SGOA=
62+
go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM=
63+
go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA=
64+
go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE=
65+
go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=
66+
go.opentelemetry.io/proto/otlp v1.8.0 h1:fRAZQDcAFHySxpJ1TwlA1cJ4tvcrw7nXl9xWWC8N5CE=
67+
go.opentelemetry.io/proto/otlp v1.8.0/go.mod h1:tIeYOeNBU4cvmPqpaji1P+KbB4Oloai8wN4rWzRrFF0=
68+
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
69+
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
70+
golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I=
71+
golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY=
72+
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
73+
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
74+
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
75+
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
76+
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
77+
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
78+
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
79+
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
80+
google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 h1:BIRfGDEjiHRrk0QKZe3Xv2ieMhtgRGeLcZQ0mIVn4EY=
81+
google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5/go.mod h1:j3QtIyytwqGr1JUDtYXwtMXWPKsEa5LtzIFN1Wn5WvE=
82+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 h1:eaY8u2EuxbRv7c3NiGK0/NedzVsCcV6hDuU5qPX5EGE=
83+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc=
84+
google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A=
85+
google.golang.org/grpc v1.76.0/go.mod h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c=
86+
google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw=
87+
google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
88+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
89+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

.dagger/main.go

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
package main
2+
3+
import (
4+
"context"
5+
6+
"golang.org/x/sync/errgroup"
7+
8+
"dagger/macroservices-invoice-renderer/internal/dagger"
9+
)
10+
11+
const (
12+
nodeJSVersion = "16"
13+
repoName = "macroservices"
14+
)
15+
16+
type MacroservicesInvoiceRenderer struct {
17+
// Source code directory
18+
Source *dagger.Directory
19+
// +private
20+
InfisicalClientSecret *dagger.Secret
21+
}
22+
23+
func New(
24+
// Source code directory
25+
// +defaultPath="."
26+
source *dagger.Directory,
27+
// Infisical client secret
28+
infisicalClientSecret *dagger.Secret,
29+
) *MacroservicesInvoiceRenderer {
30+
return &MacroservicesInvoiceRenderer{
31+
Source: source,
32+
InfisicalClientSecret: infisicalClientSecret,
33+
}
34+
}
35+
36+
// CI runs the complete CI pipeline
37+
func (m *MacroservicesInvoiceRenderer) CI(ctx context.Context) error {
38+
g, ctx := errgroup.WithContext(ctx)
39+
40+
g.Go(func() error {
41+
backend := dag.NodeCi(m.Source.Directory("backend"), dagger.NodeCiOpts{
42+
NodeVersion: nodeJSVersion,
43+
})
44+
45+
_, err := backend.
46+
Install().
47+
WithTest().
48+
WithLint().
49+
WithExec("check-prettier").
50+
Stdout(ctx)
51+
52+
return err
53+
})
54+
55+
g.Go(func() error {
56+
frontend := dag.NodeCi(m.Source.Directory("frontend"), dagger.NodeCiOpts{
57+
NodeVersion: nodeJSVersion,
58+
})
59+
60+
_, err := frontend.
61+
Install().
62+
WithLint().
63+
WithExec("check-prettier").
64+
Build(dagger.NodeCiBuildOpts{
65+
UseNextCache: true,
66+
}).
67+
Stdout(ctx)
68+
return err
69+
})
70+
71+
return g.Wait()
72+
}
73+
74+
// BuildAndPush builds and pushes the Docker image to the container registry
75+
func (m *MacroservicesInvoiceRenderer) BuildAndPush(
76+
ctx context.Context,
77+
// +default="prod"
78+
env string,
79+
) error {
80+
g, ctx := errgroup.WithContext(ctx)
81+
82+
g.Go(func() error {
83+
_, err := dag.Docker(m.Source.Directory("backend"), m.InfisicalClientSecret, repoName+"-backend", dagger.DockerOpts{
84+
Environment: env,
85+
}).Build().Publish(ctx)
86+
87+
return err
88+
})
89+
90+
g.Go(func() error {
91+
_, err := dag.Docker(m.Source.Directory("frontend"), m.InfisicalClientSecret, repoName+"-frontend", dagger.DockerOpts{
92+
Environment: env,
93+
}).Build().Publish(ctx)
94+
95+
return err
96+
})
97+
98+
return g.Wait()
99+
}

.github/workflows/ci.yaml

Lines changed: 6 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -1,126 +1,9 @@
1-
name: Node.js CI
1+
name: CI
22

3-
on: ["pull_request"]
3+
on:
4+
pull_request:
45

56
jobs:
6-
test-coverage-backend:
7-
runs-on: ubuntu-latest
8-
permissions:
9-
checks: write
10-
pull-requests: write
11-
contents: write
12-
13-
steps:
14-
- uses: actions/checkout@v3
15-
- uses: ArtiomTr/jest-coverage-report-action@v2
16-
with:
17-
working-directory: backend
18-
19-
lint-backend:
20-
runs-on: ubuntu-latest
21-
22-
defaults:
23-
run:
24-
working-directory: ./backend
25-
26-
strategy:
27-
matrix:
28-
node-version: [16.x]
29-
30-
steps:
31-
- uses: actions/checkout@v3
32-
- name: Use Node.js ${{ matrix.node-version }}
33-
uses: actions/setup-node@v3
34-
with:
35-
node-version: ${{ matrix.node-version }}
36-
- run: npm ci --include=dev
37-
- run: npm run lint
38-
39-
prettier-backend:
40-
runs-on: ubuntu-latest
41-
42-
defaults:
43-
run:
44-
working-directory: ./backend
45-
46-
strategy:
47-
matrix:
48-
node-version: [16.x]
49-
50-
steps:
51-
- uses: actions/checkout@v3
52-
- name: Use Node.js ${{ matrix.node-version }}
53-
uses: actions/setup-node@v3
54-
with:
55-
node-version: ${{ matrix.node-version }}
56-
- run: npm ci --include=dev
57-
- run: npm run check-prettier
58-
59-
# test-coverage-next:
60-
# runs-on: ubuntu-latest
61-
62-
# steps:
63-
# - uses: actions/checkout@v3
64-
# - uses: ArtiomTr/jest-coverage-report-action@v2
65-
# with:
66-
# working-directory: frontend
67-
68-
lint-next:
69-
runs-on: ubuntu-latest
70-
71-
defaults:
72-
run:
73-
working-directory: ./frontend
74-
75-
strategy:
76-
matrix:
77-
node-version: [16.x]
78-
79-
steps:
80-
- uses: actions/checkout@v3
81-
- name: Use Node.js ${{ matrix.node-version }}
82-
uses: actions/setup-node@v3
83-
with:
84-
node-version: ${{ matrix.node-version }}
85-
- run: npm ci --include=dev
86-
- run: npm run lint
87-
88-
prettier-next:
89-
runs-on: ubuntu-latest
90-
91-
defaults:
92-
run:
93-
working-directory: ./frontend
94-
95-
strategy:
96-
matrix:
97-
node-version: [16.x]
98-
99-
steps:
100-
- uses: actions/checkout@v3
101-
- name: Use Node.js ${{ matrix.node-version }}
102-
uses: actions/setup-node@v3
103-
with:
104-
node-version: ${{ matrix.node-version }}
105-
- run: npm ci --include=dev
106-
- run: npm run check-prettier
107-
108-
dryrun-build-next:
109-
runs-on: ubuntu-latest
110-
111-
defaults:
112-
run:
113-
working-directory: ./frontend
114-
115-
strategy:
116-
matrix:
117-
node-version: [16.x]
118-
119-
steps:
120-
- uses: actions/checkout@v3
121-
- name: Use Node.js ${{ matrix.node-version }}
122-
uses: actions/setup-node@v3
123-
with:
124-
node-version: ${{ matrix.node-version }}
125-
- run: npm ci --include=dev
126-
- run: npm run build
7+
checks:
8+
uses: mocbotau/infra-workflows/.github/workflows/generic-ci.yaml@main
9+
secrets: inherit

0 commit comments

Comments
 (0)