Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document release process #10

Open
StefMa opened this issue Aug 7, 2024 · 2 comments
Open

Document release process #10

StefMa opened this issue Aug 7, 2024 · 2 comments

Comments

@StefMa
Copy link
Collaborator

StefMa commented Aug 7, 2024

Document

  • How to create a proper release (create a tag, publish it, create a github release)
  • How a snapshot release is done and how to integrate it in your project
  • ...?
@StefMa
Copy link
Collaborator Author

StefMa commented Oct 7, 2024

Also document how to publish to maven local for (PR) testing...

@StefMa
Copy link
Collaborator Author

StefMa commented Oct 30, 2024

This is what I wrote so far:

## 📦 How to Release 

### 1. Check out the `main` Branch

   - Make sure you're on the `main` branch and have the latest changes:

     ```bash
     git checkout main
     git pull origin main
     ```

### 2. Update the Version in `library/build.gradle.kts`

   - Remove `-SNAPSHOT` from the version in `library/build.gradle.kts`.

   - Commit this change:

     ```bash
     git commit -m "Prepare next release" .
     ```

### 3. Create a Git Tag and Push It

   - Tag the release version and push it:

     ```bash
     git tag x.y.z
     git push origin x.y.z
     ```

### 4. Trigger the Release Action

   - This will kick off a GitHub action (`release.yml`) to release your library to a [Sonatype](https://s01.oss.sonatype.org/) staging repository. 📤

### 5. Sign in to Sonatype and Close the Staged Repo

   - Head to [Sonatype](https://s01.oss.sonatype.org/) and sign in (credentials are in the Bitwarden Open Source Collection).
   - Search for the staged repo, click **Close**.
   - Once it's successfully **Closed**, click **Release** and check "Drop after release".

### 6. Create a Release on GitHub

   - After step 4 is complete, head to the GitHub release page and create a new release. 🎉

### 7. Bump the Version for Development

   - Increment the **minor** version in `library/build.gradle.kts` and add `-SNAPSHOT` to mark it as a development version.

   - Commit this change:

     ```bash
     git commit -m "Next development version" .
     ```

### 8. Push and Celebrate! 🎉💃

   - Push your changes and take a moment to celebrate a job well done!
As Markdown:

📦 How to Release

1. Check out the main Branch

  • Make sure you're on the main branch and have the latest changes:

    git checkout main
    git pull origin main

2. Update the Version in library/build.gradle.kts

  • Remove -SNAPSHOT from the version in library/build.gradle.kts.

  • Commit this change:

    git commit -m "Prepare next release" .

3. Create a Git Tag and Push It

  • Tag the release version and push it:

    git tag x.y.z
    git push origin x.y.z

4. Trigger the Release Action

  • This will kick off a GitHub action (release.yml) to release your library to a Sonatype staging repository. 📤

5. Sign in to Sonatype and Close the Staged Repo

  • Head to Sonatype and sign in (credentials are in the Bitwarden Open Source Collection).
  • Search for the staged repo, click Close.
  • Once it's successfully Closed, click Release and check "Drop after release".

6. Create a Release on GitHub

  • After step 4 is complete, head to the GitHub release page and create a new release. 🎉

7. Bump the Version for Development

  • Increment the minor version in library/build.gradle.kts and add -SNAPSHOT to mark it as a development version.

  • Commit this change:

    git commit -m "Next development version" .

8. Push and Celebrate! 🎉💃

  • Push your changes and take a moment to celebrate a job well done!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant