Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Commit

Permalink
All changes needed for master
Browse files Browse the repository at this point in the history
  • Loading branch information
Bradley Hart committed Sep 20, 2021
1 parent 792b131 commit 731c562
Show file tree
Hide file tree
Showing 5 changed files with 493 additions and 60 deletions.
37 changes: 29 additions & 8 deletions .github/eosjs-ci/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,31 +10,52 @@ WORKDIR /root
RUN apt-get update \
&& apt-get install -yq curl git

RUN git clone https://github.com/EOSIO/eos \
RUN if [ "$CDTBRANCH" = "release_1.7.x" ]; then \
git clone https://github.com/EOSIO/tropical-example-web-app \
&& mkdir -p /root/contracts/eosio.bios_v1.8.3 && mv ./tropical-example-web-app/eosio/contracts/eosio.bios-v1.8.3/* /root/contracts/eosio.bios_v1.8.3/ \

&& git clone https://github.com/EOSIO/eos \
&& cd eos \
&& git checkout v2.0.12 \
&& mkdir -p /root/contracts/eosio.bios/ && mv ./unittests/contracts/eosio.bios/* /root/contracts/eosio.bios/ \
&& mkdir -p /root/contracts/eosio.system/ && mv ./unittests/contracts/eosio.system/* /root/contracts/eosio.system/ \
&& mkdir -p /root/contracts/eosio.msig/ && mv ./unittests/contracts/eosio.msig/* /root/contracts/eosio.msig/ \
&& mkdir -p /root/contracts/eosio.token/ && mv ./unittests/contracts/eosio.token/* /root/contracts/eosio.token/ \
; fi

RUN if [ "$CDTBRANCH" = "release_1.8.x" ] || [ "$CDTBRANCH" = "develop" ]; then \
git clone https://github.com/EOSIO/eos \
&& cd eos \
&& git checkout develop \
&& mkdir -p /root/contracts/eosio.bios/ && mv ./contracts/contracts/eosio.bios/bin/* /root/contracts/eosio.bios/ \
&& mkdir -p /root/contracts/eosio.boot/ && mv ./contracts/contracts/eosio.boot/bin/* /root/contracts/eosio.boot/ \
&& mkdir -p /root/contracts/eosio.system/ && mv ./unittests/contracts/eosio.system/* /root/contracts/eosio.system/ \
&& mkdir -p /root/contracts/eosio.msig/ && mv ./unittests/contracts/eosio.msig/* /root/contracts/eosio.msig/ \
&& mkdir -p /root/contracts/eosio.token/ && mv ./unittests/contracts/eosio.token/* /root/contracts/eosio.token/
&& mkdir -p /root/contracts/eosio.token/ && mv ./unittests/contracts/eosio.token/* /root/contracts/eosio.token/ \
; fi

RUN git clone https://github.com/EOSIO/eosio.cdt \
RUN if [ "$CDTBRANCH" = "release_1.8.x" ] || [ "$CDTBRANCH" = "develop" ]; then \
git clone https://github.com/EOSIO/eosio.cdt \
&& cd eosio.cdt \
&& git checkout develop \
&& mkdir -p build/read_only_query_tests/ \
&& eosio-cpp -abigen ./tests/unit/test_contracts/read_only_query_tests.cpp -o ./build/read_only_query_tests/read_only_query_tests.wasm \
&& mkdir -p /root/contracts/read_only_query_tests/ && mv ./build/read_only_query_tests/* /root/contracts/read_only_query_tests/
&& mkdir -p /root/contracts/read_only_query_tests/ && mv ./build/read_only_query_tests/* /root/contracts/read_only_query_tests/ \
; fi

RUN git clone https://github.com/EOSIO/key-value-example-app.git \
RUN if [ "$CDTBRANCH" = "release_1.8.x" ] || [ "$CDTBRANCH" = "develop" ]; then \
git clone https://github.com/EOSIO/key-value-example-app.git \
&& cd key-value-example-app \
&& eosio-cpp -abigen ./contracts/kv_todo/src/kv_todo.cpp -o ./contracts/kv_todo/build/kv_todo.wasm -R ./contracts/kv_todo/ricardian/ -I ./contracts/kv_todo/include/ \
&& mkdir -p /root/contracts/kv_todo/ && mv ./contracts/kv_todo/build/* /root/contracts/kv_todo/
&& mkdir -p /root/contracts/kv_todo/ && mv ./contracts/kv_todo/build/* /root/contracts/kv_todo/ \
; fi

RUN git clone https://github.com/EOSIO/return-values-example-app.git \
RUN if [ "$CDTBRANCH" = "release_1.8.x" ] || [ "$CDTBRANCH" = "develop" ]; then \
git clone https://github.com/EOSIO/return-values-example-app.git \
&& cd return-values-example-app \
&& eosio-cpp -abigen ./contracts/action_return_value/src/action_return_value.cpp -o ./contracts/action_return_value/build/action_return_value.wasm -R ./contracts/action_return_value/ricardian/ \
&& mkdir -p /root/contracts/action_return_value/ && mv ./contracts/action_return_value/build/* /root/contracts/action_return_value/
&& mkdir -p /root/contracts/action_return_value/ && mv ./contracts/action_return_value/build/* /root/contracts/action_return_value/ \
; fi

RUN mkdir cfhello
COPY ./contracts/cfhello.cpp /root/cfhello
Expand Down
71 changes: 47 additions & 24 deletions .github/eosjs-ci/scripts/deploy_contracts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -169,16 +169,35 @@ cleos create account cfhello cfactor $CFACTOR_PUBLIC_KEY
# preactivate concensus upgrades
post_preactivate

sleep 1s
setabi eosio $CONTRACTS_DIR/eosio.boot/eosio.boot.abi
setcode eosio $CONTRACTS_DIR/eosio.boot/eosio.boot.wasm
if [ $EOSBRANCH = "release_2.0.x" ]; then
sleep 1s
setabi eosio $CONTRACTS_DIR/eosio.bios_v1.8.3/eosio.bios.abi
setcode eosio $CONTRACTS_DIR/eosio.bios_v1.8.3/eosio.bios.wasm

sleep 1s
activate_feature "299dcb6af692324b899b39f16d5a530a33062804e41f09dc97e9f156b4476707"
activate_feature "825ee6288fb1373eab1b5187ec2f04f6eacb39cb3a97f356a07c91622dd61d16"
activate_feature "c3a6138c5061cf291310887c0b5c71fcaffeab90d5deb50d3b9e687cead45071"
activate_feature "bf61537fd21c61a60e542a5d66c3f6a78da0589336868307f94a82bccea84e88"
activate_feature "5443fcf88330c586bc0e5f3dee10e7f63c76c00249c87fe4fbf7f38c082006b4"
sleep 1s
activate_feature "299dcb6af692324b899b39f16d5a530a33062804e41f09dc97e9f156b4476707"

sleep 1s
setabi eosio $CONTRACTS_DIR/eosio.bios/eosio.bios.abi
setcode eosio $CONTRACTS_DIR/eosio.bios/eosio.bios.wasm

sleep 1s
fi

if [ $EOSBRANCH = "release_2.1.x" ] || [ $EOSBRANCH = "release_2.2.x" ] || [ $EOSBRANCH = "develop" ]; then
sleep 1s
setabi eosio $CONTRACTS_DIR/eosio.boot/eosio.boot.abi
setcode eosio $CONTRACTS_DIR/eosio.boot/eosio.boot.wasm
sleep 1s
activate_feature "299dcb6af692324b899b39f16d5a530a33062804e41f09dc97e9f156b4476707"
fi

if [ $EOSBRANCH = "release_2.1.x" ] || [ $EOSBRANCH = "release_2.2.x" ] || [ $EOSBRANCH = "develop" ]; then
activate_feature "825ee6288fb1373eab1b5187ec2f04f6eacb39cb3a97f356a07c91622dd61d16"
activate_feature "c3a6138c5061cf291310887c0b5c71fcaffeab90d5deb50d3b9e687cead45071"
activate_feature "bf61537fd21c61a60e542a5d66c3f6a78da0589336868307f94a82bccea84e88"
activate_feature "5443fcf88330c586bc0e5f3dee10e7f63c76c00249c87fe4fbf7f38c082006b4"
fi
activate_feature "4e7bf348da00a945489b2a681749eb56f5de00b900014e137ddae39f48f69d67"
activate_feature "f0af56d2c5a48d60a4a5b5c903edfb7db3a736a94ed589d0b797df33ff9d3e1d"
activate_feature "2652f5f96006294109b3dd0bbde63693f55324af452b799ee137a81a905eed25"
Expand All @@ -193,21 +212,23 @@ if [ $EOSBRANCH = "release_2.2.x" ] || [ $EOSBRANCH = "develop" ]; then
activate_feature "808c49387292c34ccb3970e00b08a690b6b3370c1cbcec46d46c19d5dfafab03"
fi

sleep 1s
setabi eosio $CONTRACTS_DIR/eosio.bios/eosio.bios.abi
setcode eosio $CONTRACTS_DIR/eosio.bios/eosio.bios.wasm
if [ $EOSBRANCH = "release_2.1.x" ] || [ $EOSBRANCH = "release_2.2.x" ] || [ $EOSBRANCH = "develop" ]; then
sleep 1s
setabi eosio $CONTRACTS_DIR/eosio.bios/eosio.bios.abi
setcode eosio $CONTRACTS_DIR/eosio.bios/eosio.bios.wasm

sleep 1s
cleos push action eosio setkvparams '[{"max_key_size":1024, "max_value_size":4096, "max_iterators":1024}]' -p eosio@active
cleos push action eosio setpparams '["01110000400100000000"]' -p eosio@active
sleep 1s
cleos push action eosio setkvparams '[{"max_key_size":1024, "max_value_size":4096, "max_iterators":1024}]' -p eosio@active
cleos push action eosio setpparams '["01110000400100000000"]' -p eosio@active

sleep 1s
setabi todo $CONTRACTS_DIR/kv_todo/kv_todo.abi
setcode todo $CONTRACTS_DIR/kv_todo/kv_todo.wasm
sleep 1s
setabi todo $CONTRACTS_DIR/kv_todo/kv_todo.abi
setcode todo $CONTRACTS_DIR/kv_todo/kv_todo.wasm

sleep 1s
setabi returnvalue $CONTRACTS_DIR/action_return_value/action_return_value.abi
setcode returnvalue $CONTRACTS_DIR/action_return_value/action_return_value.wasm
sleep 1s
setabi returnvalue $CONTRACTS_DIR/action_return_value/action_return_value.abi
setcode returnvalue $CONTRACTS_DIR/action_return_value/action_return_value.wasm
fi

sleep 1s
setabi cfhello $CONTRACTS_DIR/cfhello/cfhello.abi
Expand Down Expand Up @@ -248,9 +269,11 @@ cleos push action eosio.token transfer '["eosio", "alice", "1000.0000 SYS", "mem
cleos push action eosio.token transfer '["eosio", "bobr1", "1000.0000 SYS", "memo"]' -p eosio
cleos push action eosio.token transfer '["eosio", "alicer1", "1000.0000 SYS", "memo"]' -p eosio

cleos push action todo upsert '["bf581bee-9f2c-447b-94ad-78e4984b6f51", "todo", "Write Hello World Contract", false]' -p todo@active
cleos push action todo upsert '["b7b0d09d-a82b-44d9-b067-3bae2d02917e", "todo", "Start Blockchain", false]' -p todo@active
cleos push action todo upsert '["ac8acfe7-cd4e-4d22-8400-218b697a4517", "todo", "Deploy Hello World Contract", false]' -p todo@active
if [ $EOSBRANCH = "release_2.1.x" ] || [ $EOSBRANCH = "release_2.2.x" ] || [ $EOSBRANCH = "develop" ]; then
cleos push action todo upsert '["bf581bee-9f2c-447b-94ad-78e4984b6f51", "todo", "Write Hello World Contract", false]' -p todo@active
cleos push action todo upsert '["b7b0d09d-a82b-44d9-b067-3bae2d02917e", "todo", "Start Blockchain", false]' -p todo@active
cleos push action todo upsert '["ac8acfe7-cd4e-4d22-8400-218b697a4517", "todo", "Deploy Hello World Contract", false]' -p todo@active
fi

if [ $EOSBRANCH = "release_2.2.x" ] || [ $EOSBRANCH = "develop" ]; then
cleos push action readonly setup '[]' -p readonly@active
Expand Down
64 changes: 64 additions & 0 deletions .github/workflows/build-docker-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,65 @@ jobs:
with:
script: |
core.setFailed('Failure: No DOCKERHUB_TOKEN present in repository secrets.');
build-docker-2_0_x:
name: Build Docker - nodeos release/2.0.x
runs-on: ubuntu-18.04
needs: check-tokens
steps:
- name: Checkout
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
with:
token: ${{ github.token }}
- name: Get nodeos sha
id: nodeos
uses: actions/github-script@v3
with:
script: |
const nodeosVersion = 'v2.0.';
const releaseList = await github.paginate('GET /repos/eosio/eos/releases');
const releases = releaseList.map(release => {
return {
tag: release.tag_name,
published_at: new Date(release.published_at),
};
})
.filter(release => release.tag.startsWith(nodeosVersion))
.sort((a, b) => b.published_at - a.published_at);
const tagList = await github.paginate('GET /repos/eosio/eos/tags');
const tag = tagList.filter(tag => tag.name === releases[0].tag);
return tag[0].commit.sha;
- name: Nodeos sha
id: nodeos-sha
run: |
SHA=$(echo "${NODEOS_SHA_FROM_JS}" | tr -d '"')
echo ::set-output name=NODEOS_SHA::${SHA}
env:
NODEOS_SHA_FROM_JS: ${{ steps.nodeos.outputs.result }}
- name: Set up QEMU
uses: docker/setup-qemu-action@27d0a4f181a40b142cce983c5393082c365d1480
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@0d135e0c2fc0dba0729c1a47ecfcf5a3c7f8579e
- name: Login to DockerHub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: ./.github/eosjs-ci
file: ./.github/eosjs-ci/Dockerfile
pull: true
push: true
no-cache: true
build-args: |
EOSBRANCH=release_2.0.x
CDTBRANCH=release_1.7.x
tags: |
eosio/eosjs-ci:release_2.0.x
eosio/eosjs-ci:${{ steps.nodeos-sha.outputs.NODEOS_SHA }}
build-docker-2_1_x:
name: Build Docker - nodeos release/2.1.x
runs-on: ubuntu-18.04
Expand Down Expand Up @@ -83,6 +142,7 @@ jobs:
tags: |
eosio/eosjs-ci:release_2.1.x
eosio/eosjs-ci:${{ steps.nodeos-sha.outputs.NODEOS_SHA }}
build-docker-2_2_x:
name: Build Docker - nodeos release/2.2.x
runs-on: ubuntu-18.04
Expand Down Expand Up @@ -140,6 +200,7 @@ jobs:
tags: |
eosio/eosjs-ci:release_2.2.x
eosio/eosjs-ci:${{ steps.nodeos-sha.outputs.NODEOS_SHA }}
build-docker-develop:
name: Build Docker - nodeos develop
runs-on: ubuntu-18.04
Expand Down Expand Up @@ -180,6 +241,9 @@ jobs:
pull: true
push: true
no-cache: true
build-args: |
EOSBRANCH=develop
CDTBRANCH=develop
tags: |
eosio/eosjs-ci:develop
eosio/eosjs-ci:${{ steps.nodeos-sha.outputs.NODEOS_SHA }}
Loading

0 comments on commit 731c562

Please sign in to comment.