Skip to content

Commit

Permalink
Adding Change Log (apptainer#1109)
Browse files Browse the repository at this point in the history
* updating support, contributing, and adding changelog
* modified:   .github/PULL_REQUEST_TEMPLATE.md
* removing files
* removing weird extra files
* keeping old files so still builds
* changing... the CHANGElog. So many changes.
  • Loading branch information
vsoch authored Oct 31, 2017
1 parent 90d66b0 commit 3dda9a9
Show file tree
Hide file tree
Showing 6 changed files with 210 additions and 30 deletions.
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ fixing or enhancing.
**Checkoff for all PRs:**

- [ ] I have read the [Guidelines for Contributing](https://github.com/singularityware/singularity/blob/master/CONTRIBUTING.md), and this PR conforms to the stated requirements.
- [ ] I have added changes to the [CHANGELOG](https://github.com/singularityware/singularity/blob/development/CHANGELOG.md) and and documentation updates to the [singularityware](https://www.github.com/singularityware/singularityware.github.io) documentation base.
- [ ] I have tested this PR locally with a `make test`
- [ ] This PR is NOT against the project's master branch
- [ ] I have added myself as a contributor to the [contributors's file](https://github.com/singularityware/singularity/blob/master/CONTRIBUTORS.md)
Expand Down
3 changes: 1 addition & 2 deletions .github/RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

## Code
- [] Ensure docs exist at singularityware.github.io for new/updated features
- [] Update version number in `configure.ac`
- [] Update version number in `configure.ac` and `INSTALL.md`
- [] Update changelog and version in `debian/changelog`
- [] Confirm tests exist for new features, and tests pass
- [] Commit the changes:
Expand All @@ -25,4 +25,3 @@ git tag -a 2.3.3
- [] Initial announcement to list (@gmk)
- [] Announcement for singularityware.github.io (ensure links work) (@vsoch)
- [] If release, @SingularityWare on twitter

1 change: 1 addition & 0 deletions .github/SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ For issues with code (and especially if you need to share debug output) we recom

- [Singularity Issues](https://github.com/singularityware/singularity/issues): is recommended for most issues with the Singularity software.
- [Singularity Hub Issues](https://github.com/singularityhub/singularityhub.github.io/issues): is the board for issues relevant to Singularity Hub.
- [Singularity Registry Issues](https://github.com/singularityhub/sregistry/issues): is the board for issues relevant to Singularity Registry
- [Documentation Issues](https://github.com/singularityware/singularityware.github.io/issues): documentation questions, feedback, and suggestions should go here. Feel free to create an issue on a board and additionally request updated content here.

## Google Group
Expand Down
170 changes: 170 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
# CHANGELOG

This is a manually generated log to track changes to the repository for each release.
Each section should include general headers such as ### Implemented enhancements
and **Merged pull requests**. All closed issued and bug fixes should be
represented by the pull requests that fixed them. This log originated with Singularity 2.4
and changes prior to that are (unfortunately) done retrospectively. Critical items to know are:

- renamed, deprecaed, or removed commands
- defaults that are changed
- backward incompatible changes (recipe file format? image file format?)
- migration guidance (how to convert images?)
- changed behaviour (recipe sections work differently)


## [v2.4.1](https://github.com/singularityware/singularity/tree/development) (development)

### Implemented enhancements
- This changelog was added.

### Bug Fixes
- Tar creation uses GNU tar-1.28 to not add a timestamp to the header for more reproducible builds

## [v2.4](https://github.com/singularityware/singularity/tree/v2.4) (2017-10-02)
[Full Changelog](https://github.com/singularityware/singularity/compare/2.3.2...2.4)

### Implemented enhancements

- a new `build` command was added to replace `create` + `bootstrap` ([build](https://singularityware.github.io/docs-build-container))
- default image format is squashfs, eliminating the need to specify a size
- for development build supports `--sandbox` (folder) and `--writable` (ext3)
- a `localimage` can be used as a build base, including ext3, sandbox, and other squashfs images
- singularity hub can now be used as a base with the uri `shub://`
- support has been added for instances (services) including network namespace isolation under the `instances` group of commands.
- [singularity registry](https://www.github.com/singularityhub/sregistry) is released and published
- [Standard Container Integration Format](https://singularityware.github.io/docs-apps) apps are added to support internal modularity and organization.
- [build environment](https://singularityware.github.io/build-environment) is better documented
- Persistent Overlay
- Container checks
- Tests for instance support
- Wrapper for create
- Group instance commands
- Group image commands
- Bash completion updates

### Deprecated
- the `create` command is being deprecated in favor of `image.create`
- `bootstrap` is being deprecated in favor of `build` (will work through 2.4)
- `expand` is being deprecated in favor of `image.expand`, and no longer works on images with headers (meaning after they are built).
- `export` is being deprecated and added to the image command group, `image.export`
- the `shub://` URI no longer supports an integer to reference a container

## [v2.3.2](https://github.com/singularityware/singularity/tree/v2.3.2) (2017-09-15)
[Full Changelog](https://github.com/singularityware/singularity/compare/2.3.1...2.3.2)

### Implemented enhancements
- Quick fix to support manifest lists when pulling from Docker Hub

## [v2.3.1](https://github.com/singularityware/singularity/tree/v2.3.1) (2017-06-26)
[Full Changelog](https://github.com/singularityware/singularity/compare/2.3...2.3.1)

### Security Fix
- A fix was implemented to address an escalation pathway and various identified bugs and potential race conditions.

## [v2.3](https://github.com/singularityware/singularity/tree/v2.3) (2017-05-31)
[Full Changelog](https://github.com/singularityware/singularity/compare/2.2.1...2.3)

### Implemented enhancements
- Lots of backend library changes to accommodate a more flexible API
- Restructured Python backend
- Updated bootstrap backend to make it much more reliable
- Direct support for Singularity-Hub
- Ability to run additional commands without root privileges (e.g. create, import, copy, export, etc..).
- Added ability to pull images from Singularity Hub and Docker
- Containers now have labels, and are inspect'able

## [v2.2.1](https://github.com/singularityware/singularity/tree/v2.2.1) (2017-02-14)
[Full Changelog](https://github.com/singularityware/singularity/compare/2.2...2.2.1)

### Security Fix
- a security loophole related to mount devices was fixed (thanks @UMU in Sweden)

### Implemented enhancements
- Fixed some leaky file descriptors
- Cleaned up `*printf()` usage
- Catch if user's group is not properly defined

## [v2.2](https://github.com/singularityware/singularity/tree/v2.2) (2016-10-11)
[Full Changelog](https://github.com/singularityware/singularity/compare/2.1.2...2.2)

### Implemented enhancements
- A complete rework of the back end source code to allow a much larger feature set, sanity, and facilitate contributions
- The ability to execute completely unprivileged (does not support Singularity images) (thanks to Brian Bockelman)
- Container execute by URI support (file, http, https, docker, etc..)
- Integration with the Docker Registry Remote API (thanks to @vsoch), including stateless containers running ad-hoc, bootstrapping, and importing
- OverlayFS support - Allows for automatic creation of bind points within containers at runtime (thanks to Amanda Duffy and Jarrod Johnson)
- Additional container formats supported (directories and archives)
- New bootstrap definition format to handle much more complicated and intuitive recipes
- All Singularity 2.x containers continue to be supported with this release.


## [v2.1.2](https://github.com/singularityware/singularity/tree/v2.1.2) (2016-08-04)
[Full Changelog](https://github.com/singularityware/singularity/compare/2.1.1...2.1.2)

### Bug Fixes
- Fix for kernel panic on corrupt images
- Fixes build warning

## [v2.1.1](https://github.com/singularityware/singularity/tree/v2.1.1) (2016-08-03)
[Full Changelog](https://github.com/singularityware/singularity/compare/2.1...2.1.1)

### Bug Fixes
- Contain option no longer maintains current working directory
- Remove need to obtain a shared lock on the image (was failing on some shared file systems)
- Move creation of a container's /environment to the beginning of the bootstrap (so it can be modified via a bootstrap definition file

## [v2.1](https://github.com/singularityware/singularity/tree/v2.1) (2016-07-28)
[Full Changelog](https://github.com/singularityware/singularity/compare/2.0...2.1)

### Implemented enhancements
- Configuration file for system administrator control over what Singularity features users are allowed to use
- Support for non Gnu LibC based distributions (e.g. Alpine Linux)
- Source file restructuring and refactoring
- Added message(), and enabled very verbose debugging
- Be smarter about when to avoid separation of the PID namespace
- Log container runs to syslog()
- Support custom container environments (via container:/environment)
- Sanitized source files for Flawfinder

### Bug Fixes
- Fix bug with /run and /var directories being read only in some situations
- Fix lots of bootstrap definition issues
- Fixed issue with /dev/pts not being mounted within a container
- Resolved some issues with image file de-looping
- Fixed bugs related to very restrictive umasks set

## [v2.0](https://github.com/singularityware/singularity/tree/v2.0) (2016-06-01)
[Full Changelog](https://github.com/singularityware/singularity/compare/1.x...2.0)

### Implemented enhancements
- Support for non-root container contexts (user outside container, is same user inside container)
- Support of “live” container sparse image files
- Utilizing the operating system’s build and dependency resolution subsystems (e.g. YUM, Apt, etc.)
- Support for Open MPI 2.1 (pre-release)
- Updates for usage with non-local file systems
- Performance optimizations
- Support for native X11


## [v1.x](https://github.com/singularityware/singularity/tree/v1.x) (2016-04-06)

### Implemented enhancements

- Ability to create Singularity containers based on a package specfile
- Specfile templates can be generated automatically (singularity specgen …)
- Support for various automatic dependency resolution
- Dynamic libraries
- Perl scripts and modules
- Python scripts and modules
- R scripts and modules
- Basic X11 support
- Open MPI (v2.1 - which is not yet released)
- Direct execution of Singularity containers (e.g. ./container.sapp [opts])
- Access to files in your home directory and a scratch directory
- Existing IO (pipes, stdio, stderr, and stdin) all maintained through container
- Singularity internal container cache management
- Standard networking access (exactly as it does on the host)
- Singularity containers run within existing resource contexts (CGroups and ulimits are maintained)
- Support for scalable execution of MPI parallel jobs
- Singularity containers are portable between Linux distributions
54 changes: 32 additions & 22 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,46 +17,56 @@ form.
When contributing to Singularity, it is important to properly communicate the
gist of the contribution. If it is a simple code or editorial fix, simply
explaining this within the GitHub Pull Request (PR) will suffice. But if this
is a larger fix or Enhancement, it should be first discussed with the project
leader or developers.
is a larger fix or Enhancement, you are advised to first discuss the change
with the project leader or developers.

Please note we have a code of conduct, described below. Please follow it in
all your interactions with the project members and users.

## Pull Request Process
## Pull Requests (PRs)

1. Bug fix PRs should be sent to both the master and development branches.
Feature enhancements should only be submitted against the development
branch.
2. Follow the existing code style precedent. This does not need to be strictly
### Process
1. Essential bug fix PRs should be sent to both master and devopment branches.
2. Small bug fix and feature enhancement PRs should be sent to development only.
3. Follow the existing code style precedent. This does not need to be strictly
defined as there are many thousands of lines of examples. Note the lack
of tabs anywhere in the project, parentheses and spacing, curly bracket
locations, source code layout, variable scoping, etc. and follow the
project's standards.
3. Ensure any install or build dependencies are removed before doing a build
4. Ensure any install or build dependencies are removed before doing a build
to test your PR locally.
4. For any new functionality, please write a test to be added to Continuous
5. For any new functionality, please write a test to be added to Continuous
Integration (Travis) to test it (tests can be found in the `tests/`
directory).
5. The project's default copyright and header have been included in any new
6. The project's default copyright and header have been included in any new
source files.
6. Make sure you have implemented a local `make test` and all tests succeed
7. Make sure you have implemented a local `make test` and all tests succeed
before submitting the PR.
7. All (major) changes to Singularity must be documented on
[singularityware.github.io](https://singularityware.github.io). If your PR
changes a core functionality, please include clear description of the
changes in your PR so that the docs can be updated, or better, submit a
sister PR to update the docs directly.
8. If necessary, update the README.md, and check the `*.help` scripts under
8. Is the code human understandable? This can be accomplished via a clear code
style as well as documentation and/or comments.
9. The pull request will be reviewed by others, and the final merge must be
done by the Singularity project lead, @gmkurtzer (or approved by him).
10. Documentation must be provided if necessary (next section)

### Documentation
1. If you are changing any of the following:

- renamed commands
- deprecated / removed commands
- changed defaults
- backward incompatible changes (recipe file format? image file format?)
- migration guidance (how to convert images?)
- changed behaviour (recipe sections work differently)

You are **required** to document it in the [changelog](CHANGELOG.md) for the next release.
You are also required to provide documentation or a direct pull request to
the (upcoming) version of the [singularityware.github.io](https://www.github.io/singularityware/singularityware.github.io) docs. Ask for help if you aren't sure where your contribution
should go.
2. If necessary, update the README.md, and check the `*.help` scripts under
[libexec/cli](libexec/cli) that provide the command line helper output. If
you make changes to the internal Python API, make sure to check those
changes into the [libexec/python/README.md](libexec/python/README.md) as
well.
9. Is the code human understandable? This can be accomplished via a clear code
style as well as documentation and/or comments.
10. The pull request will be reviewed by others, and the final merge must be
done by the Singularity project lead, @gmkurtzer (or approved by him).


# Code of Conduct

Expand Down
11 changes: 5 additions & 6 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ $ sudo yum groupinstall "Development Tools"


## To compile and install Singularity from a released tarball:
Assuming a 2.3.1 released tarball...
Assuming a 2.4 released tarball...
```
$ version=2.3.1
$ version=2.4
$ wget "https://github.com/singularityware/singularity/releases/download/${version}/singularity-${version}.tar.gz"
$ tar -xvzf singularity-${version}.tar.gz
$ cd singularity-${version}
Expand All @@ -30,7 +30,7 @@ will result in a non-functioning or semi-functioning installation.
```
$ git clone https://github.com/singularityware/singularity.git
$ cd singularity
$ git checkout tags/2.3.1 -b 2.3.1
$ git checkout tags/2.4 -b 2.4
$ ./autogen.sh
$ ./configure --prefix=/usr/local
$ make
Expand All @@ -45,7 +45,7 @@ will result in a non-functioning or semi-functioning installation.
```
$ cd singularity
$ git fetch --tags origin
$ git checkout tags/2.3.1 -b 2.3.1
$ git checkout tags/2.4 -b 2.4
$ ./autogen.sh
$ ./configure --prefix=/usr/local
$ make
Expand All @@ -60,10 +60,9 @@ will result in a non-functioning or semi-functioning installation.
```
$ git clone https://github.com/singularityware/singularity.git
$ cd singularity
$ git checkout tags/2.3.1 -b 2.3.1
$ git checkout tags/2.4 -b 2.4
$ ./autogen.sh
$ ./configure
$ make dist
$ rpmbuild -ta singularity-*.tar.gz
```

0 comments on commit 3dda9a9

Please sign in to comment.