protegeproject / protege

Protege Desktop
http://protege.stanford.edu
Other
969 stars 229 forks source link

Prepare 5.6.4 release #1203

Closed gouttegd closed 1 month ago

gouttegd commented 1 month ago

This PR

ykazakov commented 1 month ago

Would it be also possible to publish the new version on maven central? The latest published version there is 5.5.0.

gouttegd commented 1 month ago

@ykazakov Not possible for me, unfortunately. I only have privileges to make GitHub releases and updating the download links on Protégé’s website. I cannot push artefacts to Maven Central. :(

ykazakov commented 1 month ago

@matthewhorridge have you been publishing Protege artifacts to Maven Central?

ykazakov commented 1 month ago

I just checked: it looks like @matthewhorridge was signing the artifatcts.

% gpg --search-keys 53C1E4660BFDA444
gpg: data source: https://185.125.188.26:443
(1) Matthew Horridge <matthew.horridge@stanford.edu>
      2048 bit RSA key 53C1E4660BFDA444, created: 2014-12-21
Keys 1-1 of 1 for "53C1E4660BFDA444".
matthewhorridge commented 1 month ago

If @gouttegd could add this GitHub workflow, it will publish to central,

name: Publish package to the Maven Central Repository
on:
  release:
    types: [released]

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up Maven Central Repository
        uses: actions/setup-java@v3
        with:
          java-version: '17'
          distribution: 'adopt'
          server-id: ossrh
          server-username: OSSRH_USERNAME
          server-password: OSSRH_TOKEN
          gpg-private-key: ${{secrets.GPG_PRIVATE_KEY}}
          gpg-passphrase: GPG_PASSPHRASE
      - name: Publish package
        run: mvn --batch-mode -Prelease deploy
env:
  GPG_PASSPHRASE: ${{secrets.GPG_PASSPHRASE}}
  OSSRH_USERNAME: ${{secrets.OSSRH_USERNAME}}
  OSSRH_TOKEN: ${{secrets.OSSRH_TOKEN}}
gouttegd commented 1 month ago

@matthewhorridge Excellent, will do that in time for the upcoming 5.6.4, thanks!

matthewhorridge commented 1 month ago

Sure!

This one might actually be a bit better. It ensures the version is set to match the GitHub release tag name (assuming a properly formed major.minor.patch tag name here).

name: Publish package to the Maven Central Repository
on:
  release:
    types: [released]

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up Maven Central Repository
        uses: actions/setup-java@v3
        with:
          java-version: '17'
          distribution: 'adopt'
          server-id: ossrh
          server-username: OSSRH_USERNAME
          server-password: OSSRH_TOKEN
          gpg-private-key: ${{secrets.GPG_PRIVATE_KEY}}
          gpg-passphrase: GPG_PASSPHRASE
      - if: github.event.release
        name: Update version in pom.xml (Release only)
        run: mvn -B versions:set -DnewVersion=${{ github.event.release.tag_name }} -DgenerateBackupPoms=false
      - name: Publish package
        run: mvn --batch-mode -Prelease deploy
env:
  GPG_PASSPHRASE: ${{secrets.GPG_PASSPHRASE}}
  OSSRH_USERNAME: ${{secrets.OSSRH_USERNAME}}
  OSSRH_TOKEN: ${{secrets.OSSRH_TOKEN}}
gouttegd commented 1 month ago

I just did a test on the branch for the future 5.6.4 release (with a 5.6.4-beta3 version number), and it worked as expected.

All future releases will be published on Maven Central, as they were before the 5.6.x branch.