Skip to content

Enable gitpod integration #32749

@tobiasdiez

Description

@tobiasdiez

Gitpod allows one to setup a complete dev environment in the cloud. It is free to use for up to 50 hours per month. In this ticket the config necessary for making this work with sagemath is added.

You can try this out by going to https://gitpod.io/#https://github.com/sagemath/sagetrac-mirror/tree/public/build%2Fgitpod.

It currently takes a bit more than 1 hour until everything is setup. After this ticket is merged, we can enable the automatic prebuild using a github app (https://www.gitpod.io/docs/prebuilds#on-github). With this enabled, every push to the develop branch would trigger a prebuild of the complete environment (including the build of all dependencies and cythonizion) so that one has a up-to-date code env in a matter of a few seconds.


While setting things up, I noticed a few issues. Not sure if they are known problems or even by design. Please let me know if I should open a ticket for them to improve things.

;;; Loading "/workspace/sagetrac-mirror/local/var/tmp/sage/build/maxima-5.45.0.p0/src/src/../lisp-utils/defsystem.lisp"
;;; Loading #P"/home/linuxbrew/.linuxbrew/Cellar/ecl/21.2.1_1/lib/ecl-21.2.1/cmp.fas"
#P"/workspace/sagetrac-mirror/local/var/tmp/sage/build/maxima-5.45.0.p0/src/lisp-utils/defsystem.lisp"
> 
("../src/" "./" (MAKE::HOME-SUBDIRECTORY "lisp/systems/")
 "/usr/local/lisp/Registry/")
> 
;;; Loading "/workspace/sagetrac-mirror/local/var/tmp/sage/build/maxima-5.45.0.p0/src/src/maxima.system"

;  - Compiling defsystem "maxima" 
;    - Compiling module "package" 
;      - Compiling source file
;        "/workspace/sagetrac-mirror/local/var/tmp/sage/build/maxima-5.45.0.p0/src/src/maxima-package.lisp"
;;;
;;; Compiling /workspace/sagetrac-mirror/local/var/tmp/sage/build/maxima-5.45.0.p0/src/src/maxima-package.lisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=2
;;;
;;; End of Pass 1.
;;; Internal error:
;;;   ** Error code 1 when executing
;;; (EXT:RUN-PROGRAM "gcc-5" ("-I." "-I/home/linuxbrew/.linuxbrew/Cellar/ecl/21.2.1_1/include/" "-I/home/linuxbrew/.linuxbrew/opt/gmp/include" "-I/home/linuxbrew/.linuxbrew/opt/libffi/include" "-I/home/linuxbrew/.linuxbrew/opt/bdw-gc/include" "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-g" "-O2" "-fPIC" "-D_THREAD_SAFE" "-Dlinux" "-O2" "-c" "binary-ecl/maxima-package.c" "-o" "binary-ecl/maxima-package.o")):
;;; exec: No such file or directory
;      - Binary file binary-ecl/maxima-package.fas is old or does not exist. 
;        Compile (and load) source file /workspace/sagetrac-mirror/local/var/tmp/sage/build/maxima-5.45.0.p0/src/src/maxima-package.lisp instead? y
;      - Should I bother you if this happens again? y
;      - Compiling source file
;        "/workspace/sagetrac-mirror/local/var/tmp/sage/build/maxima-5.45.0.p0/src/src/maxima-package.lisp"
;;;
;;; Compiling /workspace/sagetrac-mirror/local/var/tmp/sage/build/maxima-5.45.0.p0/src/src/maxima-package.lisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=2
;;;
;;; End of Pass 1.
;;; Internal error:
;;;   ** Error code 1 when executing
;;; (EXT:RUN-PROGRAM "gcc-5" ("-I." "-I/home/linuxbrew/.linuxbrew/Cellar/ecl/21.2.1_1/include/" "-I/home/linuxbrew/.linuxbrew/opt/gmp/include" "-I/home/linuxbrew/.linuxbrew/opt/libffi/include" "-I/home/linuxbrew/.linuxbrew/opt/bdw-gc/include" "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-g" "-O2" "-fPIC" "-D_THREAD_SAFE" "-Dlinux" "-O2" "-c" "binary-ecl/maxima-package.c" "-o" "binary-ecl/maxima-package.o")):
;;; exec: No such file or directory
;      - Loading binary file "binary-ecl/maxima-package.fas" 
Condition of type: FILE-ERROR
Filesystem error with pathname #P"/workspace/sagetrac-mirror/local/var/tmp/sage/build/maxima-5.45.0.p0/src/src/binary-ecl/maxima-package.fas".

This should be investigated as part of #29159.

Depends on #33068
Depends on #30933

CC: @mkoeppe @saraedum @koffie

Component: build

Branch/Commit: public/build/gitpod @ 974eb4c

Reviewer: Tobias Diez

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions