📖
Eclipse PASS Documentation
PASS Documentation - DEV
PASS Documentation - DEV
  • Welcome to the Public Access Submission System (PASS) Documentation
  • PASS Welcome Guide
    • Research Submission Overview
    • PASS at JHU
    • PASS Demonstrations at Conferences
    • Technology Stack
    • PASS Architecture
    • Latest Release
    • Setup and Run PASS Locally
    • Collaboration with Other Institutions
    • Contributing to PASS
  • Community
    • Developer Guidelines
    • PASS Roadmap
    • Release Notes
  • Developer Documentation
    • Use Cases
    • PASS Core
      • Authentication & Authorization
      • API
        • DOI API
        • File API
        • Policy API
        • User API
      • Model
        • Deposit
        • File
        • Funder
        • Grant
        • Journal
        • Policy
        • Publication
        • Repository
        • RepositoryCopy
        • Submission
        • SubmissionEvent
        • User
    • PASS UI
    • Data Loaders
      • Grant Loader
      • Journal Loader
      • NIHMS Loader
    • Deposit Services
      • Knowledge Needed / Skills Inventory
      • Technologies Utilized
      • Model
      • Statuses
      • Business Logic
      • Assemblers
      • Configuration
      • Next Steps / Institution Configuration
    • Notification Services
      • Knowledge Needed / Skills Inventory
      • Technologies Utilized
      • Model
      • Business Logic
      • Template
      • Dispatch
      • Configuration
      • Next Steps / Institution Configuration
    • PASS Acceptance Testing
    • PASS Docker
      • Testing InvenioRDM
    • Release
      • Release Projects One At a Time
      • Manual Release
  • PASS Infrastructure
    • CI/CD
    • Code Quality Analysis
      • Code Coverage
    • Deployment
      • GitHub CI/CD
    • Operations/Production
      • Knowledge Needed / Skills Inventory
      • Technologies Utilized
      • PASS Design & AWS Architecture
      • AWS Cost Estimates
      • PASS Versioning
      • How to Deploy
      • Monitoring
      • Data Loaders
      • Data & Backups
      • Eclipse Operations
      • Next Steps / Institution Configuration
Powered by GitBook
On this page
  • Release Steps
  • Triggering the Release All GitHub workflow
  • GitHub Personal Access Token Setup
  • Alternate Release Procedures
  1. Developer Documentation

Release

PreviousTesting InvenioRDMNextRelease Projects One At a Time

Last updated 2 days ago

This section outlines the overall process and steps to perform the community release of PASS.

A PASS release produces a set of Java artifacts, Docker images, and Documentation. Java artifacts are published on Sonatype Central Portal and Maven Central repositories. Docker images are pushed to . Source code is tagged and release notes made available.

Each release of PASS has its own version which is used by every component. PASS uses MAJOR.MINOR.PATCH approach. The version should be chosen based on those guidelines.

Release Steps

  • Assign a Release Manager, the person who will be responsible for the release process. The Release Manager must be a .

  • Choose a release version that communicates the magnitude of the change.

  • Create a GitHub issue in the main repository using the Release Checklist Issue template from the .

  • Follow the steps in the created Release GitHub issue to complete the release.

    • See for running the Publish: Release All GitHub Action workflow.

Triggering the Release All GitHub workflow

  • Before running the Publish: Release All workflow, the is required.

  • Navigate to

  • Click on the Run workflow dropdown button

  • Confirm the branch is main and enter the versions in the Release version and Next dev version fields

    • Release version: full release version, e.g. 1.10.0. These versions should be regarded as immutable. These releases for Java projects cannot be updated or deleted.

    • Next dev version: snapshot or development versions, e.g. 1.11.0-SNAPSHOT (please use all capital letters for the SNAPSHOT suffix). These development versions are intended to be overwritten.

  • Click the Run workflow button

  • After a few seconds, a new workflow run should appear in the table with a yellow (in-progress) status dot. Clicking on that will allow you to monitor the run's progress by watching logs.

It is recommended that you monitor the automation after triggering it to make sure it completes successfully.

GitHub Personal Access Token Setup

The Publish: Release All GitHub workflows depend on the JAVA_RELEASE_PAT secret having permission to access all the eclipse-pass repositories and write packages. You have to create a new classic Personal Access Token (PAT) to do the release (GitHub/Settings/Developer Settings/Personal access tokens/Tokens (classic)). If you do so, set the expiration to 7 days, check the repo and the write:packages scope (subscopes under repo and write:packages will be selected too).

gh auth login
gh secret set JAVA_RELEASE_PAT --body <PAT_VALUE> --repo eclipse-pass/main

Alternate Release Procedures

How to set the secret in the main repository using the gh command line tool :

The GitHub Action workflow is the preferred way to complete the PASS release. However, it is possible to execute a PASS release with project automations one at a time or manually if needed. This is not recommended unless absolutely necessary since executing the release manually introduces the chance of making mistakes.

GitHub CLI
Publish: Release All
Release Projects One At a Time
Manual Release
GitHub Container Registry (GHCR)
semantic versioning
PASS committer
main repository create new issue page
Publish: Release All
these instructions
GitHub PAT configuration
Running Release All Workflow
Running Release All Workflow