From a682106afcbe622eadc837bff7f0d71eaf41ec82 Mon Sep 17 00:00:00 2001 From: dannylamb Date: Tue, 13 Jul 2021 11:53:35 -0300 Subject: [PATCH 01/11] Starting how to release documentation --- docs/contributing/releasing-islandora.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 docs/contributing/releasing-islandora.md diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md new file mode 100644 index 000000000..92ade4828 --- /dev/null +++ b/docs/contributing/releasing-islandora.md @@ -0,0 +1,22 @@ +# Releasing Islandora + +Follow these steps to release all of the Islandora ecosystem. Due to dependencies, this must be done in a particular order. + +## Release Chullo + +Release chullo by creating a new release for it in Github. + +## Release Syn + +To release Syn + +1. Drop the `-SNAPSHOT` from `projectVersion` in `build.gradle` +2. Build Syn + 1. If you have Java 8, this can be done with `$ ./gradlew build shadowJar` + 2. If you don't have Java 8, you can do this with Docker `$ docker run --rm -v /path/to/Syn:/opt/Syn openjdk:8-jdk-slim bash -lc 'cd /opt/Syn && ./gradlew build shadowJar'` +3. Push this to Github and slice a new version + 1. Note that this repository prepends a `v` to the release tag (i.e. use `vX.X.X` instead of just `X.X.X`) +5. Upload both artifacts to the release in Github. These are located in `/path/to/Syn/build/libs`. You want both `islandora-syn-X.X.X.jar` and `islandora-syn-X.X.X-all.jar`. +6. Bump the `projectVersion` in `build.gradle` and add `-SNAPSHOT` to the end again. +7. Push this to Github with a commit message of "Preparing for next development iteration" + From 55afb80b4d6896c4db4fb6c07eec8a7ae58a14ac Mon Sep 17 00:00:00 2001 From: dannylamb Date: Tue, 13 Jul 2021 12:41:38 -0300 Subject: [PATCH 02/11] Update releasing-islandora.md --- docs/contributing/releasing-islandora.md | 77 ++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md index 92ade4828..85a7dc95d 100644 --- a/docs/contributing/releasing-islandora.md +++ b/docs/contributing/releasing-islandora.md @@ -20,3 +20,80 @@ To release Syn 6. Bump the `projectVersion` in `build.gradle` and add `-SNAPSHOT` to the end again. 7. Push this to Github with a commit message of "Preparing for next development iteration" +## Release Openseadragon + +Release the `openseadragon` module by creating a new release for it in Github. + +## Release Alpaca + +To make sure the release goes smoothly, you should ensure that: + * You have an account with commit access for Alpaca on GitHub. As a committer, you should already have this level of access. + * You have an oss.sonatype.org account and have requested to be given permission to publish to the ca.islandora groupId by adding a comment to the [Islandora Sonatype Hosting Ticket](https://issues.sonatype.org/browse/OSSRH-18137) + * Ensure you have a trusted code signing key; [create](https://wiki.duraspace.org/display/FCREPO/Creating+a+Code+Signing+Key) if you haven't before and add it to the [contributor keys](https://github.com/Islandora-CLAW/Alpaca/wiki/Alpaca-Release-Process#contributor-keys) list below + * Your gradle settings file (`~/.gradle/gradle.properties`) exists and includes the following: +```properties +ossrhUsername = jiraname +ossrhPassword = jirapass +signing.keyId = pubkeyid +signing.password = keypassphrase +signing.secretKeyRingFile = /your/home/.gnupg/secring.gpg +``` + * Your `git` is configured (locally or globally) to [cache github credentials for https](https://help.github.com/articles/caching-your-github-password-in-git/) or [use ssh](https://help.github.com/articles/generating-an-ssh-key/) + +**Note**: As of GPG 2.1 `secring.gpg` [has been removed](https://www.gnupg.org/faq/whats-new-in-2.1.html#nosecring) so you need to export secret keys to create the secret key ring. +``` +gpg --export-secret-keys -o secring.gpg +``` + +### Steps: +The following assumes you are using ssh (e.g. git@github.com for authentication). + +It will also work for https if you properly cache your github credentials. The credentials must be cached and valid because Gradle will not prompt you for them! + +#### Release artifacts to Sonatype and Github +* `git clone git@github.com:Islandora-CLAW/Alpaca.git` +* `cd Alpaca` +* `./gradlew release` + +The script will start but then will ask you to confirm the version to release as. +``` +??> This release version: [0.3.1] (WAITING FOR INPUT BELOW) +<-------------> 0% EXECUTING [13s] +> :release +> :alpaca-release:confirmReleaseVersion +``` +You then type in the version (ie. `0.4.0`) or nothing to use the suggested version (`0.3.1` in this example) and hit `ENTER`. + +The gradle release task will take care of dropping -SNAPSHOT from the version, uploading artifacts to Maven central for staging, tagging and pushing a release to github, and bumping `master` of the Alpaca repository up by a point release for the next development iteration. + +#### Documentation. +The release process will also generate documentation at `./docs/`. This will need to be added to the git repository and pushed to the master branch: + +* `git add docs/` +* `git commit -m "Add documentation for "` +* `git push origin` + +#### Release from Sonatype + +##### Point of no return +*** + +⚠️ The following steps, once completed are final. They cannot be undone, revoked or altered. Only proceed if you've +completed all the above steps and are absolutely certain the release is ready for publication. + +*** + +* Login to https://oss.sonatype.org +* Click on **Staging Repositories** on the left hand side under **Build Promotion** +* On the far left hand side search box enter 'islandora' +* Locate the artifacts you want to release and click on them +* Click Close, then Refresh, then Release + +### Contributor Keys + +| Name | Organization | Address | Code Signing Key Fingerprint | Key Id | +|--------------|------------------------|-----------------------|---|:-:| +| Danny Lamb | Islandora Foundation | dlamb at islandora.ca | 2D609DB0380A7637A6B72B328D7E7725D47A05FA | D47A05FA | +| Jared Whiklo | University of Manitoba | jwhiklo at gmail.com | 9F45FC2BE09F4D70DA0C7A5CA51C36E8D4F78790 | D4F78790 | +| Nick Ruest | York University | ruestn at yorku.ca | 159493E15691C84D615B7D1B417FAF1A0E1080CD | 0E1080CD | +| Seth Shaw | University of Nevada, Las Vegas | seth.shaw at unlv.edu | 2FF65B22AFA7B2A57F054F89D160AA658DAE385F | D160AA658DAE385F | From 865ffde8c1278cb1d4124ed9c73ff57f97ae1b81 Mon Sep 17 00:00:00 2001 From: dannylamb Date: Tue, 13 Jul 2021 12:45:25 -0300 Subject: [PATCH 03/11] Whitespace --- docs/contributing/releasing-islandora.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md index 85a7dc95d..b49d92eeb 100644 --- a/docs/contributing/releasing-islandora.md +++ b/docs/contributing/releasing-islandora.md @@ -97,3 +97,6 @@ completed all the above steps and are absolutely certain the release is ready fo | Jared Whiklo | University of Manitoba | jwhiklo at gmail.com | 9F45FC2BE09F4D70DA0C7A5CA51C36E8D4F78790 | D4F78790 | | Nick Ruest | York University | ruestn at yorku.ca | 159493E15691C84D615B7D1B417FAF1A0E1080CD | 0E1080CD | | Seth Shaw | University of Nevada, Las Vegas | seth.shaw at unlv.edu | 2FF65B22AFA7B2A57F054F89D160AA658DAE385F | D160AA658DAE385F | + + + From 135d7ad54beb113e0c07d86013e8e90f5b7beaa2 Mon Sep 17 00:00:00 2001 From: dannylamb Date: Tue, 13 Jul 2021 13:42:08 -0300 Subject: [PATCH 04/11] Update releasing-islandora.md --- docs/contributing/releasing-islandora.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md index b49d92eeb..d82e29c44 100644 --- a/docs/contributing/releasing-islandora.md +++ b/docs/contributing/releasing-islandora.md @@ -98,5 +98,10 @@ completed all the above steps and are absolutely certain the release is ready fo | Nick Ruest | York University | ruestn at yorku.ca | 159493E15691C84D615B7D1B417FAF1A0E1080CD | 0E1080CD | | Seth Shaw | University of Nevada, Las Vegas | seth.shaw at unlv.edu | 2FF65B22AFA7B2A57F054F89D160AA658DAE385F | D160AA658DAE385F | +## Release Carapace +Release the `carapace` theme by creating a new release for it in Github. +## Release Crayfish + +Release the `Crayfish` microservices by creating a new release for them in Github. From 1d0c39f15456a73fcafa21d9f267a7ce374ff31d Mon Sep 17 00:00:00 2001 From: dannylamb Date: Tue, 13 Jul 2021 14:41:12 -0300 Subject: [PATCH 05/11] Update releasing-islandora.md --- docs/contributing/releasing-islandora.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md index d82e29c44..4b9159386 100644 --- a/docs/contributing/releasing-islandora.md +++ b/docs/contributing/releasing-islandora.md @@ -104,4 +104,11 @@ Release the `carapace` theme by creating a new release for it in Github. ## Release Crayfish -Release the `Crayfish` microservices by creating a new release for them in Github. +Crayfish depends on the `crayfish-commons` library, and must have its dependencies updated before release. + +1. Bump the dependency on `islandora/crayfish-commons` in each `composer.json` file for each microservice +2. Release the `Crayfish` microservices by creating a new release for them in Github. + +## JSONLD + +Release the `jsonld` module by creating a new release for it in Github. From c5b1970d380e7f8915cbf3a000fb88fdc7868383 Mon Sep 17 00:00:00 2001 From: dannylamb Date: Wed, 14 Jul 2021 10:25:04 -0300 Subject: [PATCH 06/11] Update releasing-islandora.md --- docs/contributing/releasing-islandora.md | 58 +++++++++++++++++------- 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md index 4b9159386..72f329da5 100644 --- a/docs/contributing/releasing-islandora.md +++ b/docs/contributing/releasing-islandora.md @@ -1,12 +1,20 @@ # Releasing Islandora -Follow these steps to release all of the Islandora ecosystem. Due to dependencies, this must be done in a particular order. +Follow these steps to release all of the Islandora ecosystem. Due to dependencies, this must be done in a particular order. While this may seem like a daunting task, remember that at any point in time you can delete/update/re-do a release in Github. If something gets botched simply -## Release Chullo +1. Delete the release in Github through their UI +2. Delete the tag in Git both locally and remotely: `git tag -d TAG_NAME; git push --delete origin TAG_NAME` +3. Try again. -Release chullo by creating a new release for it in Github. +The only exception is when publishing to Sonatype with Alpaca, but by the time you've gotten there, everything should be fine already. And remember, you can always just bump the version number again and slice a second release if you have to. No big deal! + +We'll start with the Java stuff because it's the most complicated. + +## Releasing Java Code -## Release Syn +You need Java 8 on your system to release java code. All the rest is handled by Gradle, which is included in the Git repos. If, for whatever reason, you cannot get Java 8 on your computer, you can try the `openjdk:8` image + +### Release Syn To release Syn @@ -20,11 +28,7 @@ To release Syn 6. Bump the `projectVersion` in `build.gradle` and add `-SNAPSHOT` to the end again. 7. Push this to Github with a commit message of "Preparing for next development iteration" -## Release Openseadragon - -Release the `openseadragon` module by creating a new release for it in Github. - -## Release Alpaca +### Release Alpaca To make sure the release goes smoothly, you should ensure that: * You have an account with commit access for Alpaca on GitHub. As a committer, you should already have this level of access. @@ -45,12 +49,12 @@ signing.secretKeyRingFile = /your/home/.gnupg/secring.gpg gpg --export-secret-keys -o secring.gpg ``` -### Steps: +#### Steps: The following assumes you are using ssh (e.g. git@github.com for authentication). It will also work for https if you properly cache your github credentials. The credentials must be cached and valid because Gradle will not prompt you for them! -#### Release artifacts to Sonatype and Github +##### Release artifacts to Sonatype and Github * `git clone git@github.com:Islandora-CLAW/Alpaca.git` * `cd Alpaca` * `./gradlew release` @@ -66,16 +70,16 @@ You then type in the version (ie. `0.4.0`) or nothing to use the suggested versi The gradle release task will take care of dropping -SNAPSHOT from the version, uploading artifacts to Maven central for staging, tagging and pushing a release to github, and bumping `master` of the Alpaca repository up by a point release for the next development iteration. -#### Documentation. +##### Documentation. The release process will also generate documentation at `./docs/`. This will need to be added to the git repository and pushed to the master branch: * `git add docs/` * `git commit -m "Add documentation for "` * `git push origin` -#### Release from Sonatype +##### Release from Sonatype -##### Point of no return +###### Point of no return *** ⚠️ The following steps, once completed are final. They cannot be undone, revoked or altered. Only proceed if you've @@ -89,7 +93,7 @@ completed all the above steps and are absolutely certain the release is ready fo * Locate the artifacts you want to release and click on them * Click Close, then Refresh, then Release -### Contributor Keys +##### Contributor Keys | Name | Organization | Address | Code Signing Key Fingerprint | Key Id | |--------------|------------------------|-----------------------|---|:-:| @@ -98,10 +102,32 @@ completed all the above steps and are absolutely certain the release is ready fo | Nick Ruest | York University | ruestn at yorku.ca | 159493E15691C84D615B7D1B417FAF1A0E1080CD | 0E1080CD | | Seth Shaw | University of Nevada, Las Vegas | seth.shaw at unlv.edu | 2FF65B22AFA7B2A57F054F89D160AA658DAE385F | D160AA658DAE385F | +## JSONLD + +Release the `jsonld` module by creating a new release for it in Github. + +## Release Openseadragon + +Release the `openseadragon` module by creating a new release for it in Github. + ## Release Carapace Release the `carapace` theme by creating a new release for it in Github. +## Release Chullo + +Release chullo by creating a new release for it in Github. + +## Release Crayfish-Commons + +Crayfish commons depends on the `chullo` library, and it must have its dependencies updated before release. + +1. Bump the dependency on `islandora/chullo` from `dev-dev` to the release you just made in the previous step. +2. Commit and push to Github. +3. Release `crayfish-commons` by creating a new release in Github +4. Put the dependency on `islandora/chullo` back to `dev-dev` +5. Commit and push back to Github with a commit message of "Preparing for next development iteration". + ## Release Crayfish Crayfish depends on the `crayfish-commons` library, and must have its dependencies updated before release. @@ -109,6 +135,4 @@ Crayfish depends on the `crayfish-commons` library, and must have its dependenci 1. Bump the dependency on `islandora/crayfish-commons` in each `composer.json` file for each microservice 2. Release the `Crayfish` microservices by creating a new release for them in Github. -## JSONLD -Release the `jsonld` module by creating a new release for it in Github. From 8e0a37a0aad33d6718c57bded3168e2f458676d7 Mon Sep 17 00:00:00 2001 From: dannylamb Date: Wed, 14 Jul 2021 10:32:31 -0300 Subject: [PATCH 07/11] Update releasing-islandora.md --- docs/contributing/releasing-islandora.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md index 72f329da5..f6566ad48 100644 --- a/docs/contributing/releasing-islandora.md +++ b/docs/contributing/releasing-islandora.md @@ -12,7 +12,7 @@ We'll start with the Java stuff because it's the most complicated. ## Releasing Java Code -You need Java 8 on your system to release java code. All the rest is handled by Gradle, which is included in the Git repos. If, for whatever reason, you cannot get Java 8 on your computer, you can try the `openjdk:8` image +You need Java 8 on your system to release java code. All the rest is handled by Gradle, which is included in the Git repos. If you cannot get Java 8, for whatever reason, you can still release Syn using Docker and the `openjdk:8-jdk` image. For Alpaca, however, because we use keys and sign the code, etc... It really requires Java 8 to be on your system. ### Release Syn @@ -21,7 +21,7 @@ To release Syn 1. Drop the `-SNAPSHOT` from `projectVersion` in `build.gradle` 2. Build Syn 1. If you have Java 8, this can be done with `$ ./gradlew build shadowJar` - 2. If you don't have Java 8, you can do this with Docker `$ docker run --rm -v /path/to/Syn:/opt/Syn openjdk:8-jdk-slim bash -lc 'cd /opt/Syn && ./gradlew build shadowJar'` + 2. If you don't have Java 8, you can do this with Docker `$ docker run --rm -v /path/to/Syn:/opt/Syn openjdk:8-jdk bash -lc 'cd /opt/Syn && ./gradlew build shadowJar'` 3. Push this to Github and slice a new version 1. Note that this repository prepends a `v` to the release tag (i.e. use `vX.X.X` instead of just `X.X.X`) 5. Upload both artifacts to the release in Github. These are located in `/path/to/Syn/build/libs`. You want both `islandora-syn-X.X.X.jar` and `islandora-syn-X.X.X-all.jar`. @@ -102,23 +102,27 @@ completed all the above steps and are absolutely certain the release is ready fo | Nick Ruest | York University | ruestn at yorku.ca | 159493E15691C84D615B7D1B417FAF1A0E1080CD | 0E1080CD | | Seth Shaw | University of Nevada, Las Vegas | seth.shaw at unlv.edu | 2FF65B22AFA7B2A57F054F89D160AA658DAE385F | D160AA658DAE385F | -## JSONLD +## Releasing PHP Code + +This is much easier/straightforward compared to the Java code. Most of it is done through Github, and the only thing to be mindful of is how the modules depend on each other. But if you follow these steps, everything will get updated in the correct order. + +### JSONLD Release the `jsonld` module by creating a new release for it in Github. -## Release Openseadragon +### Release Openseadragon Release the `openseadragon` module by creating a new release for it in Github. -## Release Carapace +### Release Carapace Release the `carapace` theme by creating a new release for it in Github. -## Release Chullo +### Release Chullo Release chullo by creating a new release for it in Github. -## Release Crayfish-Commons +### Release Crayfish-Commons Crayfish commons depends on the `chullo` library, and it must have its dependencies updated before release. @@ -128,7 +132,7 @@ Crayfish commons depends on the `chullo` library, and it must have its dependenc 4. Put the dependency on `islandora/chullo` back to `dev-dev` 5. Commit and push back to Github with a commit message of "Preparing for next development iteration". -## Release Crayfish +### Release Crayfish Crayfish depends on the `crayfish-commons` library, and must have its dependencies updated before release. From 051ada981db68a95a2f2ea70dc569c5ea94c0e68 Mon Sep 17 00:00:00 2001 From: dannylamb Date: Wed, 14 Jul 2021 11:24:55 -0300 Subject: [PATCH 08/11] Update releasing-islandora.md --- docs/contributing/releasing-islandora.md | 28 +++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md index f6566ad48..dc7f3c1e8 100644 --- a/docs/contributing/releasing-islandora.md +++ b/docs/contributing/releasing-islandora.md @@ -55,8 +55,13 @@ The following assumes you are using ssh (e.g. git@github.com for authentication) It will also work for https if you properly cache your github credentials. The credentials must be cached and valid because Gradle will not prompt you for them! ##### Release artifacts to Sonatype and Github + +You need to merge the latest code into the master branch and use Gradle to release. You can do this by running + * `git clone git@github.com:Islandora-CLAW/Alpaca.git` * `cd Alpaca` +* `git checkout master` +* `git pull origin dev` * `./gradlew release` The script will start but then will ask you to confirm the version to release as. @@ -104,7 +109,7 @@ completed all the above steps and are absolutely certain the release is ready fo ## Releasing PHP Code -This is much easier/straightforward compared to the Java code. Most of it is done through Github, and the only thing to be mindful of is how the modules depend on each other. But if you follow these steps, everything will get updated in the correct order. +This is much easier/straightforward compared to the Java code. You will need `composer` 2 on your system, but most of it is done through Github. The only thing to be mindful of is how the modules depend on each other. But if you follow these steps, everything will get updated in the correct order. ### JSONLD @@ -124,19 +129,26 @@ Release chullo by creating a new release for it in Github. ### Release Crayfish-Commons -Crayfish commons depends on the `chullo` library, and it must have its dependencies updated before release. +Crayfish commons depends on the `chullo` library, and must have its dependencies updated before release. 1. Bump the dependency on `islandora/chullo` from `dev-dev` to the release you just made in the previous step. -2. Commit and push to Github. -3. Release `crayfish-commons` by creating a new release in Github -4. Put the dependency on `islandora/chullo` back to `dev-dev` -5. Commit and push back to Github with a commit message of "Preparing for next development iteration". +2. `composer update -W` +3. Commit and push the `composer.json` and `composer.lock` files to Github. +4. Release `crayfish-commons` by creating a new release in Github +5. Put the dependency on `islandora/chullo` back to `dev-dev` +6. `composer update -W` again +7. Commit and push the `composer.json` and `composer.lock` files to Github with a commit message of "Preparing for next development iteration". ### Release Crayfish Crayfish depends on the `crayfish-commons` library, and must have its dependencies updated before release. -1. Bump the dependency on `islandora/crayfish-commons` in each `composer.json` file for each microservice -2. Release the `Crayfish` microservices by creating a new release for them in Github. +1. Bump the dependency on `islandora/crayfish-commons` in each `composer.json` for each microservice **except for Houdini**. Houdini needs the `dev-symfony-flex` branch of Crayfish Commons, so just leave that dependency alone for now. +2. Run `composer update -W` on each microservice. I did this with a little bash-fu: `for D in */; do (cd $D; composer update -W) done` +4. Commit and push the `composer.json` and `composer.lock` files to Github. +5. Release the microservices by creating a new release for them in Github. +6. Put the dependencies on `islandora/crayfish-commons` back to `dev-dev` **except for Houdini**. +7. Run `composer update -W` on each microservice again. `for D in */; do (cd $D; composer update -W) done` makes this easy. +8. Commit and push the `composer.json` and `composer.lock` files to Github with a commit message of "Preparing for next development iteration". From 6397a6d2e047aa24ebedeac608d340ab3d83997b Mon Sep 17 00:00:00 2001 From: dannylamb Date: Wed, 14 Jul 2021 11:28:39 -0300 Subject: [PATCH 09/11] Update releasing-islandora.md --- docs/contributing/releasing-islandora.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md index dc7f3c1e8..86c46fbba 100644 --- a/docs/contributing/releasing-islandora.md +++ b/docs/contributing/releasing-islandora.md @@ -123,6 +123,10 @@ Release the `openseadragon` module by creating a new release for it in Github. Release the `carapace` theme by creating a new release for it in Github. +### Release migrate_islandora_csv + +Release the `migrate_islandora_csv` module by creating a new release for it in Github. + ### Release Chullo Release chullo by creating a new release for it in Github. From 81977c9cddcf2dbe628122d767ec76d8cc79eaa2 Mon Sep 17 00:00:00 2001 From: dannylamb Date: Thu, 22 Jul 2021 17:34:12 -0300 Subject: [PATCH 10/11] Update releasing-islandora.md --- docs/contributing/releasing-islandora.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md index 86c46fbba..0bc0030d9 100644 --- a/docs/contributing/releasing-islandora.md +++ b/docs/contributing/releasing-islandora.md @@ -155,4 +155,6 @@ Crayfish depends on the `crayfish-commons` library, and must have its dependenci 7. Run `composer update -W` on each microservice again. `for D in */; do (cd $D; composer update -W) done` makes this easy. 8. Commit and push the `composer.json` and `composer.lock` files to Github with a commit message of "Preparing for next development iteration". +### Release Controlled Access Terms +Release controlled_access_terms by slicing a new release for it in Github. From f9146c5ac61624d940e2700f09d16de048fad5e5 Mon Sep 17 00:00:00 2001 From: dannylamb Date: Thu, 29 Jul 2021 11:10:31 -0300 Subject: [PATCH 11/11] Update releasing-islandora.md --- docs/contributing/releasing-islandora.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/contributing/releasing-islandora.md b/docs/contributing/releasing-islandora.md index 0bc0030d9..a3d522e8c 100644 --- a/docs/contributing/releasing-islandora.md +++ b/docs/contributing/releasing-islandora.md @@ -158,3 +158,27 @@ Crayfish depends on the `crayfish-commons` library, and must have its dependenci ### Release Controlled Access Terms Release controlled_access_terms by slicing a new release for it in Github. + +### Release Islandora + +The `islandora` module depends on the `crayfish-commons` library, and must have its dependencies updated before release. + +1. Bump the dependency on `islandora/crayfish-commons` in `composer.json`. +2. Run `composer update -W` +4. Commit and push the `composer.json` and `composer.lock` files to Github. +5. Release the module by creating a new release for them in Github. +6. Put the dependencies on `islandora/crayfish-commons` back to `dev-dev` +7. Run `composer update -W` again. +8. Commit and push the `composer.json` and `composer.lock` files to Github with a commit message of "Preparing for next development iteration". + +Release Islandora Defaults + +The `islandora` module depends on `islandora`, `controlled_access_terms`, and `openseadragon`, and must have its dependencies updated before release. + +1. Bump the dependency for those modules in `composer.json`. +2. Run `composer update -W` +4. Commit and push the `composer.json` and `composer.lock` files to Github. +5. Release the module by creating a new release for them in Github. +6. Put the dependencies back to `dev-8.x-1.x` +7. Run `composer update -W` again. +8. Commit and push the `composer.json` and `composer.lock` files to Github with a commit message of "Preparing for next development iteration".