Skip to content

Commit

Permalink
Merge pull request #5 from uclahs-cds/mmootor-standardize-repo
Browse files Browse the repository at this point in the history
Standardize Repo
  • Loading branch information
Faizal-Eeman authored Apr 17, 2024
2 parents 8fcba8e + 1fad0af commit fd8b161
Show file tree
Hide file tree
Showing 7 changed files with 161 additions and 17 deletions.
61 changes: 61 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Description
<!--- Briefly describe the changes included in this pull request and the paths to the test cases below
!--- starting with 'Closes #...' if appropriate --->

### Closes #...

## Testing Results

### Docker Image Testing

- [ ] I have tested the Docker image with the `docker run` command as described below.

#### Test the Docker image with at least one sample. Verify the new Docker image works using:

```docker run -u $(id -u):$(id -g) –w <working-directory> -v <directory-you-want-to-mount>:<how-you-want-to-mount-it-within-the-docker> --rm <docker-image-name> <command-to-the-docker-with-all-parameters>```

#### My command:

```Provide the command you ran here```

### Test Cases

- Case 1
- sample: <!-- e.g. A-mini S2.T-1, A-mini S2.T-n1 -->
- input csv: <!-- path/to/input.csv -->
- config: <!-- path/to/xxx.config -->
- output: <!-- path/to/output -->
- Case 2
- sample: <!-- e.g. A-mini S2.T-1, A-mini S2.T-n1 -->
- input csv: <!-- path/to/input.csv -->
- config: <!-- path/to/xxx.config -->
- output: <!-- path/to/output -->

# Checklist
<!--- Please read each of the following items and confirm by replacing the [ ] with a [X] --->

### Formatting

