This repository contains my solutions to real-world coding challenges from codingchallenges.fyi, implemented in Go.
1. wc Tool
Recreate the classic Unix
wc
tool to count lines, words, characters, and bytes in files.
Build my own URL shortening service with URL deduplication and multiple backends.
This repository uses GitHub Actions for continuous integration. The workflow automatically:
- Runs tests and builds for all Go projects
- Runs linting with golangci-lint
To add a new Go project to the CI pipeline, add your-new-project
name to the matrix in .github/workflows/go.yml
:
strategy:
matrix:
project: [url-shortener, wc, your-new-project]
- Ensure your project has:
- A valid
go.mod
file - Tests (run with
go test ./...
) - A buildable main package (run with
go build ./...
)
- A valid
All projects run concurrently for faster CI execution.