Is there anybody here who has successfully used Makarius’s Isabelle Docker image with GitHub actions, for example, to perform automatic builds? I thought it should be as easy as setting up a simple GitHub workflow that employs this Docker image for the actual building, but apparently this is not so.
The concrete problem I’m experiencing is that downloading the current commit from the repository via
actions/checkout@v2 runs into a permission problem. A minimal example of a workflow that shows this problem is as follows:
name: Automated checkout on: [push] jobs: checkout: runs-on: ubuntu-latest container: makarius/isabelle steps: - name: Check out repository uses: actions/checkout@v2
The error I get is this one:
EACCES: permission denied, open '/__w/⟨repository-name⟩/⟨repository-name⟩/⟨uuid⟩.tar.gz'
A more elaborate problem description is at https://github.com/actions/checkout/issues/587.
The problem turned out to be that the entry point of the official Isabelle Docker image doesn’t have
root privileges. Deriving an image from it that adds
USER root fixes this problem.
Wolfgang Jeltsch has marked this topic as resolved.
Just FYI, this is how I run isabelle in CI: https://github.com/jvanbruegge/isabelle-lambda-calculus/blob/master/.github/workflows/ci.yml
It uses this dockerfile to prebuild the Nominal2 session: https://github.com/jvanbruegge/isabelle-lambda-calculus/blob/master/Dockerfile
Oh, so much Docker stuff I don’t understand!
My aim was to rely only on standard Docker images, in order to not be too much dependent on other people’s work, which might be abandoned in the future.
Last updated: Dec 07 2023 at 08:19 UTC