diff --git a/.mise.toml b/.mise.toml new file mode 100644 index 0000000..18fad3f --- /dev/null +++ b/.mise.toml @@ -0,0 +1,2 @@ +[tools] +gleam = "1.6.1" diff --git a/2024/.github/workflows/test.yml b/2024/.github/workflows/test.yml new file mode 100644 index 0000000..6026a40 --- /dev/null +++ b/2024/.github/workflows/test.yml @@ -0,0 +1,23 @@ +name: test + +on: + push: + branches: + - master + - main + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: erlef/setup-beam@v1 + with: + otp-version: "27.1.2" + gleam-version: "1.6.1" + rebar3-version: "3" + # elixir-version: "1.15.4" + - run: gleam deps download + - run: gleam test + - run: gleam format --check src test diff --git a/2024/.gitignore b/2024/.gitignore new file mode 100644 index 0000000..599be4e --- /dev/null +++ b/2024/.gitignore @@ -0,0 +1,4 @@ +*.beam +*.ez +/build +erl_crash.dump diff --git a/2024/.mise.toml b/2024/.mise.toml new file mode 100644 index 0000000..b7e64af --- /dev/null +++ b/2024/.mise.toml @@ -0,0 +1,3 @@ +[tools] +gleam = "1.6.1" +erlang = "27.1.2" diff --git a/2024/README.md b/2024/README.md new file mode 100644 index 0000000..e7813ca --- /dev/null +++ b/2024/README.md @@ -0,0 +1,9 @@ +# Advent of Code 2024 + +| S | M | T | W | T | F | S | +| :-: | :-: | :-: | :-: | :-: | :-: | :-: | +| 1 | 2 | 3 | 4 | 5 | 6 | 7 | +| 8 | 9 | 10 | 11 | 12 | 13 | 14 | +| 15 | 16 | 17 | 18 | 19 | 20 | 21 | +| 22 | 23 | 24 | 25 | | | | + diff --git a/2024/gleam.toml b/2024/gleam.toml new file mode 100644 index 0000000..e299b57 --- /dev/null +++ b/2024/gleam.toml @@ -0,0 +1,19 @@ +name = "aoc" +version = "1.0.0" + +# Fill out these fields if you intend to generate HTML documentation or publish +# your project to the Hex package manager. +# +# description = "" +# licences = ["Apache-2.0"] +# repository = { type = "github", user = "", repo = "" } +# links = [{ title = "Website", href = "" }] +# +# For a full reference of all the available options, you can have a look at +# https://gleam.run/writing-gleam/gleam-toml/. + +[dependencies] +gleam_stdlib = ">= 0.34.0 and < 2.0.0" + +[dev-dependencies] +gleeunit = ">= 1.0.0 and < 2.0.0" diff --git a/2024/manifest.toml b/2024/manifest.toml new file mode 100644 index 0000000..4721e5c --- /dev/null +++ b/2024/manifest.toml @@ -0,0 +1,11 @@ +# This file was generated by Gleam +# You typically do not need to edit this file + +packages = [ + { name = "gleam_stdlib", version = "0.43.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "69EF22E78FDCA9097CBE7DF91C05B2A8B5436826D9F66680D879182C0860A747" }, + { name = "gleeunit", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "F7A7228925D3EE7D0813C922E062BFD6D7E9310F0BEE585D3A42F3307E3CFD13" }, +] + +[requirements] +gleam_stdlib = { version = ">= 0.34.0 and < 2.0.0" } +gleeunit = { version = ">= 1.0.0 and < 2.0.0" } diff --git a/2024/src/aoc.gleam b/2024/src/aoc.gleam new file mode 100644 index 0000000..26987ac --- /dev/null +++ b/2024/src/aoc.gleam @@ -0,0 +1,5 @@ +import gleam/io + +pub fn main() { + io.println("Hello from aoc!") +} diff --git a/2024/test/aoc_test.gleam b/2024/test/aoc_test.gleam new file mode 100644 index 0000000..3831e7a --- /dev/null +++ b/2024/test/aoc_test.gleam @@ -0,0 +1,12 @@ +import gleeunit +import gleeunit/should + +pub fn main() { + gleeunit.main() +} + +// gleeunit test functions end in `_test` +pub fn hello_world_test() { + 1 + |> should.equal(1) +} diff --git a/README.md b/README.md index 4ddf64a..93de9fa 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ | [2021] | **43/50** 🌟 | Elixir | | [2022] | **14/50** 🌟 | Elixir, Haskell | | [2023] | **19/50** 🌟 | Elixir, Haskell | +| [2024] | | | [2015]: ./2015 [2017]: ./2017 @@ -22,3 +23,4 @@ [2021]: ./2021 [2022]: ./2022 [2023]: ./2023 +[2024]: ./2024