Instructions

This document contains instructions for a few tasks that you might have to do as a Stackspin developer.

Building a new version of Zulip

As long as Zulip version 5 is not released yet, you need to build it from the source code’s main branch every once in a while. In order to do so, you need the following:

  1. The commit ref of the version of the Zulip repository you want to build, e.g. 5e90b32f40ad45d59e00a4e5c08cc6f180e04d30

  2. An abbreviated version of the commit ref. We take the first ten characters of the whole ref, 5e90b32f40 in our example.

  3. A local copy of our fork of the docker-zulip repository (at least until our pull request is merged).

    This is necessary because we have added the SOCIAL_AUTH_OIDC_ENABLED_IDPS variable to the entrypoint.sh docker entrypoint script. Without our changes, setting OIDC settings through environment variables is impossible.

Once you have these two things, you can run the following build command to build the image:

docker build \
  --build-arg "ZULIP_GIT_REF=5e90b32f40ad45d59e00a4e5c08cc6f180e04d30" \
  -t open.greenhost.net:4567/stackspin/stackspin/zulip:5e90b32f40 \
  .

The build argument ZULIP_GIT_REF tells the Dockerfile to use that ref when checking out and building Zulip. The tag is necessary so you can push the new Zulip image to our registry after building with the following command:

docker push open.greenhost.net:4567/stackspin/stackspin/zulip:5e90b32f40

Once the push is completed, you can edit the tag in flux2/apps/zulip/zulip-values-configmap.yaml and create a PR to update Zulip in Stackspin.

Once our PR has been merged and Zulip version 5 has been released, this guide is obsolete and Stackspin can use docker images as provided by Zulip on Docker hub.