- [ ] I have read the [code review guidelines](https://uclahs-cds.atlassian.net/wiki/spaces/BOUTROSLAB/pages/3187646/Code+Review+Guidelines) and the [code review best practice on GitHub check-list](https://uclahs-cds.atlassian.net/wiki/spaces/BOUTROSLAB/pages/3189956/Code+Review+Best+Practice+on+GitHub+-+Check+List).

- [ ] The name of the branch is meaningful and well formatted following the [standards](https://uclahs-cds.atlassian.net/wiki/spaces/BOUTROSLAB/pages/3189956/Code+Review+Best+Practice+on+GitHub+-+Check+List), using \[AD_username (or 5 letters of AD if AD is too long)]-\[brief_description_of_branch].

- [ ] I have set up or verified the branch protection rule following the [github standards](https://uclahs-cds.atlassian.net/wiki/spaces/BOUTROSLAB/pages/3190380/GitHub+Standards#GitHubStandards-Branchprotectionrule) before opening this pull request.

### File Updates

- [ ] I have ensured that the version number update follows the [versioning standards](https://uclahs-cds.atlassian.net/wiki/spaces/BOUTROSLAB/pages/3188472/Docker+image+versioning+standardization).

- [ ] I have updated the version number in the `Dockerfile`, `README.md` and `metadata.yaml` files.

- [ ] I have updated the dependencies and added my name to the maintainer list in the `Dockerfile`.

- [ ] I have updated the feature changes in the `README.md` (optional).

- [ ] I have added the changes included in this pull request to the `CHANGELOG.md` under the next release version or unreleased, and updated the date.

### GitHub Packages Auto Build Rules

- [ ] I have not manually pushed this Docker image to the uclahs-cds container registry (`ghcr.io/uclahs-cds`) on [GitHub](https://github.com/orgs/uclahs-cds/packages).

- [ ] **I have updated the `image_name`** in the `metadata.yaml` which is required by GitHub action to automatically build and push the image.
2 changes: 1 addition & 1 deletion .github/workflows/CICD-base.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ jobs:

# Run CICD-base
- name: CICD-base
uses: docker://blcdsdockerregistry/cicd-base:latest
uses: docker://ghcr.io/uclahs-cds/cicd-base:latest
20 changes: 20 additions & 0 deletions .github/workflows/Docker-build-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
on:
push:
branches: ['main']
tags: ['v*']
release:
types: [published]

jobs:
build-and-push-image:
runs-on: ubuntu-latest
name: A job to build and push a docker image
permissions:
contents: read
packages: write
steps:
- id: build-push
uses: uclahs-cds/tool-Docker-action/build-release@latest
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
21 changes: 20 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,26 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

---

## [0.1.16] - 2024-04-16
### Added
- Add PR template to repo
- Add `Docker-build-release.yaml` to repo
- Add `bldocker` as group and user to Dockerfile
- Set `bldocker` as default user

### Changed
- Update CICD-base docker registry to `ghcr.io/uclahs-cds`
- Standardize `README.md`
- Standardize `metadata.yaml`
- Standardize Dockerfile
- Use condaforge as builder

### Removed
- Remove `blcdsdockerregistry/bl-base` as builder

---

## [0.1.16] - 2021-05-07
### Added
- Migrated VCFtools dockerfile to its own repository
- Created CHANGELOG.md
- Created CHANGELOG.md
19 changes: 15 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,27 @@
FROM blcdsdockerregistry/bl-base:1.0.0 AS builder
ARG MINIFORGE_VERSION=23.3.1-1
ARG UBUNTU_VERSION=23.04

FROM condaforge/mambaforge:${MINIFORGE_VERSION} AS builder

# Use conda to install tools and dependencies into /usr/local
ENV VCFTOOLS_VERSION=0.1.16
RUN conda create -qy -p /usr/local \
RUN mamba create -qy -p /usr/local \
-c bioconda \
-c conda-forge \
vcftools==${VCFTOOLS_VERSION} \
perl-vcftools-vcf==${VCFTOOLS_VERSION} \
tabix

# Deploy the target tools into a base image
FROM ubuntu:20.04
FROM ubuntu:${UBUNTU_VERSION} AS final
COPY --from=builder /usr/local /usr/local

LABEL maintainer="Tim Sanders <[email protected]>"
# Add a new user/group called bldocker
RUN groupadd -g 500001 bldocker && \
useradd -r -u 500001 -g bldocker bldocker

# Change the default user to bldocker from root
USER bldocker

LABEL maintainer="Mohammed Faizal Eeman Mootor <[email protected]>" \
org.opencontainers.image.source=https://github.com/uclahs-cds/docker-VCFtools
37 changes: 35 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ Repository for the VCFtools Dockerfile, a "package designed for working with VCF

This Docker image contains both the C++ and Perl libraries for VCFtools. Additionally, tabix is installed in this image.

The image is located in the Boutros Lab Docker Hub repo: https://hub.docker.com/repository/docker/blcdsdockerregistry/vcftools
The image can be found in docker-VCFtools' GitHub package page: [here](https://github.com/uclahs-cds/docker-VCFtools/pkgs/container/vcftools)

---

# Documentation
VCFtools main website [here](https://vcftools.github.io/index.html)
Expand All @@ -12,15 +14,46 @@ VCFtools documentation [here](https://vcftools.github.io/examples.html)

GitHub repository [here](https://github.com/vcftools/vcftools)

---

# Version
| Tool | Version |
|------|---------|
| VCFtools | 0.1.16 |

---

## Discussions

- [Issue tracker](https://github.com/uclahs-cds/docker-VCFtools/issues) to report errors and enhancement ideas.
- Discussions can take place in [docker-VCFtools Discussions](https://github.com/uclahs-cds/docker-VCFtools/discussions)
- [docker-VCFtools pull requests](https://github.com/uclahs-cds/docker-VCFtools/pulls) are also open for discussion

---

## Contributors

Please see list of [Contributors](https://github.com/uclahs-cds/docker-VCFtools/graphs/contributors) at GitHub.

---

## References

1. https://vcftools.github.io
2. https://vcftools.github.io/license.html
2. https://vcftools.github.io/license.html

---

## License

Author: 'Timothy Sanders', 'Mohammed Faizal Eeman Mootor'

docker-VCFtools is licensed under the GNU General Public License version 2. See the file LICENSE for the terms of the GNU GPL license.

docker-VCFtools can be used to create a docker instance to use VCFtools.

Copyright (C) 2021-2024 University of California Los Angeles ("Boutros Lab") All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
18 changes: 9 additions & 9 deletions metadata.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
Category: 'docker'
Description: 'Docker repository for VCFtools'
Maintainers: ['tsanders@mednet.ucla.edu']
Contributors: 'Timothy Sanders'
Languages: ['bash']
Tools: ['VCFtools']
Version: ['0.1.16']
Dependencies: ['docker', 'conda', 'bl-base', 'tabix']
References: 'https://vcftools.github.io/license.html'
category: 'docker'
description: 'Docker repository for VCFtools'
maintainers: ['mmootor@mednet.ucla.edu']
languages: ['Dockerfile']
tools: ['VCFtools']
version: ['0.1.16']
purpose: 'Package with easily accessible methods to work with VCF files'
references: 'https://vcftools.github.io/license.html'
image_name: 'vcftools'

0 comments on commit fd8b161

Please sign in to comment.