Files
dependabot[bot] 940cb61f98 ci(deps): bump golangci/golangci-lint-action from 6 to 9
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6 to 9.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v6...v9)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-22 09:47:06 +00:00
..
2026-02-22 10:46:16 +01:00
2026-02-22 10:46:16 +01:00

GitHub Actions Workflows

This directory contains the CI/CD workflows for the Devour project.

Workflows

1. CI/CD Pipeline (ci.yml)

Triggers:

  • Push to main or develop branches
  • Pull requests to main or develop branches
  • Release publications

Jobs:

  • Test: Runs unit tests with race detection and uploads coverage to Codecov
  • Lint: Runs golangci-lint for code quality checks
  • Security: Scans for security vulnerabilities using Gosec
  • Build: Builds cross-platform binaries (Linux, Windows, macOS) for amd64/arm64
  • Docker: Builds and pushes Docker images to Docker Hub
  • Release: Creates GitHub releases with compiled binaries

2. Code Quality (quality.yml)

Triggers:

  • Push to main or develop branches
  • Pull requests to main or develop branches

Checks:

  • go vet for potential issues
  • Code formatting with gofmt
  • Inefficient assignments with ineffassign
  • Spelling errors with misspell
  • Static analysis with staticcheck
  • TODO/FIXME comment detection
  • go mod tidy validation
  • Code coverage threshold (minimum 80%)
  • SonarCloud analysis (optional)

3. Dependabot (dependabot.yml)

Features:

  • Weekly dependency updates for Go modules
  • Weekly GitHub Actions updates
  • Automatic pull requests with dependency updates

Required Secrets

To enable all features, add these secrets to your GitHub repository:

Docker Hub Integration

  • DOCKER_USERNAME: Your Docker Hub username
  • DOCKER_PASSWORD: Your Docker Hub password or access token

SonarCloud Integration (Optional)

  • SONAR_TOKEN: Your SonarCloud project token

Environment Variables

  • GO_VERSION: Set to '1.24' (can be updated in workflows)

Build Artifacts

Binaries

The CI pipeline builds binaries for:

  • Linux (amd64, arm64)
  • Windows (amd64)
  • macOS (amd64, arm64)

Docker Images

  • Multi-platform images (linux/amd64, linux/arm64)
  • Tags: branch name, PR number, semantic version tags

Coverage Reports

  • Test coverage is uploaded to Codecov
  • Minimum coverage threshold: 80%
  • Coverage reports are generated for each test run

Security Scanning

  • Gosec security scanner runs on every push/PR
  • SARIF results are uploaded to GitHub Security tab
  • Dependencies are automatically updated by Dependabot

Local Development

To run the same checks locally:

# Run tests with coverage
make test-coverage

# Run linting
make lint

# Format code
make fmt

# Build for production
make build-prod

# Build Docker image
make docker

Release Process

  1. Create a new tag: git tag v1.0.0
  2. Push the tag: git push origin v1.0.0
  3. Create a GitHub release (or let the workflow create it automatically)
  4. Binaries and Docker images will be built and published automatically