Skip to content

full-smoke-nightly

full-smoke-nightly #35

name: full-smoke-nightly
on:
schedule:
- cron: "0 3 * * *"
workflow_dispatch:
inputs:
install_enrichment:
description: "Install clusterProfiler/org.Hs.eg.db in r-engine build (0/1)"
required: false
default: "0"
type: choice
options:
- "0"
- "1"
concurrency:
group: full-smoke-nightly
cancel-in-progress: false
jobs:
full-smoke:
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Compose up (full stack, retry)
env:
COMPOSE_UP_RETRIES: "1"
COMPOSE_UP_RETRY_DELAY_SEC: "30"
R_ENGINE_INSTALL_ENRICHMENT_PACKAGES: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.install_enrichment || '0' }}
run: scripts/compose-up-retry.sh
- name: Compose ps
run: docker compose --env-file .env.example ps
- name: Full smoke (runtime path)
env:
SKIP_BUILD: "1"
EXPECT_STORAGE_MODE: "blob"
run: scripts/compose-smoke.sh
- name: Collect compose logs
if: always()
env:
COMPOSE_LOG_MAX_SERVICES_BYTES: "5242880"
COMPOSE_LOG_MAX_EVENTS_BYTES: "10485760"
COMPOSE_LOG_TAIL_SERVICES_BYTES: "262144"
COMPOSE_LOG_TAIL_EVENTS_BYTES: "524288"
run: scripts/collect-compose-logs.sh /tmp/compose-logs
- name: Upload compose logs artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: compose-logs
path: /tmp/compose-logs
retention-days: 7
- name: Publish smoke summary
if: always()
env:
INSTALL_ENRICHMENT: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.install_enrichment || '0' }}
run: |
{
echo "### Full Smoke Nightly"
echo "- install_enrichment: ${INSTALL_ENRICHMENT}"
echo "- logs_artifact: compose-logs"
if [[ -f /tmp/compose-logs/manifest.txt ]]; then
echo "- manifest:"
echo '```text'
sed -n '1,80p' /tmp/compose-logs/manifest.txt
echo '```'
fi
} >> "$GITHUB_STEP_SUMMARY"
- name: Compose down
if: always()
run: docker compose --env-file .env.example down -v --remove-orphans