Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .github/workflows/publish-tag.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
name: publish-tag

# Actions that publish a set of immutable, statically-tagged images.
#
# Run this manually when cutting a release. The tag you give is the tag every
# image is published with, and it must be one that has never been published
# before - the Data Manager treats any tag other than 'latest' or 'stable' as
# static and caches it per Kubernetes node, so a reused tag leaves some nodes
# running the old content. See docs/versioning.md in the squonk2-jobs
# umbrella repository.
#
# Note that 'informaticsmatters/vs-rdkit-base' is not built here - it is built
# and pushed by hand, and five of the images below are FROM it. Publish the
# matching base image before running this workflow.

# -----------------
# Control variables (GitHub Secrets)
# -----------------
#
# At the GitHub 'organisation' or 'project' level you must have the following
# GitHub 'Repository Secrets' defined (i.e. via 'Settings -> Secrets'): -
#
# DOCKERHUB_USERNAME
# DOCKERHUB_TOKEN
#
# -----------
# Environment (GitHub Environments)
# -----------
#
# Environment (n/a)

on:
workflow_dispatch:
inputs:
image-tag:
description: The immutable image tag to build and publish (e.g. 2.0.0)
type: string
required: true

jobs:
call-test:
uses: ./.github/workflows/test.yaml

call-build-with-push:
needs: call-test
uses: ./.github/workflows/build-all-with-push-option.yaml
secrets: inherit
with:
image-tag: ${{ inputs.image-tag }}
image-push: true
1 change: 1 addition & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,4 @@ jobs:
jote --manifest manifest-silicos-it.yaml --dry-run --allow-no-tests
jote --manifest manifest-dmpk.yaml --dry-run
jote --manifest manifest-im-mordred.yaml --dry-run
jote --manifest manifest-moldb.yaml --dry-run
2 changes: 1 addition & 1 deletion Dockerfile-fns
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM informaticsmatters/vs-rdkit-base:latest
FROM informaticsmatters/vs-rdkit-base:2.0.0

# Note: When run by the Data Manager the uid and gid
# will be set according to the Project we're running against.
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-moldb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM informaticsmatters/vs-rdkit-base:latest
FROM informaticsmatters/vs-rdkit-base:2.0.0

# Note: When run by the Data Manager the uid and gid
# will be set according to the Project we're running against.
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-mordred
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM informaticsmatters/vs-rdkit-base:latest
FROM informaticsmatters/vs-rdkit-base:2.0.0

# Note: When run by the Data Manager the uid and gid
# will be set according to the Project we're running against.
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-oddt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM informaticsmatters/vs-rdkit-base:latest
FROM informaticsmatters/vs-rdkit-base:2.0.0

# Note: When run by the Data Manager the uid and gid
# will be set according to the Project we're running against.
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-prep
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM informaticsmatters/vs-rdkit-base:latest
FROM informaticsmatters/vs-rdkit-base:2.0.0

# Note: When run by the Data Manager the uid and gid
# will be set according to the Project we're running against.
Expand Down
20 changes: 17 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,26 @@ These tools are available under the [Apache2.0 license](LICENSE).
## Building
The image builds are accomplished using GitHib workflows in this repository.

The `rdkit-base` image on which a number of the other images depend on is
The `vs-rdkit-base` image on which a number of the other images depend on is
built manually and pushed to docker hub when the RDKit release needs to be updated.
At the moment we push the image `informaticsmatters/rdkit-base:latest`, and this is
controlled by the dockerfile `Dockerfile-rdkit-base`.
It is controlled by the dockerfile `Dockerfile-rdkit-base`, and is pushed with
the release tag that the dependent images will use: -

$ IMAGE_TAG=2.0.0 docker-compose -f docker-compose-manual.yaml build
$ IMAGE_TAG=2.0.0 docker-compose -f docker-compose-manual.yaml push

Publish it *before* running the release workflow below - `Dockerfile-fns`,
`-moldb`, `-mordred`, `-oddt` and `-prep` are all `FROM` it and will fail to
build without it.

The other images are built automatically by the GitHub workflows, where: -

- The `publish-tag` workflow, run manually, results in a series of images
carrying the tag you give it (e.g. `:2.0.0`). This is how releases are made:
the Job Definitions pin these static tags, so **a tag must never be reused**
- Every change to the `main` branch results in a series of `:stable` images
- Every change to the `staging` branch results in a series of `:latest` images

`:stable` and `:latest` are dynamic tags, intended for development only. See
[versioning](https://github.com/InformaticsMatters/squonk2-jobs/blob/main/docs/versioning.md)
in the `squonk2-jobs` umbrella repository.
2 changes: 1 addition & 1 deletion USER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ yourself for some reason this is how...

To build the container images run this:

$ IMAGE_TAG=1.0.0 docker-compose build
$ IMAGE_TAG=2.0.0 docker-compose build

Or, to build using the `latest` tag: -

Expand Down
4 changes: 2 additions & 2 deletions data-manager/dmpk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
name: Estimation of absorption
description: >-
Estimation of absorption from t1/2 and Tmax after po administration (one-compartment)
version: '1.0.0'
version: '2.0.0'
category: dmpk
keywords:
- dmpk
Expand All @@ -18,7 +18,7 @@ jobs:
- kel
image:
name: informaticsmatters/vs-dmpk
tag: 'stable'
tag: '2.0.0'
project-directory: /data
working-directory: /data
fix-permissions: true
Expand Down
12 changes: 6 additions & 6 deletions data-manager/fragnet-search.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ jobs:
name: Fragment network expansion
description: >-
Expand a set of molecules using the fragment network
version: '1.0.0'
version: '2.0.0'
category: virtual screening
keywords:
- fragment-network
- candidate-selection
image:
name: informaticsmatters/vs-fragnet-search
tag: 'stable'
tag: '2.0.0'
project-directory: /data
working-directory: /data
fix-permissions: true
Expand Down Expand Up @@ -137,15 +137,15 @@ jobs:
name: Fragment network find synthons
description: >-
Find the "synthons" of a molecule
version: '1.0.0'
version: '2.0.0'
category: virtual screening
keywords:
- fragment-network
- candidate-selection
- synthons
image:
name: informaticsmatters/vs-fragnet-search
tag: 'stable'
tag: '2.0.0'
project-directory: /data
working-directory: /data
fix-permissions: true
Expand Down Expand Up @@ -222,14 +222,14 @@ jobs:
name: Fragment network expansion
description: >-
Expand a set of molecules using the fragment network
version: '1.0.0'
version: '2.0.0'
category: virtual screening
keywords:
- fragment-network
- candidate-selection
image:
name: informaticsmatters/vs-fragnet-search
tag: 'stable'
tag: '2.0.0'
project-directory: /data
working-directory: /data
fix-permissions: true
Expand Down
Loading
Loading