|
1 | 1 | # format-support-template |
2 | 2 |
|
3 | | -[](https://github.com/InformaticsMatters/format-support-template/actions/workflows/build.yaml) |
4 | | -[](https://github.com/InformaticsMatters/format-support-template/actions/workflows/publish-latest.yaml) |
5 | | -[](https://github.com/InformaticsMatters/format-support-template/actions/workflows/publish-tag.yaml) |
6 | | -[](https://github.com/InformaticsMatters/format-support-template/actions/workflows/publish-stable.yaml) |
| 3 | +[](https://github.com/InformaticsMatters/pdb-support-template/actions/workflows/build.yaml) |
| 4 | +[](https://github.com/InformaticsMatters/pdb-support-template/actions/workflows/publish-latest.yaml) |
| 5 | +[](https://github.com/InformaticsMatters/pdb-support-template/actions/workflows/publish-tag.yaml) |
| 6 | +[](https://github.com/InformaticsMatters/pdb-support-template/actions/workflows/publish-stable.yaml) |
7 | 7 |
|
8 | | - |
| 8 | + |
9 | 9 |
|
10 | 10 | --- |
11 | 11 |
|
12 | | -> Replace the following template text with your own documentation |
| 12 | +A format-support image for the DataTier service, handling the following |
| 13 | +MIME types: - |
13 | 14 |
|
14 | | -A template repository for **Informatics Matters DataTier dataset |
15 | | -format-support container image implementations**. |
| 15 | +- `chemical/x-pdb` |
16 | 16 |
|
17 | | -Use this repository to start development of a container image that can be |
18 | | -used by the DataTier Manager to support the loading of a dataset _type_. |
19 | | - |
20 | | -You are required to preserve and adhere to the design rules |
21 | | -that can be found in this repository's `RULES.md`. |
22 | | - |
23 | | -Please take time to familiarise yourself with following sections before |
24 | | -discarding this text. Failing to comply with what's discussed here |
25 | | -may result in the image not passing any future automated acceptance testing |
26 | | -that may be deployed. |
27 | | - |
28 | | -- Building |
29 | | -- Testing |
30 | | -- Required image tags |
31 | | -- Built-in GitHub Actions |
32 | | -- Updating the badge links |
33 | | - |
34 | | -## Building |
35 | | -You should be able to build your format-support image using `docker`: - |
36 | | - |
37 | | - $ docker build . -t ${PWD##*/}:latest |
38 | | - |
39 | | -Or `docker-compose`: - |
40 | | - |
41 | | - $ IMAGE_NAME=${PWD##*/} docker-compose build |
42 | | - |
43 | | -> The expectation is that you're using a recent Docker engine |
44 | | - (like `20.10.2`) and docker-compose utility (like `1.27.4`). |
45 | | - |
46 | | -## Testing |
47 | | -Familiarise yourself with `TESTING.md`, which describes |
48 | | -a strategy you can replicate while developing and testing your image. |
49 | | - |
50 | | -## Required image tags |
51 | | -The DataTier Manager will only execute formatter images tagged `:stable` |
52 | | -so you **MUST** ultimately produce an image with this tag. You are also |
53 | | -encouraged to produce a `:latest` tag and any specific tags that satisfy your |
54 | | -own needs (with formats like `1.0.0-rc.1`, `1.0.0` and `2021.1`). |
55 | | - |
56 | | -> This repository's built-in GitHub Actions (see the next section) |
57 | | - will do all this for you. |
58 | | - |
59 | | -## Built-in GitHub Actions |
60 | | -The template contains a number of [GitHub Actions] that will automatically |
61 | | -build the container image and also publish `:latest` and any tags you make to |
62 | | -Docker Hub. |
63 | | - |
64 | | -This relies on your docker registry mirroring your repository. If your docker |
65 | | -repository name does not mirror your GitHub repository name then you will need |
66 | | -to adjust these actions. For example, if you create a GitHub repository |
67 | | -from this one and call it 'XYZ/my-support-template' then you must be able to |
68 | | -push docker images to 'xyz/my-support-template:latest'. If not, you will need |
69 | | -to edit the workflow files to satisfy your needs. |
70 | | - |
71 | | -> Your images must be published to Docker Hub. |
72 | | -
|
73 | | -The following built-in actions are: - |
74 | | - |
75 | | -1. **For every commit to main** an Action builds the docker image and |
76 | | - pushes it using the image tag `:latest`. |
77 | | - This is accomplished by the `publish-latest.yaml` Action. |
78 | | -2. **For every repository tag** an Action builds the docker image and |
79 | | - pushes it with the image tag `:<tag>` |
80 | | - This is accomplished by the `publish-tag.yaml` Action. |
81 | | - - If the tag looks like a _formal_ release, i.e. is a 2 or 3-digit number |
82 | | - like `2021.1` or `1.0.0` an Action builds the docker image and |
83 | | - pushes it using the image tag `:<tag>` and the tag `:stable` |
84 | | - This is accomplished by the `publish-stable.yaml` Action. |
85 | | -3. **For every commit on a branch**, or a pull request to main, an Action |
86 | | - runs that just builds the docker image - but does not push it. |
87 | | - This is accomplished by the `build.yaml` Action. |
88 | | - |
89 | | -In order for the above Actions to succeed you will need to define the following |
90 | | -GitHub Repository (or Organisation) **secrets**: - |
91 | | - |
92 | | -- `DOCKERHUB_USERNAME` A Docker Hub user |
93 | | -- `DOCKERHUB_TOKEN` A Docker Hub user password or, ideally, access token |
94 | | - |
95 | | -> Repositories created in the InformaticsMatters organisation |
96 | | - are already presented with these secrets as they are already |
97 | | - defined at the Organisation level. |
98 | | - |
99 | | -## Updating the badge links |
100 | | -Don't forget to replace the `InformaticsMatters/format-support-template` |
101 | | -values in the above badge links with the name of your own repository, otherwise |
102 | | -your badges will reflect the template repository's state, not yours. |
| 17 | +For design details and behaviour refer to our [format-support-template] |
| 18 | +template repository. |
103 | 19 |
|
104 | 20 | --- |
105 | 21 |
|
106 | | -[github actions]: https://github.com/features/actions |
| 22 | +[format-support-template]: https://github.com/InformaticsMatters/format-support-template |
0 commit comments