diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 72ae15c47f85b7bfc935530982707d699d568dc9..d80afe1c3044a7b8481f5313f3edb6acf284af71 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -70,28 +70,27 @@ then you can just skip this section. First ensure the package is prepared for the release process: -* Make sure any references to the version number in the readme is updated - * Version number in dependency maven snippet. - * Add new version to javadoc version list. -* Ensure that none of the dependencies used are snapshots. +* Make sure any references to the version number or branch name in the readme is at the pre-release branch/version + * The branch name in the build pipeline badge +* Ensure the Aparapi version set in .gitlab.yml correctly points to the pre-release SNAPSHOT * Update the changelog file. -* Check that all Aparapi libraries used as dependencies point to the latest version. Next lets take a few steps to do the actual release: -1. Update everything listed above. Do **not** drop the package version's `-SNAPSHOT` suffix in master. -2. Create a release branch, but make sure never to push this branch to the server: `git checkout -b release`. -3. Update the README.md again to ensure travis badge and javadoc badge point to static tag and not latest. -4. Drop the `-SNAPSHOT` suffix from the package version. -5. Commit the current changes using a generic commit message such as `build(release): version 1.2.3`. -6. Fully test the software before deploying, run all tests and install locally to test against the examples package. - You can install the package locally with `mvn clean install`. -7. Once satisfied the package is stable deploy it to maven central by executing `mvn -P sign clean package deploy`. -8. If deployment was successful then create a new tag for the current version with the following command: - `git tag -a v1.2.3 -m "Version 1.2.3"`. -9. Push the newly created tags to the server: `git push origin v1.2.3:v1.2.3`. -10. Go to Github and go to the release. Update the description with the changelog for the version and upload - all the artifacts in the target folder. -10. Checkout master again and then delete the release branch: `git branch -D release`. -11. Bump the snapshot version of the package to the next expected version, commiting the changes and pushing. -12. Deploy the new snapshot to the snapshot repository (no need to sign): `mvn clean deploy`. +1. Update everything listed above. +2. Checkout the branch for the Aparapi version you are working on, for example `git checkout 2.0.0` or create + a new one if this is for a new version. For new branches make sure they are off of develop. Never add a `v` to the begining. +3. Update the README.md to ensure pipeline badge points to the correct branch for new branches. +4. Update .gitlab-ci.yml to ensure the Aparapi version points to the correct version fpr new branches. +5. Push the branch to the server, make sure pipeline passes, such as `git push origin 2.0.0:2.0.0`. +6. If pipeline passed, create a generic new branch, do not push it, as follows `git checkout -b release`. +7. Update the pipeline badge in the readme to point to the to-be-released repository tag/version. +8. Commit the current changes using a generic commit message such as `build(release): version 1.2.3 revision 4`. But do not push. + +7. Create a new tag for the current version with the following command: `git tag -a v1.2.3-4 -m "Version 1.2.3 revision 4"`. Ensure + tags **always** have the aparapi version followed by revsion. +8. Push the newly created tag to the server: `git push origin v1.2.3-4:v1.2.3-4`. +9. Delete the release branch you created locally `git branch -D release`. +9. If the Aparapi version deployed is the latest then merge master and develop to the earlier aparapi version specific branch, **not** + to the tag you just pushed and not to the temporary release branch. Push master and develop if so. +10. Go to Github and go to the release. Update the description with the changelog for the version. diff --git a/README.md b/README.md index cfa73df38dbf1adb7cdfb6c665524de4f084369b..15eec5093ee0bff7cb6d6df4e3b9a932d8e4d5a6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@  +[](http://git.qoto.org/aparapi/aparapi-docker/-/commits/master) +[](https://semver.org/spec/v2.0.0.html) [](http://www.apache.org/licenses/LICENSE-2.0.html) [](https://gitter.im/Syncleus/aparapi?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) @@ -74,6 +76,9 @@ docker run --device /dev/dri -it aparapi/aparapi-amdgpu:latest bash To run the NVIDIA based OpenCL implementation you can run the following command presuming you have the [NVIDIA Container Toolkit](https://github.com/NVIDIA/nvidia-docker) installed as well as the appropriate drivers. +```bash +docker run --runtime=nvidia -it aparapi/aparapi-nvidia:latest bash +``` To run pocl, which only supports CPU processing at the moment, run the following.