Skip to content

Fix the GitHub Actions workflows - #37

Merged
EricSDavis merged 2 commits into
mainfrom
ci-fixes
Jul 25, 2026
Merged

Fix the GitHub Actions workflows#37
EricSDavis merged 2 commits into
mainfrom
ci-fixes

Conversation

@EricSDavis

Copy link
Copy Markdown
Owner

Both CI workflows on this repo are currently red, for unrelated reasons. Neither
failure was introduced by #36 -- Docker Image CI last succeeded on 2025-08-05.

R-CMD-check-bioc

Failing on all three platforms. The repo list was replaced with a CRAN-only URL,
so every Bioconductor dependency vanished:

'getOption("repos")' replaces Bioconductor standard repositories
Replacement repositories:
    CRAN: https://p3m.dev/cran/__linux__/noble/latest
Skipping 15 packages not available: ... GenomicRanges, BiocGenerics, S4Vectors

The workflow was a ~2022 biocthis template that had drifted: an Ubuntu focal
RSPM URL against a noble runner, actions/cache@v3, docker/build-push-action@v1,
and a hardcoded r: "next". Regenerated with biocthis 1.23.0, which installs
using repos = BiocManager::repositories() and resolves the R and Bioconductor
versions from bioconductor.org/config.yaml at run time rather than pinning
them. Set to bioc-devel, with covr and pkgdown left off since
test-coverage.yaml and pkgdown.yaml already cover those.

Two custom steps are removed:

  • Install strawr from CRAN fetched a hardcoded strawr_0.0.91.tar.gz from
    cran.rstudio.com/src/contrib. CRAN only serves current sources there and
    strawr is now 0.0.92, so that URL returns 404 -- the step could only fail.
    0.0.92 satisfies the DESCRIPTION requirement.
  • Install marinerData from github was marked temporary. marinerData resolves
    from the Bioconductor repos, and the cooler tests build their own fixtures now.

Docker Image CI

Broken since 2025-08-05 with there is no package called 'remotes' -- remotes no
longer ships in bioconductor_docker:devel, though BiocManager still does.

Installs remotes first, and installs mariner from the build context instead of
pulling @dev from GitHub, so the image matches the commit that built it rather
than always being dev. Adds a .dockerignore (a bare COPY . would ship 17MB of
git history into the image) and replaces the relative WORKDIR . that emitted a
build warning.

R-CMD-check-bioc has been failing on every platform. The repo list was being
replaced with a CRAN-only URL, so all fifteen Bioconductor dependencies became
unavailable:

    'getOption("repos")' replaces Bioconductor standard repositories
    Replacement repositories:
        CRAN: https://p3m.dev/cran/__linux__/noble/latest
    Skipping 15 packages not available: ... GenomicRanges, BiocGenerics,
    S4Vectors

The workflow was a ~2022 biocthis template and had drifted badly: it pinned an
Ubuntu focal RSPM URL while ubuntu-latest is now noble, used actions/cache@v3
and docker/build-push-action@v1, and hardcoded r: "next". Regenerated with
biocthis 1.23.0, which installs with repos = BiocManager::repositories() and
derives the R and Bioconductor versions from bioconductor.org/config.yaml at
run time instead of pinning them. Set bioc_version to bioc-devel, since these
branches track Bioconductor devel, and left run_covr and run_pkgdown off
because test-coverage.yaml and pkgdown.yaml already do that work.

Two custom steps are dropped:

* "Install strawr from CRAN" fetched a hardcoded strawr_0.0.91.tar.gz from
  cran.rstudio.com/src/contrib. CRAN only serves current sources there, strawr
  is now 0.0.92, and that URL returns 404 -- so the step could only fail.
  0.0.92 satisfies the DESCRIPTION requirement and installs normally.

* "Install marinerData from github" was marked temporary. marinerData resolves
  from the Bioconductor repos, and the cooler tests no longer need it at all
  since they build their own fixtures.

Docker Image CI has been broken since 2025-08-05 with "there is no package
called 'remotes'" -- remotes no longer ships in bioconductor_docker:devel,
though BiocManager still does. It now installs remotes first, and installs
mariner from the build context rather than pulling @dev from GitHub, so the
image matches the commit that built it instead of always being dev. Adds a
.dockerignore, since COPY . would otherwise ship 17MB of git history into the
image, and replaces the relative `WORKDIR .` that emitted a build warning.
`push: true` was unconditional, so a pull request built and published
ericsdavis/r-mariner:latest from an unmerged commit. The run on this very PR
did exactly that.

Builds still run on pull requests, so the Dockerfile is validated before
merge; only the publish step is gated. The Docker Hub login is gated the same
way, which has the side benefit that PRs from forks can still build -- they
have no access to the secrets that step needs.
@EricSDavis
EricSDavis merged commit 510c8a8 into main Jul 25, 2026
8 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant