Skip to content

Commit

Permalink
Merge branch 'tomas/remove-abci-integration' into eth-bridge-integration
Browse files Browse the repository at this point in the history
* tomas/remove-abci-integration:
  cli: update binary names dispatch for namada
  update the changelog config to namada repo
  [ci] wasm checksums update
  ledger: debug log some ABCI++ requests
  ledger: make prepare_proposal and process_proposal stateless
  ledger: refactor tx_queue
  scripts/get_tendermint: update for ABCI++ temp fork release
  test/e2e/ledger: enable ignored tests for ABCI++ workaround
  shell: process transaction when `ProcessProposal` hasn't (non-validator)
  make: remove "*-abci-plus-plus"
  all: remove "ABCI" conditional compilation
  deps: remove ABCI dependencies, use ABCI++ as default
  changelog: add #247
  test/e2e: update assert_success/failure to first consume output
  [ci] improve e2e log upload to add validator logs
  ci: sync dockerfile for wasm builds, build in container
  [ci] docker use rust:1.61.0
  update wasm checksums
  [ci] run specific step in docker container
  [ci] change tendermint version
  ci: allow ci to read docker images
  ci: correct tendermint settings for e2e tests
  ci: use anoma-owned docker images
  ci: improve python style of scripts
  scripts: revert change to package `git describe`
  ci: move to github actions
  build: rename package to 'namada'
  docker: upgrade wasm-opt 101 -> 109
  docker: rename anoma -> namada
  Remove old proof-of-stake file
  Improving governance specs
  [docs]: Cleanup spex suggestions
  [docs]: My review of the specs
  Replace anoma with namada
  Misc fixes
  Rename to specs/
  specs: update TS
  fix link after renaming
  rename folder spec to specs
  Added the conversion query specifications.
  Remove nix CI script
  Remove nix docs from README
  Added information on Convert note encodings.
  Started adding detail on convert descriptions.
  Added specs for pinned transactions.
  Moved MASP client documentation from the specs folder.
  fix: katex rendering code blocks bug when using '$'
  [docs]: My review of the specs
  Add pages for default account, fungible token, multisignature VPs
  Move files around
  Minor edits
  Description of shielded pool rewards
  Pull back in PGF changes
  Update fee system
  Alter base-ledger/execution
  Fix links so rendering works
  Avoid using h1, too big
  Update Makefile & book.toml
  Remove duplicate images
  Summarize economics section
  Update summaries & a bit of cleanup
  Changes to base ledger section
  Add PGF proposal; various tweaks
  Port latest specs from anoma/specs
  Update index.md
  Reorganise specs
  Alter index; port MASP; rename a few files
  Initial port of specs
  changelog: add #1142
  switch from a fork to expectrl v0.5.2

# Conflicts:
#	Cargo.lock
#	Makefile
#	apps/Cargo.toml
#	apps/src/lib/node/ledger/mod.rs
#	apps/src/lib/node/ledger/shell/finalize_block.rs
#	apps/src/lib/node/ledger/shell/mod.rs
#	apps/src/lib/node/ledger/shell/prepare_proposal.rs
#	apps/src/lib/node/ledger/shell/process_proposal.rs
#	apps/src/lib/node/ledger/shims/abcipp_shim.rs
#	documentation/specs/src/economics/inflation-system.md
#	shared/Cargo.toml
#	tests/Cargo.toml
#	tests/src/e2e/ledger_tests.rs
#	wasm/checksums.json
#	wasm/tx_template/Cargo.lock
#	wasm/tx_template/Cargo.toml
#	wasm/vp_template/Cargo.lock
#	wasm/vp_template/Cargo.toml
#	wasm/wasm_source/Cargo.lock
#	wasm/wasm_source/Cargo.toml
#	wasm_for_tests/wasm_source/Cargo.lock
  • Loading branch information
james-chf committed Aug 11, 2022
2 parents 67d9d43 + 8090d99 commit d9b2d84
Show file tree
Hide file tree
Showing 81 changed files with 2,152 additions and 2,256 deletions.
2 changes: 1 addition & 1 deletion .changelog/config.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
project_url = 'https://github.com/anoma/anoma'
project_url = 'https://github.com/anoma/namada'

# Settings related to components/sub-modules. Only relevant if you make use of
# components/sub-modules.
Expand Down
2 changes: 2 additions & 0 deletions .changelog/unreleased/ci/222-new-ci.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- New CI using Github Actions
([#222](https://github.com/anoma/namada/pull/222))
3 changes: 3 additions & 0 deletions .changelog/unreleased/improvements/1202-expectrl-logging.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- Better logging for end-to-end tests, and logs are
stored to disk in the test's temporary working directory
([#1202](https://github.com/anoma/anoma/pull/1202))
3 changes: 3 additions & 0 deletions .changelog/unreleased/improvements/1239-hide-tm-log.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- Hidden the stdout of Tendermint process by default. To include
it in the node's output, run with `ANOMA_TM_STDOUT=true`
([#1239](https://github.com/anoma/anoma/pull/1239))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Switch back from a fork to a newly released version of expectrl
([#1142](https://github.com/anoma/anoma/pull/1142))
2 changes: 2 additions & 0 deletions .changelog/unreleased/testing/247-e2e-fix-cmd-assert.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- E2E: Consume unread output before checking exit status.
([#247](https://github.com/anoma/namada/pull/247))
45 changes: 45 additions & 0 deletions .github/workflows/automation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Automation Tasks

on:
issue_comment:
types: [created]

permissions:
id-token: write
contents: write

env:
GIT_LFS_SKIP_SMUDGE: 1

jobs:
tasks:
if: ${{ github.event.issue.pull_request }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
command: [publish-wasm.py, update-wasm.py]

steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::375643557360:role/anoma-github-action-ci-master
aws-region: eu-west-1
- uses: xt0rted/pull-request-comment-branch@v1
id: comment-branch
- uses: actions/checkout@v3
if: success()
with:
ref: ${{ steps.comment-branch.outputs.head_ref }}
- name: Run task
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_READ_ORG_TOKEN: ${{ secrets.GT_READ_ORG }}
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
pip3 install ghapi >/dev/null 2>&1
python3 .github/workflows/scripts/${{ matrix.command }}
296 changes: 296 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,296 @@
name: Build and Test

on:
push:
branches:
- main
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true

permissions:
id-token: write
contents: read
packages: read

env:
GIT_LFS_SKIP_SMUDGE: 1


jobs:
build-wasm:
timeout-minutes: 30
runs-on: ${{ matrix.os }}
container:
image: ghcr.io/anoma/namada:wasm-0.6.1
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
wasm_cache_version: ["v1"]

steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Duplicate checksums file
run: cp wasm/checksums.json wasm/original-checksums.json
- name: Build WASM
run: |
make build-wasm-scripts
- name: Upload wasm artifacts
uses: actions/upload-artifact@v3
with:
name: wasm-${{ github.sha }}
path: |
wasm/tx_*.wasm
wasm/vp_*.wasm
wasm/checksums.json
- name: Test Wasm
run: make test-wasm
- name: Check wasm up-to-date
run: cmp -- wasm/checksums.json wasm/original-checksums.json
- name: Print diff
if: failure()
run: diff -y -W 150 wasm/checksums.json wasm/original-checksums.json --suppress-common-lines

update-wasm:
runs-on: ${{ matrix.os }}
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.build-wasm.result == 'success' }}
timeout-minutes: 30
needs: [build-wasm]
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]

steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::375643557360:role/anoma-github-action-ci-master
aws-region: eu-west-1
- name: Download wasm artifacts
uses: actions/download-artifact@v3
with:
name: wasm-${{ github.sha }}
path: ./wasm
- name: Update WASM
run: aws s3 sync wasm s3://$BUCKET_NAME --acl public-read --exclude "*" --include "*.wasm" --exclude "*/*" --region $AWS_REGION
env:
BUCKET_NAME: namada-wasm-master
AWS_REGION: eu-west-1

anoma:
runs-on: ${{ matrix.os }}
timeout-minutes: 40
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
nightly_version: [nightly-2022-05-20]
make:
- name: ABCI
suffix: ''
cache_key: anoma
cache_version: v1
wait_for: anoma-release (ubuntu-latest, ABCI Release build, anoma-e2e-release, v1)
tendermint_artifact: tendermint-unreleased-559fb33ff9b27503ce7ac1c7d8589fe1d8b3e900

env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: full
RUSTC_WRAPPER: sccache
SCCACHE_CACHE_SIZE: 100G
SCCACHE_BUCKET: namada-sccache-master

steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::375643557360:role/anoma-github-action-ci-master
aws-region: eu-west-1
- name: Install sccache (ubuntu-latest)
if: matrix.os == 'ubuntu-latest'
env:
LINK: https://github.com/mozilla/sccache/releases/download
SCCACHE_VERSION: v0.3.0
run: |
SCCACHE_FILE=sccache-$SCCACHE_VERSION-x86_64-unknown-linux-musl
mkdir -p $HOME/.local/bin
curl -L "$LINK/$SCCACHE_VERSION/$SCCACHE_FILE.tar.gz" | tar xz
mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache
chmod +x $HOME/.local/bin/sccache
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Install sccache (macos-latest)
if: matrix.os == 'macos-latest'
run: |
brew update
brew install sccache
- name: Setup rust toolchain
uses: oxidecomputer/actions-rs_toolchain@ad3f86084a8a5acf2c09cb691421b31cf8af7a36
with:
profile: default
override: true
- name: Setup rust nightly
uses: oxidecomputer/actions-rs_toolchain@ad3f86084a8a5acf2c09cb691421b31cf8af7a36
with:
toolchain: ${{ matrix.nightly_version }}
profile: default
- name: Cache cargo registry
uses: actions/cache@v3
continue-on-error: false
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-${{ matrix.make.cache_key }}-${{ matrix.make.cache_version }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-${{ matrix.make.cache_key }}-${{ matrix.make.cache_version }}-cargo-
- name: Start sccache server
run: sccache --start-server
- name: Build
run: make build${{ matrix.make.suffix }}
- name: Build test
run: make build-test${{ matrix.make.suffix }}
- name: Download wasm artifacts
uses: actions/download-artifact@v3
with:
name: wasm-${{ github.sha }}
path: ./wasm
- name: Run unit test
run: make test-unit${{ matrix.make.suffix }}
- name: Wait for release binaries
uses: lewagon/wait-on-check-action@master
with:
ref: ${{ github.event.pull_request.head.sha || github.ref }}
check-name: ${{ matrix.make.wait_for }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 30
allowed-conclusions: success
- name: Download tendermint binaries
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build-tendermint.yml
workflow_conclusion: success
name: ${{ matrix.make.tendermint_artifact }}
path: /usr/local/bin
- name: Download anoma binaries
uses: actions/download-artifact@v3
with:
name: binaries${{ matrix.make.suffix }}-${{ github.sha }}
path: ./target/release/
- name: Change permissions
run: |
chmod +x target/release/namada
chmod +x target/release/namadaw
chmod +x target/release/namadan
chmod +x target/release/namadac
chmod +x /usr/local/bin/tendermint
- name: Run e2e test
run: make test-e2e${{ matrix.make.suffix }}
env:
ANOMA_TENDERMINT_WEBSOCKET_TIMEOUT: 20
ANOMA_E2E_USE_PREBUILT_BINARIES: "true"
ANOMA_E2E_KEEP_TEMP: "true"
ENV_VAR_TM_STDOUT: "false"
ANOMA_LOG_COLOR: "false"
ANOMA_LOG: "info"
- name: Upload e2e logs
if: success() || failure()
uses: actions/upload-artifact@v3
with:
name: logs-e2e${{ matrix.make.suffix }}-${{ github.sha }}
path: |
/tmp/.*/logs/
/tmp/.*/e2e-test.*/setup/validator-*/.anoma/logs/*.log
retention-days: 5
- name: Print sccache stats
if: always()
run: sccache --show-stats
- name: Stop sccache server
if: always()
run: sccache --stop-server || true

anoma-release:
runs-on: ${{ matrix.os }}
timeout-minutes: 40
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
make:
- name: ABCI Release build
suffix: ''
cache_key: anoma-e2e-release
cache_version: "v1"

env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: full
RUSTC_WRAPPER: sccache
SCCACHE_CACHE_SIZE: 100G
SCCACHE_BUCKET: namada-sccache-master

steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::375643557360:role/anoma-github-action-ci-master
aws-region: eu-west-1
- name: Install sccache (ubuntu-latest)
if: matrix.os == 'ubuntu-latest'
env:
LINK: https://github.com/mozilla/sccache/releases/download
SCCACHE_VERSION: v0.3.0
run: |
SCCACHE_FILE=sccache-$SCCACHE_VERSION-x86_64-unknown-linux-musl
mkdir -p $HOME/.local/bin
curl -L "$LINK/$SCCACHE_VERSION/$SCCACHE_FILE.tar.gz" | tar xz
mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache
chmod +x $HOME/.local/bin/sccache
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Install sccache (macos-latest)
if: matrix.os == 'macos-latest'
run: |
brew update
brew install sccache
- name: Setup rust toolchain
uses: oxidecomputer/actions-rs_toolchain@ad3f86084a8a5acf2c09cb691421b31cf8af7a36
with:
profile: default
override: true
- name: Cache cargo registry
uses: actions/cache@v3
continue-on-error: false
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-${{ matrix.make.cache_key }}-${{ matrix.make.cache_version }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-${{ matrix.make.cache_key }}-${{ matrix.make.cache_version }}-cargo-
- name: Start sccache server
run: sccache --start-server
- name: Build
run: make build-release${{ matrix.make.suffix }}
- name: Upload target binaries
uses: actions/upload-artifact@v3
with:
name: binaries${{ matrix.make.suffix }}-${{ github.sha }}
path: |
target/release/namada
target/release/namadac
target/release/namadaw
target/release/namadan
- name: Print sccache stats
if: always()
run: sccache --show-stats
- name: Stop sccache server
if: always()
run: sccache --stop-server || true
Loading

0 comments on commit d9b2d84

Please sign in to comment.