diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000000..2291906f4494 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,54 @@ +name: Release + +on: + push: + tags: + - v* + +jobs: + build: + name: Build + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + file: forest-${{ github.ref_name }}-linux-amd64.zip + - os: macos-latest + file: forest-${{ github.ref_name }}-macos-amd64.zip + steps: + - name: Checkout Sources + uses: actions/checkout@v2 + - name: Install Toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + - name: Rust Cache + uses: Swatinem/rust-cache@v1.3.0 + - name: Homebrew Utils + run: | + brew install --verbose coreutils + if: startsWith(matrix.os, 'macOS') + - name: Cargo Build + uses: actions-rs/cargo@v1 + with: + command: build + args: --release --bin forest --features release + - name: Compress Binary + run: | + mkdir -p forest-${{ github.ref_name }} + cp -v target/release/forest forest-${{ github.ref_name }} + cp -rv CHANGELOG.md LICENSE-APACHE LICENSE-MIT README.md docs forest-${{ github.ref_name }} + strip forest-${{ github.ref_name }}/forest + sha256sum forest-${{ github.ref_name }}/forest > forest-${{ github.ref_name }}/forest.sha256 + zip -r ${{ matrix.file }} forest-${{ github.ref_name }} + - name: Upload Binary + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ github.token }} + file: ${{ matrix.file }} + asset_name: ${{ matrix.file }} + tag: ${{ github.ref_name }} + overwrite: true + prerelease: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 7daf489c23b8..b1095f97d357 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,79 @@ +## Forest v0.2.0 _alpha_ (2022-01-25) +ChainSafe System's second _alpha_ release of the _Forest_ Filecoin Rust protocol implementation. This release fixes a series of bugs and performance issues and introduces, among others, support for: +* Full mainnet compatibility +* Filecoin network version 14 "Chocolate" +* Forest actors version 6 +* Further audit fixes + +To compile release binaries, checkout the `v0.2.0` tag and build with the `release` feature. +```shell +git checkout v0.2.0 +cargo build --release --bin forest --features release +./target/release/forest --help +``` + +All changes: +* Release forest v0.2.0 alpha ([#1393](https://github.com/ChainSafe/forest/pull/1393) +* C1 actors review ([#1368](https://github.com/ChainSafe/forest/pull/1368)) +* Fix encoding size constraints for BigInt and BigUint not enforced ([#1367](https://github.com/ChainSafe/forest/pull/1367)) +* Fix typo when running conformance tests. ([#1394](https://github.com/ChainSafe/forest/pull/1394)) +* Auto-detect available cores on Linux and MacOS. ([#1387](https://github.com/ChainSafe/forest/pull/1387) +* Remove unused lint exceptions. ([#1385](https://github.com/ChainSafe/forest/pull/1385) +* B4 fix: fixing by adding max index computation in bitfield validation ([#1344](https://github.com/ChainSafe/forest/pull/1344)) +* Ci: run github actions on buildjet ([#1366](https://github.com/ChainSafe/forest/pull/1366)) +* Ci: documentation dry-run for PRs. ([#1383](https://github.com/ChainSafe/forest/pull/1383)) +* Use pre-made action to deploy documentation to gh-pages. ([#1380](https://github.com/ChainSafe/forest/pull/1380)) +* Networks: Show an informative error message if the selected feature set is invalid. ([#1373](https://github.com/ChainSafe/forest/pull/1373)) +* Disable test 'test_optimal_message_selection3' because it is inconsistent. ([#1381](https://github.com/ChainSafe/forest/pull/1381)) +* Add David to repo maintainers ([#1374](https://github.com/ChainSafe/forest/pull/1374)) +* Apply lints from rust-1.58 ([#1378](https://github.com/ChainSafe/forest/pull/1378)) +* Catch panic in verify_window_post ([#1365](https://github.com/ChainSafe/forest/pull/1365)) +* Make 'base64' dependency for key_management no longer optional ([#1372](https://github.com/ChainSafe/forest/pull/1372)) +* Fix snapshot get in docs ([#1353](https://github.com/ChainSafe/forest/pull/1353)) +* Fix market logic ([#1356](https://github.com/ChainSafe/forest/pull/1356)) +* V6: fix market and power actors to match go ([#1348](https://github.com/ChainSafe/forest/pull/1348)) +* F28 fix ([#1343](https://github.com/ChainSafe/forest/pull/1343)) +* Fix: F25 ([#1342](https://github.com/ChainSafe/forest/pull/1342)) +* Ci: --ignore RUSTSEC-2021-0130 ([#1350](https://github.com/ChainSafe/forest/pull/1350)) +* Drand v14 update: fix fetching around null tipsets ([#1339](https://github.com/ChainSafe/forest/pull/1339)) +* Fix v6 market actor bug ([#1341](https://github.com/ChainSafe/forest/pull/1341)) +* F27 fix ([#1328](https://github.com/ChainSafe/forest/pull/1328)) +* F17 fix ([#1324](https://github.com/ChainSafe/forest/pull/1324)) +* Laudiacay/actors review f23 ([#1325](https://github.com/ChainSafe/forest/pull/1325)) +* Fix market actor publish_storage_deals ([#1327](https://github.com/ChainSafe/forest/pull/1327)) +* Remove .swp ([#1326](https://github.com/ChainSafe/forest/pull/1326)) +* F24 fix ([#1323](https://github.com/ChainSafe/forest/pull/1323)) +* F9 fix ([#1315](https://github.com/ChainSafe/forest/pull/1315)) +* F20: Fix expiration set validation order ([#1322](https://github.com/ChainSafe/forest/pull/1322)) +* F13 fix ([#1313](https://github.com/ChainSafe/forest/pull/1313)) +* F21 fix ([#1311](https://github.com/ChainSafe/forest/pull/1311)) +* F11 fix ([#1312](https://github.com/ChainSafe/forest/pull/1312)) +* F15 fix ([#1314](https://github.com/ChainSafe/forest/pull/1314)) +* F18, F19 fix ([#1321](https://github.com/ChainSafe/forest/pull/1321)) +* Nv14: implement v6 actors ([#1260](https://github.com/ChainSafe/forest/pull/1260)) +* Add to troubleshooting docs ([#1282](https://github.com/ChainSafe/forest/pull/1282)) +* F12 fix ([#1290](https://github.com/ChainSafe/forest/pull/1290)) +* F1 fix ([#1293](https://github.com/ChainSafe/forest/pull/1293)) +* F16: Fix improper use of assert macro ([#1310](https://github.com/ChainSafe/forest/pull/1310)) +* F14: Fix missing continue statement ([#1309](https://github.com/ChainSafe/forest/pull/1309)) +* F10 fix ([#1308](https://github.com/ChainSafe/forest/pull/1308)) +* F7: Fix incorrect error codes ([#1297](https://github.com/ChainSafe/forest/pull/1297)) +* F8: Add missing decrement for miner_count ([#1298](https://github.com/ChainSafe/forest/pull/1298)) +* F6: Fix incorrect error code ([#1296](https://github.com/ChainSafe/forest/pull/1296)) +* F5: Fix proposal check in market actor ([#1295](https://github.com/ChainSafe/forest/pull/1295)) +* Remove redundant validation code and update error message to be same as in spec actors ([#1294](https://github.com/ChainSafe/forest/pull/1294)) +* F3: fix logic to be the same as in the spec actors ([#1292](https://github.com/ChainSafe/forest/pull/1292)) +* Attempt to improve gh actions time ([#1319](https://github.com/ChainSafe/forest/pull/1319)) +* Fix clippy errors for the new cargo 1.57.0 ([#1316](https://github.com/ChainSafe/forest/pull/1316)) +* Ci: add gh actions workflows ([#1317](https://github.com/ChainSafe/forest/pull/1317)) +* Fix: audit issue F2 ([#1289](https://github.com/ChainSafe/forest/pull/1289)) +* Update codeowners ([#1306](https://github.com/ChainSafe/forest/pull/1306)) +* Add Guillaume to code owners ([#1283](https://github.com/ChainSafe/forest/pull/1283)) +* .circleci: Remove extra step for docs ([#1251](https://github.com/ChainSafe/forest/pull/1251)) +* .circleci: Build and push mdbook ([#1250](https://github.com/ChainSafe/forest/pull/1250)) +* Add MdBook Documentation ([#1249](https://github.com/ChainSafe/forest/pull/1249)) +* Docs: add release notes ([#1246](https://github.com/ChainSafe/forest/pull/1246)) + ## Forest v0.1.0 _alpha_ (2021-10-19) ChainSafe System's first _alpha_ release of the _Forest_ Filecoin Rust protocol implementation. * It synchronizes and verifies the latest Filecoin main network and is able to query the latest state. diff --git a/Cargo.lock b/Cargo.lock index d18d2e0cf59a..e866fdfb2804 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2072,7 +2072,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "forest" -version = "0.1.0" +version = "0.2.0" dependencies = [ "actor_interface", "async-log", diff --git a/forest/Cargo.toml b/forest/Cargo.toml index 6711f76bbf1b..e16ef70d4aa3 100644 --- a/forest/Cargo.toml +++ b/forest/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "forest" -version = "0.1.0" +version = "0.2.0" authors = ["ChainSafe Systems "] description = "Filecoin implementation in Rust. This command will start the daemon process." edition = "2018"