Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Refine instructions for final release steps.

...

  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".)

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

      

  2. In the Daffodil git repositoryMake a new clean clone (for good measure), 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.

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

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

  3. Release the published Nexus files by visiting https://repository.apache.org, log in, find the release in "Staging Repositories" and selecting "Release".

  4. Give approximately 24 hours for the release files to sync to mirrors and Maven Central. To verify, check here

    1. https://search.maven.org/ (ensure you can see both versions; select one and verify the release versions exist in at least the sbt version)

    2. https://www.apache.org/dyn/closer.lua/incubator/daffodil/2.6.0 (pick a mirror and ensure the files exist)
       

  5.  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
      released: true
      date: <date of release>
      artifact-root: "https://www.apache.org/dyn/closer.lua/incubator/daffodil/2.0.0/"
      checksum-root: "https://downloads.apache.org/incubator/daffodil/2.0.0/"


    2. Modify the release page of the previous release to use archived root URLs, for example:

      Code Block
      artifact-root: "https://archive.apache.org/dist/incubator/daffodil/1.0.0/"
      checksum-root: "https://archive.apache.org/dist/incubator/daffodil/1.0.0/"


    3. 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>


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

      Code Block
      languagebash
      $ ln -sfn 2.0.0 latest


    5. Follow the steps in the README in that repository to test and publish the new release page.
  6. 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:

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

      

  7. Update the JIRA versions to mark the version as released (need to be PPMC).

Announce the release

  1. Send an announcement email from your apache.org email address to announce@apache.org, dev@daffodil.apache.org, and users@daffodil.apache.org, (note: send three separate emails instead of one email with multiple TO/CC's), with the following template:

    Info

    To send to announce@apache.org, your email app needs to be configured. Settings can be found on Apache's Committer Email page. For Gmail, you can request to "Send Email as" and with Thunderbird, you can add a new Outgoing SMTP Server and create a new Identity (Manage Identities) to send from the relay.



  2. Code Block
    languagetext
    Subject: [ANNOUNCE] Apache Daffodil (incubating) 2.0.0 Released
     
    The Apache Daffodil (incubating) community is pleased to announce the
    release of version 2.0.0.
    
    Notable changes in this release include <short summary of changes>.
    
    Detailed release notes and downloads are available at:
    
    https://daffodil.apache.org/releases/2.0.0/
    
    Daffodil is an open source implementation of the Data Format
    Description Language (DFDL) specification that uses DFDL schemas to
    parse fixed format data into an infoset, which is most commonly
    represented as either XML or JSON. This allows the use of
    well-established XML or JSON technologies and libraries to consume,
    inspect, and manipulate fixed format data in existing solutions.
    Daffodil is also capable of the reverse by serializing or "unparsing"
    an XML or JSON infoset back to the original data format.
    
    For more information about Daffodil visit:
    
    https://daffodil.apache.org/
    
    Regards,
    The Apache Daffodil Team
    
    
    
    =====
    
    *Disclaimer*
    
    Apache Daffodil is an effort undergoing incubation at The Apache
    Software Foundation (ASF), sponsored by the Apache Incubator PMC.
    Incubation is required of all newly accepted projects until a further
    review indicates that the infrastructure, communications, and decision
    making process have stabilized in a manner consistent with other
    successful ASF projects. While incubation status is not necessarily a
    reflection of the completeness or stability of the code, it does
    indicate that the project has yet to be fully endorsed by the ASF.


  3. The same or a similar announcement can also be posted to the DFDL Workgroup News page here: https://redmine.ogf.org/projects/dfdl-wg/news  (Done by a PPMC member, like Mike B).
      
  4. Send a tweet from the @ApacheDaffodil twitter account, mentioning the release version, highlights of changes, and a link to the release page. You will need to be invited/accept, via tweedeck,  permission to tweet from the account. At which point you may compose the below style of message from Tweetdeck.

    Code Block
    The @ApacheDaffodil team is excited to announce the release of version 2.4.0! Notable changes include <summary of changes>. Full details and downloads at https://daffodil.apache.org/releases/2.4.0/


  5. Various published DFDL schemas and examples will, most-likely, want to be updated so that they automatically reference the latest release of Daffodil from their master branch. Use (Owl/Tresys people can use the utils/set-daffodil-version in the Gitea dfdl-schemas module which has subprojects for every DFDL schema project we know about, public or private.)