Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make docker images from tox/GitHub CI workflow, regular Sage Docker images, gitpod, CoCalc interoperable #29536

Open
mkoeppe opened this issue Apr 20, 2020 · 29 comments

Comments

@mkoeppe
Copy link
Member

mkoeppe commented Apr 20, 2020

  1. Adjust directory names to something that works for both cases ...

    • docker/Dockerfile currently has:
      • SAGE_ROOT=/home/sage/sage
      • SAGE_LOCAL=$SAGE_ROOT/local
    • Docker images built with tox/GH Actions (including Gitpod) and also computop/sage have:
      • SAGE_ROOT=/sage
      • SAGE_LOCAL=/sage/local
    • After this ticket:
      • SAGE_ROOT=/sage
      • SAGE_LOCAL=/opt/sage
    • CoCalc Docker image has:
      • SAGE_ROOT=/usr/local/sage
      • SAGE_LOCAL=/usr/local/sage/local
  2. Script package _develop; improve installation instructions in the manual #33851: Define a script package representing "useful stuff to have on a Docker image"

  3. Replace all apt-get in docker/Dockerfile by using a Docker image built using build/bin/write-dockerfile as the base image.

  4. By default, docker/Dockerfile would use configure --without-system-... a lot so that CI is done against "the reference distribution"

  5. Move build/bin/write-dockerfile.sh into docker/

  6. Add a mechanism (environment variable) to tox -e docker... to copy SAGE_LOCAL from a given Docker image.

CC: @kliem @dimpase @embray @saraedum @slel @fchapoton @tobiasdiez @williamstein @culler @NathanDunfield

Component: docker

Keywords: ci, ContinuousIntegration, sd109

Issue created by migration from https://trac.sagemath.org/ticket/29536

@mkoeppe

This comment has been minimized.

@dimpase
Copy link
Member

dimpase commented Apr 26, 2020

comment:2

by the way, we don't seem to have in docs an explanation regarding file shared between docker images and regular file system of the host system.

@mkoeppe
Copy link
Member Author

mkoeppe commented May 27, 2020

Changed keywords from ci, ContinuousIntegration to ci, ContinuousIntegration, sd109

@mkoeppe

This comment has been minimized.

@embray
Copy link
Contributor

embray commented May 28, 2020

comment:5

I'm confused--should this say "GitHub" in the title or "GitLab"? I don't know of any GitHub CI docker images.

@dimpase
Copy link
Member

dimpase commented May 28, 2020

comment:6

Replying to @embray:

I'm confused--should this say "GitHub" in the title or "GitLab"? I don't know of any GitHub CI docker images.

please see
https://doc.sagemath.org/html/en/developer/index.html#testing-on-multiple-platforms

we now have a builder of docker images for multiple platforms, configurable, and by default hosted on github.

@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe added this to the sage-9.2 milestone Sep 3, 2020
@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe modified the milestones: sage-9.2, sage-9.3 Oct 24, 2020
@mkoeppe
Copy link
Member Author

mkoeppe commented Nov 25, 2020

Dependencies: #30960

@mkoeppe
Copy link
Member Author

mkoeppe commented Mar 24, 2021

comment:14

Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date.

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 Mar 24, 2021
@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe changed the title Make docker images from GitHub CI workflow and regular Sage Docker images interoperable Make docker images from tox/GitHub CI workflow and regular Sage Docker images interoperable Mar 28, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@dimpase
Copy link
Member

dimpase commented Oct 1, 2021

comment:17

Given that GitLab Docker build is broken for ages, can we arrange for GitHub-built docker images to be pushed to the main Docker repo,
or at least create some sort of advertised Docker repo on GitHub?

@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 18, 2021
@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe changed the title Make docker images from tox/GitHub CI workflow and regular Sage Docker images interoperable Make docker images from tox/GitHub CI workflow, regular Sage Docker images, and gitpod interoperable Dec 27, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Apr 7, 2022
@mkoeppe
Copy link
Member Author

mkoeppe commented May 11, 2022

comment:22

Bikeshedding time! Let's pick SAGE_ROOT, SAGE_LOCAL. My proposal is in the ticket description.

(The only important constraint for me is: Don't nest SAGE_LOCAL within SAGE_ROOT - for flexibility such as bind-mounting a new version of the source tree over SAGE_ROOT without hiding SAGE_LOCAL.)

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Member Author

mkoeppe commented May 11, 2022

Changed dependencies from #30960 to #33740

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Member Author

mkoeppe commented May 14, 2022

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 14, 2022

Commit: 58e112a

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 14, 2022

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

10338a7Change ci as well
0cf7334Add sage-setup as install-requires dep
6d2b149Use relative paths to not install src package
1dba3baMaybe thats the correct shebang?
c1b2fbfRevert install_requires change
ad56ba3Go back to two pip installs for now
b42f5f5Readd how to use specific python version
87f360cReadd name arg
01eb374Merge #33740
58e112abootstrap-conda: Use script package _develop instead of hardcoded list of dev tools; remove unused RECOMMENDED

@mkoeppe
Copy link
Member Author

mkoeppe commented May 14, 2022

Changed commit from 58e112a to none

@mkoeppe
Copy link
Member Author

mkoeppe commented May 14, 2022

Changed dependencies from #33740 to none

@mkoeppe
Copy link
Member Author

mkoeppe commented May 14, 2022

@mkoeppe mkoeppe changed the title Make docker images from tox/GitHub CI workflow, regular Sage Docker images, and gitpod interoperable Make docker images from tox/GitHub CI workflow, regular Sage Docker images, gitpod, CoCalc interoperable May 17, 2022
@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants