tedi 0.16.1

Personal productivity CLI for task tracking, time management, and GitHub issue integration
Documentation
env:
  CARGO_INCREMENTAL: '0'
  CARGO_NET_RETRY: '10'
  RUSTUP_MAX_RETRIES: '10'
  RUST_BACKTRACE: short
jobs:
  load_nix:
    runs-on: ubuntu-latest
    steps:
    - name: Install Nix
      uses: DeterminateSystems/nix-installer-action@main
    - name: Setup Nix cache
      uses: DeterminateSystems/magic-nix-cache-action@main
    - name: Cache packages
      run: '# Pre-fetch packages into nix store so they''re cached for dependent jobs

        # Use nix-shell which properly sets up env vars like PKG_CONFIG_PATH

        nix-shell -p mold egl-wayland wayland libGL libgbm fd pkg-config pkg-config
        openssl.out openssl.dev --run "echo packages cached"

        '
  pre_ci:
    uses: valeratrades/.github/.github/workflows/pre_ci.yml@master
  rust-tests:
    if: needs.pre_ci.outputs.continue
    name: Rust ${{matrix.rust}}
    needs:
    - load_nix
    - pre_ci
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Install Nix
      uses: DeterminateSystems/nix-installer-action@main
    - name: Restore Nix cache
      uses: DeterminateSystems/magic-nix-cache-action@main
    - name: Debug nix environment
      run: "echo \"=== NIX ENVIRONMENT DEBUG ===\"\necho \"\"\necho \"1. Which nix:\"\
        \nwhich nix || echo \"nix not found in PATH\"\necho \"\"\necho \"2. Nix version:\"\
        \nnix --version || echo \"failed\"\necho \"\"\necho \"3. Current PATH:\"\n\
        echo \"$PATH\" | tr ':' '\\n'\necho \"\"\necho \"4. LD_LIBRARY_PATH (before\
        \ nix-shell):\"\necho \"$LD_LIBRARY_PATH\"\necho \"\"\necho \"5. NIX_PROFILES:\"\
        \necho \"$NIX_PROFILES\"\necho \"\"\necho \"6. Package store paths:\"\necho\
        \ \"  mold: $(nix-build '<nixpkgs>' -A mold --no-out-link 2>/dev/null || echo\
        \ 'FAILED')\"\n\necho \"  egl-wayland: $(nix-build '<nixpkgs>' -A egl-wayland\
        \ --no-out-link 2>/dev/null || echo 'FAILED')\"\n\necho \"  wayland: $(nix-build\
        \ '<nixpkgs>' -A wayland --no-out-link 2>/dev/null || echo 'FAILED')\"\n\n\
        echo \"  libGL: $(nix-build '<nixpkgs>' -A libGL --no-out-link 2>/dev/null\
        \ || echo 'FAILED')\"\n\necho \"  libgbm: $(nix-build '<nixpkgs>' -A libgbm\
        \ --no-out-link 2>/dev/null || echo 'FAILED')\"\n\necho \"  fd: $(nix-build\
        \ '<nixpkgs>' -A fd --no-out-link 2>/dev/null || echo 'FAILED')\"\n\necho\
        \ \"  pkg-config: $(nix-build '<nixpkgs>' -A pkg-config --no-out-link 2>/dev/null\
        \ || echo 'FAILED')\"\n\necho \"  pkg-config: $(nix-build '<nixpkgs>' -A pkg-config\
        \ --no-out-link 2>/dev/null || echo 'FAILED')\"\n\necho \"  openssl.out: $(nix-build\
        \ '<nixpkgs>' -A openssl.out --no-out-link 2>/dev/null || echo 'FAILED')\"\
        \n\necho \"  openssl.dev: $(nix-build '<nixpkgs>' -A openssl.dev --no-out-link\
        \ 2>/dev/null || echo 'FAILED')\"\n\necho \"\"\necho \"7. libssl.so locations\
        \ in nix store:\"\nfind /nix/store -name 'libssl.so*' 2>/dev/null | head -20\
        \ || echo \"none found\"\necho \"\"\necho \"8. libgbm.so locations in nix\
        \ store:\"\nfind /nix/store -name 'libgbm.so*' 2>/dev/null | head -20 || echo\
        \ \"none found\"\necho \"\"\necho \"9. Contents of openssl lib dir:\"\nls\
        \ -la \"$(nix-build '<nixpkgs>' -A openssl --no-out-link)/lib/\" 2>/dev/null\
        \ || echo \"failed\"\necho \"\"\necho \"10. Contents of openssl.dev lib dir:\"\
        \nls -la \"$(nix-build '<nixpkgs>' -A openssl.dev --no-out-link)/lib/\" 2>/dev/null\
        \ || echo \"failed\"\necho \"\"\necho \"11. ldd on a test binary (if exists):\"\
        \nif [ -f target/debug/todo ]; then\n  ldd target/debug/todo 2>&1 || echo\
        \ \"ldd failed\"\nelse\n  echo \"binary not built yet\"\nfi\necho \"\"\necho\
        \ \"12. System LD_LIBRARY_PATH search dirs:\"\ncat /etc/ld.so.conf 2>/dev/null\
        \ || echo \"no ld.so.conf\"\nldconfig -p 2>/dev/null | grep -E \"libssl|libgbm\"\
        \ | head -10 || echo \"ldconfig failed or no matches\"\necho \"\"\necho \"\
        13. Test nix-shell environment:\"\nnix-shell -p mold egl-wayland wayland libGL\
        \ libgbm fd pkg-config pkg-config openssl.out openssl.dev --run 'echo \"Inside\
        \ nix-shell LD_LIBRARY_PATH: $LD_LIBRARY_PATH\"'\necho \"\"\necho \"14. Test\
        \ nix-shell with manual LD_LIBRARY_PATH:\"\nnix-shell -p mold egl-wayland\
        \ wayland libGL libgbm fd pkg-config pkg-config openssl.out openssl.dev --command\
        \ 'export LD_LIBRARY_PATH=\"$(nix-build \"<nixpkgs>\" -A openssl --no-out-link)/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH\"\
        \ && echo \"Manual LD_LIBRARY_PATH: $LD_LIBRARY_PATH\"'\necho \"\"\necho \"\
        15. Check if openssl lib has libssl.so.3:\"\nOPENSSL_PATH=$(nix-build '<nixpkgs>'\
        \ -A openssl --no-out-link 2>/dev/null)\nif [ -n \"$OPENSSL_PATH\" ]; then\n\
        \  ls -la \"$OPENSSL_PATH/lib/\" | grep ssl || echo \"no ssl libs in openssl\"\
        \nfi\necho \"\"\necho \"16. Check openssl.out (runtime output):\"\nnix-build\
        \ '<nixpkgs>' -A openssl.out --no-out-link 2>/dev/null && ls -la \"$(nix-build\
        \ '<nixpkgs>' -A openssl.out --no-out-link)/lib/\" | grep ssl || echo \"openssl.out\
        \ failed\"\necho \"\"\necho \"17. Env vars in nix-shell:\"\nnix-shell -p openssl\
        \ --run 'env | grep -E \"^(LD_|NIX_|PATH=)\" | sort'\necho \"\"\necho \"18.\
        \ Test subprocess inheritance:\"\nnix-shell -p mold egl-wayland wayland libGL\
        \ libgbm fd pkg-config pkg-config openssl.out openssl.dev --command 'export\
        \ LD_LIBRARY_PATH=\"$(nix-build \"<nixpkgs>\" -A openssl --no-out-link)/lib:$LD_LIBRARY_PATH\"\
        \ && bash -c \"echo subprocess sees: \\$LD_LIBRARY_PATH\"'\necho \"\"\necho\
        \ \"19. All openssl-related packages:\"\nnix-env -qaP 'openssl.*' 2>/dev/null\
        \ | head -20 || echo \"query failed\"\necho \"\"\necho \"20. System libssl:\"\
        \nldconfig -p 2>/dev/null | grep libssl || echo \"no system libssl\"\necho\
        \ \"\"\necho \"=== END DEBUG ===\"\n"
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: ${{matrix.rust}}
    - name: Install mold
      uses: rui314/setup-mold@v1
    - if: github.ref == 'refs/heads/release'
      name: Set RUSTFLAGS for release branch
      run: echo "RUSTFLAGS=-Dwarnings" >> $GITHUB_ENV
    - if: matrix.rust == 'nightly'
      name: Enable type layout randomization
      run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout\ --cfg=exhaustive >> $GITHUB_ENV
    - name: Download modified by pre-ci Cargo.toml files
      uses: actions/download-artifact@v4
      with:
        name: modified-cargo-files
    - run: nix-shell -p mold egl-wayland wayland libGL libgbm fd pkg-config pkg-config
        openssl.out openssl.dev --command "export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>'
        -A mold --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\" && export
        LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A egl-wayland --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A wayland --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A libGL --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A libgbm --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A fd --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A pkg-config --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A pkg-config --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A openssl.out --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A openssl.dev --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && cargo update"
    - run: nix-shell -p mold egl-wayland wayland libGL libgbm fd pkg-config pkg-config
        openssl.out openssl.dev --command "export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>'
        -A mold --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\" && export
        LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A egl-wayland --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A wayland --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A libGL --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A libgbm --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A fd --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A pkg-config --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A pkg-config --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A openssl.out --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A openssl.dev --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && cargo check"
    - run: nix-shell -p mold egl-wayland wayland libGL libgbm fd pkg-config pkg-config
        openssl.out openssl.dev --command "export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>'
        -A mold --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\" && export
        LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A egl-wayland --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A wayland --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A libGL --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A libgbm --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A fd --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A pkg-config --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A pkg-config --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A openssl.out --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && export LD_LIBRARY_PATH=\"\$(nix-build '<nixpkgs>' -A openssl.dev --no-out-link)/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"
        && cargo test"
    strategy:
      fail-fast: false
      matrix:
        rust:
        - nightly
        - nightly-2025-08-01
    timeout-minutes: 45
name: Errors
'on':
  pull_request: {}
  push: {}
  workflow_dispatch: {}
permissions:
  contents: read