diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 1e69957..56accf1 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -18,7 +18,8 @@ env: jobs: docker-build-push: - runs-on: ubuntu-latest + # Same as image base + runs-on: ubuntu-20.04 # Map the meta step outputs to this job outputs outputs: image_name: ${{ steps.result.outputs.image_name }} @@ -97,20 +98,21 @@ jobs: working-directory: build/clerkb run: yarn && make all-via-docker - - name: Cache of component.godwoken-scripts - id: godwoken-scripts-cache - uses: actions/cache@v3 - with: - path: | - build/godwoken-scripts/build/release/* - build/godwoken-scripts/c/build/*-generator - build/godwoken-scripts/c/build/*-validator - build/godwoken-scripts/c/build/account_locks/* - key: component.godwoken-scripts-${{ steps.prepare.outputs.godwoken-scripts-sha1 }} - - name: Build godwoken-scripts - if: steps.godwoken-scripts-cache.outputs.cache-hit != 'true' - working-directory: build/godwoken-scripts - run: cd c && make && cd .. && capsule build --release --debug-output + # Skip building godwoken-scripts for now. + # - name: Cache of component.godwoken-scripts + # id: godwoken-scripts-cache + # uses: actions/cache@v3 + # with: + # path: | + # build/godwoken-scripts/build/release/* + # build/godwoken-scripts/c/build/*-generator + # build/godwoken-scripts/c/build/*-validator + # build/godwoken-scripts/c/build/account_locks/* + # key: component.godwoken-scripts-${{ steps.prepare.outputs.godwoken-scripts-sha1 }} + # - name: Build godwoken-scripts + # if: steps.godwoken-scripts-cache.outputs.cache-hit != 'true' + # working-directory: build/godwoken-scripts + # run: cd c && make && cd .. && capsule build --release --debug-output - name: Cache of component.godwoken-polyjuice id: godwoken-polyjuice-cache @@ -145,7 +147,11 @@ jobs: - name: Build godwoken if: steps.godwoken-cache.outputs.cache-hit != 'true' working-directory: build/godwoken - run: rustup component add rustfmt && CARGO_PROFILE_RELEASE_LTO=true cargo build --release + env: + # For ckb-rocksdb. + PORTABLE: true + CARGO_PROFILE_RELEASE_LTO: thin + run: rustup component add rustfmt && cargo build --release # Extract metadata (tags, labels) for Docker # https://github.com/docker/metadata-action @@ -208,7 +214,6 @@ jobs: docker run --rm ${{ env.IMAGE }} gw-tools --version docker run --rm ${{ env.IMAGE }} ckb --version docker run --rm ${{ env.IMAGE }} ckb-cli --version - docker run --rm ${{ env.IMAGE }} ckb-indexer --version docker run --rm ${{ env.IMAGE }} find /scripts -type f -exec sha1sum {} \; - name: Record image info to the outputs of this jobs diff --git a/Dockerfile.fast b/Dockerfile.fast index 930a99a..2490afc 100644 --- a/Dockerfile.fast +++ b/Dockerfile.fast @@ -1,10 +1,8 @@ -FROM ubuntu:21.04 +FROM ubuntu:20.04 RUN mkdir -p /scripts/godwoken-scripts \ && mkdir -p /scripts/godwoken-polyjuice \ - && mkdir -p /scripts/clerkb \ - && mkdir /ckb \ - && mkdir /ckb-indexer + && mkdir -p /scripts/clerkb RUN apt-get update \ && apt-get dist-upgrade -y \ @@ -12,30 +10,25 @@ RUN apt-get update \ && apt-get clean \ && echo 'Finished installing OS updates' -# ckb -RUN cd /ckb \ - && curl -LO https://github.com/nervosnetwork/ckb/releases/download/v0.101.7/ckb_v0.101.7_x86_64-unknown-linux-gnu.tar.gz \ - && tar xzf ckb_v0.101.7_x86_64-unknown-linux-gnu.tar.gz \ - && cp ckb_v0.101.7_x86_64-unknown-linux-gnu/ckb /bin/ckb \ - && cp ckb_v0.101.7_x86_64-unknown-linux-gnu/ckb-cli /bin/ckb-cli \ +# Install ckb and ckb-cli. +RUN mkdir -p /ckb && cd /ckb \ + && curl -LO https://github.com/nervosnetwork/ckb/releases/download/v0.111.0-rc8/ckb_v0.111.0-rc8_x86_64-unknown-linux-gnu-portable.tar.gz \ + && tar xzf ckb_v0.111.0-rc8_x86_64-unknown-linux-gnu-portable.tar.gz \ + && cp ckb_v0.111.0-rc8_x86_64-unknown-linux-gnu-portable/ckb /bin/ \ + && cp ckb_v0.111.0-rc8_x86_64-unknown-linux-gnu-portable/ckb-cli /bin/ \ && rm -rf /ckb -# ckb-indexer -RUN cd /ckb-indexer \ - && curl -LO https://github.com/nervosnetwork/ckb-indexer/releases/download/v0.3.2/ckb-indexer-0.3.2-linux.zip \ - && unzip ckb-indexer-0.3.2-linux.zip && tar xzf ckb-indexer-linux-x86_64.tar.gz \ - && cp /ckb-indexer/ckb-indexer /bin/ckb-indexer \ - && rm -rf /ckb-indexer - # /scripts/clerkb COPY build/clerkb/build/debug/poa /scripts/clerkb/ COPY build/clerkb/build/debug/state /scripts/clerkb/ -# /scripts/godwoken-scripts -COPY build/godwoken-scripts/build/release/* /scripts/godwoken-scripts/ -COPY build/godwoken-scripts/c/build/*-generator /scripts/godwoken-scripts/ -COPY build/godwoken-scripts/c/build/*-validator /scripts/godwoken-scripts/ -COPY build/godwoken-scripts/c/build/account_locks/* /scripts/godwoken-scripts/ +# Copy from previous image because godwoken-scripts cannot be built as is. +COPY --from=ghcr.io/nervosnetwork/godwoken-prebuilds:v0.10.7 /scripts/godwoken-scripts /scripts/godwoken-scripts +# # /scripts/godwoken-scripts +# COPY build/godwoken-scripts/build/release/* /scripts/godwoken-scripts/ +# COPY build/godwoken-scripts/c/build/*-generator /scripts/godwoken-scripts/ +# COPY build/godwoken-scripts/c/build/*-validator /scripts/godwoken-scripts/ +# COPY build/godwoken-scripts/c/build/account_locks/* /scripts/godwoken-scripts/ # /scripts/godwoken-polyjuice COPY build/godwoken-polyjuice/build/*generator* /scripts/godwoken-polyjuice/ diff --git a/Makefile b/Makefile index 154208c..9836a27 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ POLYJUICE_REPO := https://github.com/nervosnetwork/godwoken-polyjuice.git CLERKB_REPO := https://github.com/nervosnetwork/clerkb.git # components tags -GODWOKEN_REF := v0.10.7 # https://github.com/nervosnetwork/godwoken/releases/tag/v0.10.7 +GODWOKEN_REF := refs/pull/1084/merge GODWOKEN_SCRIPTS_REF := v0.9.0 # https://github.com/nervosnetwork/godwoken-scripts/releases/tag/v0.9.0 POLYJUICE_REF := 0.8.14 # https://github.com/nervosnetwork/godwoken-polyjuice/releases/tag/0.8.14 CLERKB_REF := v0.4.0