shell-cell 1.6.3

Shell-Cell. CLI app to spawn and manage containerized shell environments
name: E2E Nightly

on:
  schedule:
    # Runs every day at 00:00
    - cron: '0 0 * * *'

env:
  CARGO_TERM_COLOR: always

jobs:
  e2e:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
    - name: Build debug binary
      run: cargo build
    - name: Make binary executable
      run: chmod +x target/debug/scell
    - uses: actions/setup-python@v5
      with:
        python-version: '3.13'
    - uses: astral-sh/setup-uv@v5
    - name: Run e2e tests
      id: e2e
      working-directory: e2e-tests
      env:
        SCELL_BIN: ${{ github.workspace }}/target/debug/scell
      run: uv run pytest

    - name: Prepare Discord message
      if: always()
      id: discord-message
      run: |
        if [ "${{ steps.e2e.outcome }}" = "success" ]; then
          echo "title=✅ E2E Nightly — Passed" >> "$GITHUB_OUTPUT"
        else
          echo "title=❌ E2E Nightly — Failed" >> "$GITHUB_OUTPUT"
          echo "content=<@&${{ secrets.DISCORD_ADMIN_ROLE_ID }}>" >> "$GITHUB_OUTPUT"
        fi
        echo "job_url=https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" >> "$GITHUB_OUTPUT"

    - name: Notify Discord
      if: always()
      uses: tsickert/discord-webhook@v7.0.0
      with:
        webhook-url: ${{ secrets.DISCORD_WEBHOOK_E2E_NIGHTLY }}
        embed-title: ${{ steps.discord-message.outputs.title }}
        embed-url: ${{ steps.discord-message.outputs.job_url }}
        content: ${{ steps.discord-message.outputs.content }}