Skip to content

Commit 69e0d58

Browse files
committed
ref: replace extendio.i18n with li18ngo (#226)
1 parent 6ae7817 commit 69e0d58

19 files changed

+111
-67
lines changed

.github/workflows/ci-workflow.yml

+40-14
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: Pixa Continuous Integration
2+
23
on:
34
push:
45

@@ -7,43 +8,68 @@ jobs:
78
name: lint
89
runs-on: ubuntu-latest
910
steps:
10-
- uses: actions/setup-go@v3
11+
- uses: actions/setup-go@v4
1112
with:
12-
go-version: 1.22
13+
go-version: 1.23
1314
- uses: actions/checkout@v3
1415
- name: golangci-lint
15-
uses: golangci/golangci-lint-action@v4
16+
uses: golangci/golangci-lint-action@v3
1617
with:
17-
version: v1.56.2
18+
version: v1.60.3
1819
args: --verbose
1920

2021
test:
2122
strategy:
2223
matrix:
23-
go-version: [1.22]
24+
go-version: [1.23]
2425
platform: [ubuntu-latest, macos-latest]
2526

2627
runs-on: ${{ matrix.platform }}
2728

29+
env:
30+
COVER_DIR: ${{ github.workspace }}/coverage
31+
COVER_FILE: coverage.out
32+
COVER_OUT_PATH: ${{ github.workspace }}/coverage/coverage.out
33+
COVER_HTML_PATH: ${{ github.workspace }}/coverage/coverage.html
34+
GINKGO_REPORT: ginkgo.report
35+
2836
steps:
2937
- name: Install Go
30-
uses: actions/setup-go@v3
38+
uses: actions/setup-go@v5
3139
with:
3240
go-version: ${{ matrix.go-version }}
3341

3442
- name: Install goveralls
3543
run: go install github.com/mattn/goveralls@latest
3644

45+
- name: Install ginkgo
46+
run: go install github.com/onsi/ginkgo/v2/ginkgo@v2.20.2
47+
3748
- name: Checkout code
38-
uses: actions/checkout@v3
49+
uses: actions/checkout@v4
3950

40-
- run: go test -v -coverprofile=coverage.out ./...
51+
- name: Ensure coverage directory exists
52+
run: |
53+
mkdir -p ${{ github.workspace }}/coverage
54+
55+
- name: Run tests and generate coverage profile with Ginkgo
56+
run: |
57+
ginkgo run -r -json-report {{env.GINKGO_REPORT}} -coverpkg=./... -coverprofile=coverage.out
4158
42-
- uses: shogo82148/actions-goveralls@v1
59+
- name: Apply coverage exclusions
60+
run: |
61+
${{ github.workspace }}/scripts/apply-coverage-exclusions.sh
62+
63+
- name: Check coverage directory contents
64+
run: |
65+
echo "Contents of ${{ github.workspace }}/coverage:"
66+
ls -la ${{ github.workspace }}/coverage
67+
68+
- name: Generate HTML coverage report
69+
run: |
70+
go tool cover -html=coverage.out -o ${{ github.workspace }}/coverage/coverage.html
71+
72+
- name: Upload coverage to Coveralls
73+
uses: shogo82148/actions-goveralls@v1
4374
with:
4475
path-to-profile: coverage.out
45-
46-
- name: Send coverage
47-
env:
48-
COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49-
run: goveralls -coverprofile=coverage.out -service=github

go.mod

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/snivilised/pixa
22

3-
go 1.22
3+
go 1.23.0
44

55
require (
66
github.com/charmbracelet/bubbletea v1.1.1
@@ -11,6 +11,7 @@ require (
1111
github.com/pkg/errors v0.9.1
1212
github.com/samber/lo v1.47.0
1313
github.com/snivilised/extendio v0.7.0
14+
github.com/snivilised/li18ngo v0.1.4
1415
github.com/snivilised/lorax v0.5.2
1516
github.com/spf13/cobra v1.8.1
1617
github.com/spf13/viper v1.18.2

go.sum

+2
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ github.com/snivilised/cobrass v0.4.5 h1:NeU/NwuOuJzotqa4JwnqGqbV1fs1SjB6GF53sXFO
125125
github.com/snivilised/cobrass v0.4.5/go.mod h1:hGVu/zjWVG3tRKo3P0tjelm5S44vMTa/w29ygnvi+lY=
126126
github.com/snivilised/extendio v0.7.0 h1:MY6w9qCK5wVEvP2WpMT5ywJwpDJe97WHDGuwrsTLpek=
127127
github.com/snivilised/extendio v0.7.0/go.mod h1:l8MwJOy9ojMQYJrSKRbQS3WfDylevnRtBp/zwAmFEKc=
128+
github.com/snivilised/li18ngo v0.1.4 h1:y6EECoVFpmkud2yDEeBnMnebPmSvdrEZ/LAq1PoPctE=
129+
github.com/snivilised/li18ngo v0.1.4/go.mod h1:Or3qUhpR6AM1X51i82RtyCvORWy2/hrxY9lg1i1gFTE=
128130
github.com/snivilised/lorax v0.5.2 h1:iReIJl63tydiPSSD0YzsNQFX1CctmvMkYx0aSxoZJKo=
129131
github.com/snivilised/lorax v0.5.2/go.mod h1:7H1JPgSn4h4p8NSqfl64raacYefdm/FiFkfcZ51PVHY=
130132
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=

src/app/cfg/config-runner.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import (
1111
"github.com/snivilised/cobrass/src/assistant/configuration"
1212
ci18n "github.com/snivilised/cobrass/src/assistant/i18n"
1313
"github.com/snivilised/extendio/collections"
14-
xi18n "github.com/snivilised/extendio/i18n"
1514
"github.com/snivilised/extendio/xfs/storage"
15+
"github.com/snivilised/li18ngo"
1616
"github.com/snivilised/pixa/src/app/proxy/common"
1717
"github.com/spf13/viper"
1818
"golang.org/x/text/language"
@@ -216,18 +216,18 @@ func (c *configRunner) handleLangSetting(config configuration.ViperConfig) {
216216
return parsedTag
217217
},
218218
func() language.Tag {
219-
return xi18n.DefaultLanguage.Get()
219+
return li18ngo.DefaultLanguage
220220
},
221221
)
222222

223-
err := xi18n.Use(func(uo *xi18n.UseOptions) {
223+
err := li18ngo.Use(func(uo *li18ngo.UseOptions) {
224224
uo.Tag = tag
225-
uo.From = xi18n.LoadFrom{
226-
Sources: xi18n.TranslationFiles{
227-
c.sourceID: xi18n.TranslationSource{
225+
uo.From = li18ngo.LoadFrom{
226+
Sources: li18ngo.TranslationFiles{
227+
c.sourceID: li18ngo.TranslationSource{
228228
Name: c.applicationName,
229229
},
230-
ci18n.CobrassSourceID: xi18n.TranslationSource{
230+
ci18n.CobrassSourceID: li18ngo.TranslationSource{
231231
Name: "cobrass",
232232
},
233233
},

src/app/cfg/config-runner_test.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212

1313
"github.com/snivilised/cobrass/src/assistant/mocks"
1414
"github.com/snivilised/extendio/xfs/storage"
15+
"github.com/snivilised/li18ngo"
1516
"github.com/snivilised/pixa/src/app/cfg"
1617
"github.com/snivilised/pixa/src/app/proxy/common"
1718
"github.com/snivilised/pixa/src/internal/helpers"
@@ -58,7 +59,7 @@ type runnerTE struct {
5859
assert func(entry *runnerTE, runner common.ConfigRunner, err error)
5960
}
6061

61-
var _ = Describe("ConfigRunner", func() {
62+
var _ = Describe("ConfigRunner", Ordered, func() {
6263
var (
6364
repo string
6465
configPath string
@@ -67,6 +68,10 @@ var _ = Describe("ConfigRunner", func() {
6768
mock *mocks.MockViperConfig
6869
)
6970

71+
BeforeAll(func() {
72+
li18ngo.Use()
73+
})
74+
7075
BeforeEach(func() {
7176
viper.Reset()
7277
vfs = storage.UseMemFS()

src/app/command/bootstrap.go

+11-11
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ import (
1616
"github.com/snivilised/cobrass/src/assistant"
1717
"github.com/snivilised/cobrass/src/assistant/configuration"
1818
ci18n "github.com/snivilised/cobrass/src/assistant/i18n"
19-
xi18n "github.com/snivilised/extendio/i18n"
2019
"github.com/snivilised/extendio/xfs/storage"
2120
"github.com/snivilised/extendio/xfs/utils"
21+
"github.com/snivilised/li18ngo"
2222
"github.com/snivilised/pixa/src/app/cfg"
2323
"github.com/snivilised/pixa/src/app/plog"
2424
"github.com/snivilised/pixa/src/app/proxy"
@@ -51,7 +51,7 @@ func validatePositionalArgs(cmd *cobra.Command, args []string) error {
5151
directory := utils.ResolvePath(args[0])
5252

5353
if !utils.Exists(directory) {
54-
return xi18n.NewPathNotFoundError("shrink directory", directory)
54+
return li18ngo.NewPathNotFoundError("shrink directory", directory)
5555
}
5656

5757
return nil
@@ -125,8 +125,8 @@ func (b *Bootstrap) Root(options ...ConfigureOptionFn) *cobra.Command {
125125
b.Container = assistant.NewCobraContainer(
126126
&cobra.Command{
127127
Use: "main",
128-
Short: xi18n.Text(locale.RootCmdShortDescTemplData{}),
129-
Long: xi18n.Text(locale.RootCmdLongDescTemplData{}),
128+
Short: li18ngo.Text(locale.RootCmdShortDescTemplData{}),
129+
Long: li18ngo.Text(locale.RootCmdLongDescTemplData{}),
130130
Version: fmt.Sprintf("'%v'", Version),
131131
RunE: func(_ *cobra.Command, args []string) error {
132132
inputs := b.getRootInputs()
@@ -178,7 +178,7 @@ func (b *Bootstrap) Root(options ...ConfigureOptionFn) *cobra.Command {
178178

179179
func (b *Bootstrap) configure() {
180180
if err := b.OptionsInfo.Runner.Run(); err != nil {
181-
msg := xi18n.Text(locale.UsingConfigFileTemplData{
181+
msg := li18ngo.Text(locale.UsingConfigFileTemplData{
182182
ConfigFileName: b.OptionsInfo.Config.Viper.ConfigFileUsed(),
183183
})
184184

@@ -202,18 +202,18 @@ func handleLangSetting(config configuration.ViperConfig) {
202202
return parsedTag
203203
},
204204
func() language.Tag {
205-
return xi18n.DefaultLanguage.Get()
205+
return li18ngo.DefaultLanguage
206206
},
207207
)
208208

209-
err := xi18n.Use(func(uo *xi18n.UseOptions) {
209+
err := li18ngo.Use(func(uo *li18ngo.UseOptions) {
210210
uo.Tag = tag
211-
uo.From = xi18n.LoadFrom{
212-
Sources: xi18n.TranslationFiles{
213-
common.Definitions.Pixa.SourceID: xi18n.TranslationSource{
211+
uo.From = li18ngo.LoadFrom{
212+
Sources: li18ngo.TranslationFiles{
213+
common.Definitions.Pixa.SourceID: li18ngo.TranslationSource{
214214
Name: common.Definitions.Pixa.AppName,
215215
},
216-
ci18n.CobrassSourceID: xi18n.TranslationSource{
216+
ci18n.CobrassSourceID: li18ngo.TranslationSource{
217217
Name: "cobrass",
218218
},
219219
},

src/app/command/magick-cmd_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import (
55
. "github.com/onsi/gomega" //nolint:revive // foo
66

77
"github.com/snivilised/cobrass/src/assistant/configuration"
8-
xi18n "github.com/snivilised/extendio/i18n"
98
"github.com/snivilised/extendio/xfs/storage"
9+
"github.com/snivilised/li18ngo"
1010
"github.com/snivilised/pixa/src/app/command"
1111
"github.com/snivilised/pixa/src/app/proxy/common"
1212
"github.com/snivilised/pixa/src/internal/helpers"
@@ -28,7 +28,7 @@ var _ = Describe("MagickCmd", Ordered, func() {
2828
})
2929

3030
BeforeEach(func() {
31-
xi18n.ResetTx()
31+
Expect(li18ngo.Use()).To(Succeed())
3232
vfs, _ = helpers.SetupTest(
3333
"nasa-scientist-index.xml", configPath, l10nPath, helpers.Silent,
3434
)

src/app/command/root-cmd_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
. "github.com/onsi/gomega" //nolint:revive // foo
88

99
"github.com/snivilised/extendio/xfs/storage"
10+
"github.com/snivilised/li18ngo"
1011
"github.com/snivilised/pixa/src/app/command"
1112
"github.com/snivilised/pixa/src/app/proxy/common"
1213
"github.com/snivilised/pixa/src/internal/helpers"
@@ -28,6 +29,7 @@ var _ = Describe("RootCmd", Ordered, func() {
2829
)
2930

3031
BeforeAll(func() {
32+
Expect(li18ngo.Use()).To(Succeed())
3133
repo = helpers.Repo("")
3234
l10nPath = helpers.Path(repo, "test/data/l10n")
3335
configPath = helpers.Path(repo, "test/data/configuration")

src/app/command/shrink-cmd.go

+11-11
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
"github.com/snivilised/cobrass"
1010
"github.com/snivilised/cobrass/src/assistant"
1111
"github.com/snivilised/cobrass/src/store"
12-
xi18n "github.com/snivilised/extendio/i18n"
1312
"github.com/snivilised/extendio/xfs/utils"
13+
"github.com/snivilised/li18ngo"
1414

1515
"github.com/spf13/cobra"
1616
"github.com/spf13/pflag"
@@ -85,9 +85,9 @@ func (b *Bootstrap) buildShrinkCommand(container *assistant.CobraContainer) *cob
8585
Use: "shrink",
8686
Short: locale.LeadsWith(
8787
"shrink",
88-
xi18n.Text(locale.ShrinkCmdShortDefinitionTemplData{}),
88+
li18ngo.Text(locale.ShrinkCmdShortDefinitionTemplData{}),
8989
),
90-
Long: xi18n.Text(locale.ShrinkLongDefinitionTemplData{}),
90+
Long: li18ngo.Text(locale.ShrinkLongDefinitionTemplData{}),
9191

9292
RunE: func(cmd *cobra.Command, args []string) error {
9393
var appErr error
@@ -168,7 +168,7 @@ func (b *Bootstrap) buildShrinkCommand(container *assistant.CobraContainer) *cob
168168

169169
paramSet.BindValidatedString(
170170
newShrinkFlagInfoWithShort(
171-
xi18n.Text(locale.ShrinkCmdOutputPathParamUsageTemplData{}),
171+
li18ngo.Text(locale.ShrinkCmdOutputPathParamUsageTemplData{}),
172172
defaultOutputPath,
173173
),
174174
&paramSet.Native.OutputPath, func(_ string, _ *pflag.Flag) error {
@@ -190,7 +190,7 @@ func (b *Bootstrap) buildShrinkCommand(container *assistant.CobraContainer) *cob
190190

191191
paramSet.BindValidatedString(
192192
newShrinkFlagInfoWithShort(
193-
xi18n.Text(locale.ShrinkCmdTrashPathParamUsageTemplData{}),
193+
li18ngo.Text(locale.ShrinkCmdTrashPathParamUsageTemplData{}),
194194
defaultTrashPath,
195195
),
196196
&paramSet.Native.TrashPath, func(_ string, _ *pflag.Flag) error {
@@ -212,7 +212,7 @@ func (b *Bootstrap) buildShrinkCommand(container *assistant.CobraContainer) *cob
212212

213213
paramSet.BindBool(
214214
newShrinkFlagInfoWithShort(
215-
xi18n.Text(locale.ShrinkCmdCuddleParamUsageTemplData{}),
215+
li18ngo.Text(locale.ShrinkCmdCuddleParamUsageTemplData{}),
216216
defaultCuddle,
217217
),
218218
&paramSet.Native.Cuddle,
@@ -228,7 +228,7 @@ func (b *Bootstrap) buildShrinkCommand(container *assistant.CobraContainer) *cob
228228

229229
paramSet.BindValidatedFloat32Within(
230230
newShrinkFlagInfoWithShort(
231-
xi18n.Text(locale.ShrinkCmdGaussianBlurParamUsageTemplData{}),
231+
li18ngo.Text(locale.ShrinkCmdGaussianBlurParamUsageTemplData{}),
232232
defaultBlur,
233233
),
234234
&paramSet.Native.ThirdPartySet.GaussianBlur,
@@ -246,7 +246,7 @@ func (b *Bootstrap) buildShrinkCommand(container *assistant.CobraContainer) *cob
246246

247247
paramSet.BindValidatedEnum(
248248
newShrinkFlagInfoWithShort(
249-
xi18n.Text(locale.ShrinkCmdSamplingFactorParamUsageTemplData{}),
249+
li18ngo.Text(locale.ShrinkCmdSamplingFactorParamUsageTemplData{}),
250250
defaultSamplingFactor,
251251
),
252252
&paramSet.Native.ThirdPartySet.SamplingFactorEn.Source,
@@ -271,7 +271,7 @@ func (b *Bootstrap) buildShrinkCommand(container *assistant.CobraContainer) *cob
271271

272272
paramSet.BindValidatedEnum(
273273
newShrinkFlagInfoWithShort(
274-
xi18n.Text(locale.ShrinkCmdInterlaceParamUsageTemplData{}),
274+
li18ngo.Text(locale.ShrinkCmdInterlaceParamUsageTemplData{}),
275275
defaultInterlace,
276276
),
277277
&paramSet.Native.ThirdPartySet.InterlaceEn.Source,
@@ -294,7 +294,7 @@ func (b *Bootstrap) buildShrinkCommand(container *assistant.CobraContainer) *cob
294294

295295
paramSet.BindBool(
296296
newShrinkFlagInfoWithShort(
297-
xi18n.Text(locale.ShrinkCmdStripParamUsageTemplData{}),
297+
li18ngo.Text(locale.ShrinkCmdStripParamUsageTemplData{}),
298298
defaultStrip,
299299
),
300300
&paramSet.Native.ThirdPartySet.Strip,
@@ -310,7 +310,7 @@ func (b *Bootstrap) buildShrinkCommand(container *assistant.CobraContainer) *cob
310310

311311
paramSet.BindValidatedIntWithin(
312312
newShrinkFlagInfoWithShort(
313-
xi18n.Text(locale.ShrinkCmdQualityParamUsageTemplData{}),
313+
li18ngo.Text(locale.ShrinkCmdQualityParamUsageTemplData{}),
314314
defaultQuality,
315315
),
316316
&paramSet.Native.ThirdPartySet.Quality,

src/app/command/shrink-cmd_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
. "github.com/onsi/ginkgo/v2" //nolint:revive // foo
77
. "github.com/onsi/gomega" //nolint:revive // foo
88
"github.com/snivilised/cobrass/src/assistant/configuration"
9+
"github.com/snivilised/li18ngo"
910
"github.com/snivilised/pixa/src/app/cfg"
1011
"github.com/snivilised/pixa/src/app/command"
1112
"github.com/snivilised/pixa/src/app/proxy/common"
@@ -92,6 +93,7 @@ var _ = Describe("ShrinkCmd", Ordered, func() {
9293
)
9394

9495
BeforeAll(func() {
96+
Expect(li18ngo.Use()).To(Succeed())
9597
repo = helpers.Repo("")
9698
l10nPath = helpers.Path(repo, "test/data/l10n")
9799
configPath = helpers.Path(repo, "test/data/configuration")

0 commit comments

Comments
 (0)