Rewrite Triathlon Part 3: seqera CLI + nextflow launch#959
Draft
edmundmiller wants to merge 2 commits into
Draft
Rewrite Triathlon Part 3: seqera CLI + nextflow launch#959edmundmiller wants to merge 2 commits into
edmundmiller wants to merge 2 commits into
Conversation
Replaces the legacy tw CLI flow with seqera login + nextflow launch: - seqera install via ai.seqera.io/install; OAuth login (no token paste) - seqera org/workspace select replaces .seqera_config - nextflow launch reuses nextflow run flag grammar (inline --param=val, -profile, -resume, -params-file) — no separate launch verb to learn - Pipeline pre-registration becomes optional (Launchpad convenience) - Drops triathlon/.seqera_config stub Proposed seqera subcommands used in the lesson but not yet shipped (feedback for portal team): seqera workspace, seqera runs list/show, seqera pipelines list/add, seqera compute, extended seqera info, and global -o json. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
|
Nextflow linting complete!
💡 Tip: Click filename locations to go directly to that code. View all 53 issuesView formatting changes<...*[Comment body truncated]*
|
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces the legacy
twCLI flow in Part 3 with the newseqeraCLI (for auth + workspace context) andnextflow launch(for actually submitting pipelines to Platform). The learner'snextflow runmental model from Part 2 carries straight over to Platform launches: same flag grammar, same params, swaprun→launch.This is also a design exercise for the new
seqeraCLI (~/src/seqera/ai/portal/cli). The lesson currently uses several subcommands that don't ship yet — those are listed at the bottom as proposals for the portal team. They're marked clearly so we know what has to land before this can merge into the course.Stacked on top of #951 (
gvda_triathlon). Not ready for merge — see the Open questions below. Looping in @gvd per the request to be involved before this hits user training.Why the new flow is more user- and agent-friendly
twflowcurlGitHub release binary +chmod+sudo mvcurl -fsSL https://ai.seqera.io/install | bash(one line)seqera login(OAuth in browser, refresh token in OS keychain).seqera_configfile,sourceevery sessionorg-name/workspace-nameformatseqera org select+seqera workspace select(sticky)TOWER_COMPUTE_ENVout-of-band env varseqera info; pin viaseqera compute set-default(proposed)tw launchverb to learnnextflow launch— same binary asnextflow run, swaprun→launchtw pipelines add→tw launch <name>nextflow launch <pipeline>accepts names/URLs directly; registration is now optional (Launchpad-only convenience)--params-filerequired for any paramnextflow launch -profile test --outdir=…works inline, same grammar asnextflow run-resumeon Platform launchesnextflow launch -resumeworks the same as localseqera <cmd> -o json(already oninfo, proposed everywhere)seqera skill installregisters a Co-Scientist skill so Claude Code/Cursor drive these subcommands directlySubcommands used in the lesson that don't ship yet (proposals for portal)
These are the gaps the lesson lights up. Each one is real friction the legacy
twCLI handled and that the newseqeraCLI needs an answer for. Filing as design feedback, not vaporware — if any don't ship in time we'll degrade the relevant section to a web-UI link.seqera workspace list|select|show(today folded intoseqera org; splitting clarifies the org→workspace hierarchy the lesson teaches)seqera runs list [--status …] [--limit …],seqera runs show <id>,seqera runs cancel <id>— replacestw runs listseqera pipelines list,seqera pipelines add --name <n> [--description …] [--params-file …] [--profile …] <git-url>,seqera pipelines remove <name>— replacestw pipelines add/listseqera compute list|show|set-default— replaces theTOWER_COMPUTE_ENVenv-var tip--output json|console,--workspace <org>/<ws>,--org <name>on every subcommand (consistent withseqera infotoday)seqera infoto also show current org / workspace / default-compute (today it's auth + API health only)seqera aiis intentionally not used as a fallback — we're designing imperative subcommands, not papering over gaps with the AI.Changes
docs/en/docs/nextflow_triathlon/03_run_seqera.md— sections 3 + 4 rewritten end-to-end. Section 1 + 2 (web UI flow) untouched.docs/en/docs/nextflow_triathlon/00_orientation.md— drop.seqera_configfrom the directory tree + stub explanation.triathlon/.seqera_config— deleted (no longer needed).Open questions
nextflow launch <git-url>without pre-registration —nextflow launch -hsays<pipeline>; the lesson assumes that accepts a name or URL directly. Needs end-to-end verification before merging.seqerasubcommands aren't shipped at lesson-publish time, the affected sections need to fall back to web UI only. Decide which.seqera skill installwe want to surface in this course.Test plan
uv run .github/check_headings.py docs/en/docs/nextflow_triathlon/03_run_seqera.md— already passes locally/previewrenders the rewritten page cleanly (no broken admonitions or code blocks)seqera login→seqera org select→seqera workspace select→seqera info→nextflow launch nf-core/rnaseq -profile test, confirm run appears in Platform UInextflow launch nf-core/demo -profile test --outdir=s3://…works without priorseqera pipelines add🤖 Generated with Claude Code