This document describes the software architecture and internal maintenance details of the bioconductor/workflows repository.
Any significant structural change or new design pattern in these reusable workflows is documented in the docs/adr/ directory using the Nygard format.
Please refer to the ADR Directory for the complete list of Architecture Decision Records that guide the architecture.
When contributing to this repository using AI assistants, please review the rules and guidelines specified in .github/copilot-instructions.md.
This repository uses raven-actions/actionlint to validate the GitHub Actions workflow syntax. It runs automatically on push and pull requests for any changes within .github/workflows/.
The canary workflow runs on a weekly schedule (and on-demand) to verify that bioccheck.yml executes correctly end-to-end against the Bioconductor container tag derived from the main branch.
It uses error_on: 'never' so that expected BiocCheck notes from the internal stub package do not cause a false failure.
This repo contains a DESCRIPTION file and basic vignette to make it a valid R package that can be checked without error (with enough disabling flags invoked).
When cutting a formal major release (e.g. v1, v2) or transitioning default references, maintainers must update the following four locations in lockstep:
ci.yml: Update the template workflow call tag (bioconductor/workflows/.github/workflows/bioccheck.yml@v1).docs/index.html: Update theworkflowObj.jobs.bioccheck.usestemplate string (uses: 'bioconductor/workflows/.github/workflows/bioccheck.yml@v1').README.md: Update the Overview table workflow reference.bioccheck_usage.md: Update the Versioning Strategy section notes and recommendations.
# Create or update the floating major version tag (e.g., v1)
git tag -fa v1 -m "Release v1"
git push origin v1 --force