Skip to content

shaunburdick/advent-of-code-2024

Repository files navigation

Advent of Code - 2024

An attempt at Advent of Code using Go!

Workflow Status

Each day will be setup as a separate folder.

  • Day 0 - Trebuchet?! (2023 Day 1)
  • Day 1 - Historian Hysteria
  • Day 2 - Red-Nosed Reports
  • Day 3 - Mull It Over
  • Day 4 - Ceres Search
  • Day 5 - Print Queue
  • Day 6 - Guard Gallivant
  • Day 7 - Bridge Repair
  • Day 8 - Resonant Collinearity

Environment Setup

To setup your environment:

  1. Install Golang (or brew install golang)
  2. Install Golang CI Lint: brew install golangci-lint
  3. Install Just: brew install just
  4. Install gotestfmt: go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
    • Make sure your GOPATH/bin is in your PATH: export PATH=$PATH:$(go env GOPATH)/bin
  5. Clone this repository
  6. Create a new day from template: just create X (where X is the day number)
  7. Be Merry! 🎄

Testing

To run tests for an individual day X, run just test X or to run all tests run just test-all

Linting

To run linting for an individual day X, run just lint X or to run all linting run just lint-all

Running

To run a solution, run just run <day> <part> where day is the day number and part is the part number. Example: just run 1 1 to run day 1, part 1

Benchmarks

To run benchmarks for an individual day X, run just bench X or to run all benchmarks run just bench-all