Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Move the release candidate files to the release directory. (This prompts for your apache account password. It may prompt you about plaintext password storage. If so, it works even if you answer "no".)

    For Daffodil:

    Code Block
    languagebash
    $ svn mv -m "Release Apache Daffodil 2.0.0" \
        https://dist.apache.org/repos/dist/dev/daffodil/2.0.0-rc1/ \
        https://dist.apache.org/repos/dist/release/daffodil/2.0.0/

    For Daffodil VS Code Extension:

    Code Block
    $ svn mv -m "Release Apache Daffodil VSCode Extension 2.0.0" \
        https://dist.apache.org/repos/dist/dev/daffodil/daffodil-vscode/2.0.0-rc1/ \
        https://dist.apache.org/repos/dist/release/daffodil/daffodil-vscode/2.0.0/


  2. Make a new clean clone (for good measure) and create a signed git tag based on the release candidate tag. You need your KEYID (See step 3b above) for your Apache signing key, and you will be prompted for the pass-phrase for your Apache signing key.

    (info) Make sure to use daffodil-vscode.git when releasing Daffodil VS Code Extension.

    Code Block
    languagebash
    $ cd /tmp
    $ git clone git@github.com:apache/daffodil.git daffodil-2.0.0-rc1
    $ cd daffodil-2.0.0-rc1
    $ git tag -as -u KEYID -m "Release v2.0.0" v2.0.0 v2.0.0-rc1^{}
    $ git push origin v2.0.0

    You can delete the /tmp clone directory at this point.
     

  3. For Daffodil only, "Release" the staged files at https://repository.apache.org - log into that URL with id.apache.org credentials, check the box for the Daffodil staging repository, and click "Release" at the top.
     
  4. For Daffodil only, deploy the RPM to the Apache Artifactory repository:
     
    1. Download the RPM convenience binary for this release (from https://dist.apache.org/repos/dist/release/daffodil/2.0.0/)
       
    2. Visit https://apache.jfrog.io/ and login using Apache credentials
       
    3. Click "Artifacts"
       
    4. Click "daffodil-rpm"
       
    5. Click "Deploy"
       
    6. Click "select file" and select the previously downloaded RPM
       
    7. Click "Deploy"
        
  5. For Daffodil only, update JIRA's Releases page to mark the version as released (need to be a PMC member - ask a PMC member if you are not one).
      
  6. Wait approximately 24 hours for the release files to sync to mirrors and Maven Central (for Daffodil only). To verify, check here
      

    1. https://search.maven.org/ (ensure you can see daffodil libraries with versions matching all supported Scala versions; select one and verify the release versions exist in at least the sbt version)
        

    2. https://www.apache.org/dyn/closer.lua/daffodil/2.0.0 (change 2.0.0 to the new version, pick a mirror, and ensure the files exist)
       

  7. For Daffodil only, once the mirrors have synced, make the following changes to the daffodil site repository and publish them:

      

    1. Modify the release page to have the following parameters:

      Code Block
      release: final
      date: <date of release>
      


    2. Modify the site/doap.rdf file to include the release date and version, for example:

      Code Block
      languagexml
      <release>
          <Version>
              <name>Apache Daffodil</name>
              <created>2018-02-18</created>
              <revision>2.0.0</revision>
          </Version>
      </release>


    3. Update the symlink to the latest Javadoc and Scaladoc docs in the site/docs directory (note that there is no forward slash at the end of latest).

      Code Block
      languagebash
      $ cd site/docs/
      $ ln -sfn 2.0.0 latest


    4. Follow the steps in the daffodil-site README to test and publish the new release page.
        
  8. Visit https://reporter.apache.org/addrelease.html?daffodil (must be a PMC) and add the release version and date. For Daffodil VS Code Extenion, prepend "VSCODE-" to the version.
     
  9. Now that the download URLS of the previous release point to the archive, remove that release from Apache dist to free up space on mirrors:

    For Daffodil:

    Code Block
    $ svn delete -m "Archive Apache Daffodil 1.0.0" \
        https://dist.apache.org/repos/dist/release/daffodil/1.0.0/

     
    For Daffodil VS Code Extension:

    Code Block
    $ svn delete -m "Archive Apache Daffodil VS Code Extension 1.0.0" \
        https://dist.apache.org/repos/dist/release/daffodil/daffodil-vscode/1.0.0/


...