1 Commits

Author SHA1 Message Date
59b5a417f7 Merge ee5eb931a9 into 1f41f4b35a 2024-11-22 09:28:29 +00:00
4 changed files with 71 additions and 46 deletions

18
.github/workflows/2019.yml vendored Normal file
View File

@@ -0,0 +1,18 @@
name: AOC 2019 test suite
on:
push:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r 2019/requirements.txt
- name: Run Pytest
run: pytest 2019

52
.github/workflows/2023.yml vendored Normal file
View File

@@ -0,0 +1,52 @@
on:
- push
name: Advent of Code 2023
jobs:
ci:
strategy:
matrix:
toolchain:
- stable
- beta
experimental: [false]
include:
- toolchain: nightly
experimental: true
name: Continuous Integration
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}
steps:
- uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.toolchain }}
override: true
components: rustfmt
- name: Set up caching
uses: Swatinem/rust-cache@v2
with:
workspaces: >
2023 -> target
- name: Build binaries
working-directory: 2023
run: >
cargo build --all-targets
- name: Run tests
working-directory: 2023
run: >
cargo test
- name: Check formatting
working-directory: 2023
run: >
cargo fmt --check

View File

@@ -1,43 +0,0 @@
on:
- push
name: Advent of Code 2024
jobs:
ci:
strategy:
matrix:
python-version:
- "3.12"
- "3.13"
name: Continuous Integration
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
cache-dependency-glob: "2024/uv.lock"
- name: Check formatting
working-directory: "2024"
run: >
uv run ruff format --check
- name: Run lints
working-directory: "2024"
run: >
uv run ruff check
- name: Run tests
working-directory: "2024"
run: >
uv run pytest tests

View File

@@ -15,9 +15,7 @@ from aoc import days
default="-",
help="Problem input file",
)
@click.option(
"-t", "--time", "timing", is_flag=True, help="Print elapsed time afterwards"
)
@click.option("-t", "--time", "timing", is_flag=True, help="Print elapsed time afterwards")
@click.argument("day", required=True)
def main(day: int, timing: bool, data: str) -> None:
runner_class = days.get_runner(day)