ci: check format in CI pipeline (#17)
All checks were successful
CD / test (push) Successful in 20s
CD / Build and push (push) Successful in 2m41s

Reviewed-on: #17
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
This commit was merged in pull request #17.
This commit is contained in:
2024-12-23 19:37:47 +01:00
committed by t.behrendt
parent a01c328ac5
commit ef57421268
5 changed files with 38 additions and 23 deletions

View File

@@ -35,8 +35,10 @@ jobs:
/go_cache
key: go_path-${{ steps.hash-go.outputs.hash }}
restore-keys: |-
go_cache-${{ steps.hash-go.outputs.hash }}
go_cache-${{ steps.hash-go.outputs.hash }}
- name: build
run: make build
- name: test
run: make test
- name: check:format
run: make check-format

View File

@@ -6,3 +6,18 @@ build:
lint:
golint ./...
run:
make build
./realdyndns
format:
gofmt -w .
check-format:
@OUTPUT=$$(gofmt -l .); \
if [ -n "$$OUTPUT" ]; then \
echo "Formatter failed for:"; \
echo "$$OUTPUT"; \
exit 1; \
fi

28
main.go
View File

@@ -74,20 +74,20 @@ func main() {
rdd := realDynDns.New(externalIpProvider, dnsProvider, notificationProvider, configClient.Domains)
switch configClient.Mode {
case config.ScheduledMode:
schedule, job, err := rdd.RunWithSchedule(configClient.CheckInterval)
if err != nil {
panic(err)
}
case config.ScheduledMode:
schedule, job, err := rdd.RunWithSchedule(configClient.CheckInterval)
if err != nil {
panic(err)
}
fmt.Println("Starting scheduler")
fmt.Println("Next run:", job.NextRun())
schedule.StartBlocking()
case config.RunOnceMode:
numberOfChanges, err := rdd.RunOnce()
if err != nil {
panic(err)
}
fmt.Println("Number of changes:", numberOfChanges)
fmt.Println("Starting scheduler")
fmt.Println("Next run:", job.NextRun())
schedule.StartBlocking()
case config.RunOnceMode:
numberOfChanges, err := rdd.RunOnce()
if err != nil {
panic(err)
}
fmt.Println("Number of changes:", numberOfChanges)
}
}

View File

@@ -18,8 +18,8 @@ type Config struct {
}
const (
RunOnceMode = "RunOnce"
ScheduledMode = "Scheduled"
RunOnceMode = "RunOnce"
ScheduledMode = "Scheduled"
)
type DomainConfig struct {
@@ -56,7 +56,7 @@ func (c *Config) Load(filePath string) error {
return fmt.Errorf("failed to validate config: %w", err)
}
return nil;
return nil
}
func (c *Config) validate() error {
@@ -68,5 +68,5 @@ func (c *Config) validate() error {
return errors.New("check interval must be set when mode is 'Scheduled'")
}
return nil;
}
return nil
}

View File

@@ -123,7 +123,7 @@ func (i *IonosAPIImpl) GetRecordId(zoneId string, tld string, subdomain string,
json.Unmarshal(responseBody, &zone)
var domain string
if subdomain == "@" || subdomain == "" {
if subdomain == "@" || subdomain == "" {
domain = tld
} else {
domain = subdomain + "." + tld
@@ -171,8 +171,6 @@ func (i *IonosAPIImpl) SetARecord(tld string, subdomain string, ip net.IP, ttl i
return nil, errors.New("error updating record")
}
changeRecord := ChangeRecord{}
json.Unmarshal(responseBody, &changeRecord)