Versions Compared

Key

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

...

Git Branching and Release (fioprotocol.io)

<template> <Template> [Release n.n] Release Management Checklist

...

  1. Review the Master Release Plan at Master Release Plan and identify the current MainNet release branches. For example, the 3.3.0 Release has the following repos/branches:

    1. fio - release/3.3.x-dev

    2. fio.contracts - release/2.7.x

    3. fio.test - release/2.7.x_3.3.x

    4. fio.devtools - release/2.7.x_3.3.x

    5. fiosdk_typescript - release/1.6.x

  2. On the server, create clone and build a develop version of fio core and the contracts

    1. Clone the FIO Core branches and checkout each repo to the develop branch.

      1. fio - develop

      2. fio.contracts - develop

      3. fio.devtools - develop

    2. Build and install FIO

      1. cd fio/scripts

      2. Execute ./fio_build.sh

      3. Execute ./fio_install.sh

    3. Build the contracts

      1. cd fio.contracts

      2. Execute ./start.sh <FIO Version>

        1. Local Startup (1)

        2. Update/Build Contracts (2)

    4. Copy this version of the fio.contracts to fio.contracts-develop<branch name>

  3. On the server, update the repos cloned above to test the functionality that will be in the release. For example to

    1. To build, deploy and test the FIP-41, FIP-17a, FIP-1 release, the FIO core repos were checked out as follows:

      1. fio.contracts - release/2.7.x

      2. fio.devtools - release/2.7.x_3.3.x

    2. Build the contracts

      1. cd fio.contracts

    To test the individual FIP branches, identify those branches
      1. Execute ./start.sh <FIO Version> and specify the following responses to the runtime options

        1. Local Startup (1)

        2. Update/Build Contracts (2)

    1. Start the Local Chain

      1. Execute ./start.sh <FIO Version> and specify the following responses to the runtime options

        1. Local Startup (1)

        2. Local Blockchain (1)

  4. On the server, execute the Release Script commands pointing to the target contracts release, i.e. develop

  5. On the client, clone, and checkout the repo, fio.test. to develop

    1. fio.test - develop

  6. Update the fio.test config.js to point to the server

    1. cd fio.test

    2. vi config.js

    3. Edit the test url to point to the server configured and running above

      1. const TESTURL = 'http://<server ip>.8:8889'

      2. This should be the only ‘active’ TESTURL

    4. Execute the command ‘npm test’

      1. Edit the index.js to run a custom set of tests

    5. Document the results

  7. To test against and individual FIP branche, identify the branch(es) via the developer, the FIO github project or via the project development spec (reference Release Content above) and checkout the modified branches. For example, to test the FIP-41 updates, fio.contracts, fio.devtools repos were updated. Checkout the branches as follows:

    1. fio.contracts - feature/FIP-41-develop-03012022

    2. fio.devtools - feature/FIP-41-develop-03012022