CI: get real inputs, and do a full run
Some checks failed
test / Setup (push) Successful in 2m19s
test / Test and Lint (push) Failing after 15s
test / Full run (push) Failing after 14s

This commit is contained in:
Keenan Tims 2024-12-13 23:24:24 -08:00
parent 8ae2115b52
commit 045ff818bd
Signed by: ktims
GPG Key ID: 11230674D69038D4

View File

@ -2,34 +2,64 @@ name: test
on: on:
push: push:
branches: [ main ] branches: [main]
env: env:
CARGO_TERM_COLOR: always CARGO_TERM_COLOR: always
jobs: jobs:
tests: setup:
name: AoC 2024 name: Setup
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: setup toolchain - name: setup toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1 uses: actions-rust-lang/setup-rust-toolchain@v1
with: with:
cache: true cache: true
components: clippy, rustfmt components: clippy, rustfmt
toolchain: stable toolchain: stable
- name: fake inputs - name: install cargo-aoc
run: | run: cargo install --locked cargo-aoc
mkdir -p input/2024/
for i in $(seq 1 25); do touch input/2024/day${i}.txt; done
- name: cargo test - name: get date
run: cargo test --lib --all-features id: date
run: |
echo date=$(date +%Y%m%d) > $GITHUB_OUTPUT
- name: rustfmt - name: Get cached inputs
run: cargo fmt --all -- --check id: inputs
uses: actions/cache@v4
with:
path: input
key: ${{ steps.date.outputs.date }}
# - name: clippy - name: Get inputs from source
# run: cargo clippy --lib --all-features --tests -- -D warnings if: steps.inputs.outputs.cache-hit != 'true'
run: |
cargo aoc credentials ${{ secrets.AOC_SESSION }}
for i in $(seq 1 25); do
dayfmt=$(printf %02d $i)
if [ ${{ steps.date.outputs.date }} -ge 202412${dayfmt} ]; then
cargo aoc input --year 2024 --day $i
fi
done
test:
runs-on: ubuntu-latest
name: Test and Lint
steps:
- name: cargo test
run: cargo test --lib --all-features
- name: rustfmt
run: cargo fmt --all -- --check
- name: clippy
run: cargo clippy --lib --all-features --tests -- -D warnings
run:
runs-on: ubuntu-latest
name: Full run
steps:
- name: full run
run: cargo run --release