Include auxiliary tools to nightly builds (#3959)

Create stable link (withouth hash) so that scripts can always get the latest nightly build from the same url
This commit is contained in:
Nikolay Mitev 2022-08-12 17:40:06 +03:00 committed by GitHub
parent 75ccfcb26f
commit 73b5798eda
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 74 additions and 25 deletions

View File

@ -5,6 +5,10 @@ on:
workflow_dispatch: workflow_dispatch:
#pull_request: #pull_request:
env:
# Build and include deposit_contract nimbus_signing_node nimbus_light_client logtrace in archive
BUILD_TOOLS: 1
jobs: jobs:
build-amd64: build-amd64:
name: Linux AMD64 release asset name: Linux AMD64 release asset
@ -25,25 +29,28 @@ jobs:
NEW_ARCHIVE_DIR="nimbus-eth2_Linux_amd64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)" NEW_ARCHIVE_DIR="nimbus-eth2_Linux_amd64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR} mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR} tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
cp ${NEW_ARCHIVE_DIR}.tar.gz nimbus-eth2_Linux_amd64_nightly_latest.tar.gz
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR} echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact - name: Upload archive artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Linux_amd64_archive name: Linux_amd64_archive
path: ./dist/${{ steps.make_dist.outputs.archive }} path: |
./dist/${{ steps.make_dist.outputs.archive }}
./dist/nimbus-eth2_Linux_amd64_nightly_latest.tar.gz
retention-days: 2 retention-days: 2
- name: Upload BN checksum artefact - name: Upload BN checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Linux_amd64_checksum name: Linux_amd64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2 retention-days: 2
- name: Upload VC checksum artefact - name: Upload VC checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Linux_amd64_checksum name: Linux_amd64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum
@ -76,25 +83,28 @@ jobs:
NEW_ARCHIVE_DIR="nimbus-eth2_Linux_arm64v8_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)" NEW_ARCHIVE_DIR="nimbus-eth2_Linux_arm64v8_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR} mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR} tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
cp ${NEW_ARCHIVE_DIR}.tar.gz nimbus-eth2_Linux_arm64v8_nightly_latest.tar.gz
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR} echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact - name: Upload archive artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Linux_arm64_archive name: Linux_arm64_archive
path: ./dist/${{ steps.make_dist.outputs.archive }} path: |
./dist/${{ steps.make_dist.outputs.archive }}
./dist/nimbus-eth2_Linux_arm64v8_nightly_latest.tar.gz
retention-days: 2 retention-days: 2
- name: Upload BN checksum artefact - name: Upload BN checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Linux_arm64_checksum name: Linux_arm64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2 retention-days: 2
- name: Upload VC checksum artefact - name: Upload VC checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Linux_arm64_checksum name: Linux_arm64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum
@ -127,25 +137,28 @@ jobs:
NEW_ARCHIVE_DIR="nimbus-eth2_Linux_arm32v7_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)" NEW_ARCHIVE_DIR="nimbus-eth2_Linux_arm32v7_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR} mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR} tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
cp ${NEW_ARCHIVE_DIR}.tar.gz nimbus-eth2_Linux_arm32v7_nightly_latest.tar.gz
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR} echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact - name: Upload archive artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Linux_arm_archive name: Linux_arm_archive
path: ./dist/${{ steps.make_dist.outputs.archive }} path: |
./dist/${{ steps.make_dist.outputs.archive }}
./dist/nimbus-eth2_Linux_arm32v7_nightly_latest.tar.gz
retention-days: 2 retention-days: 2
- name: Upload BN checksum artefact - name: Upload BN checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Linux_arm_checksum name: Linux_arm_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2 retention-days: 2
- name: Upload VC checksum artefact - name: Upload VC checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Linux_arm_checksum name: Linux_arm_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum
@ -170,25 +183,28 @@ jobs:
NEW_ARCHIVE_DIR="nimbus-eth2_Windows_amd64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)" NEW_ARCHIVE_DIR="nimbus-eth2_Windows_amd64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR} mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR} tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
cp ${NEW_ARCHIVE_DIR}.tar.gz nimbus-eth2_Windows_amd64_nightly_latest.tar.gz
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR} echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact - name: Upload archive artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Windows_amd64_archive name: Windows_amd64_archive
path: ./dist/${{ steps.make_dist.outputs.archive }} path: |
./dist/${{ steps.make_dist.outputs.archive }}
./dist/nimbus-eth2_Windows_amd64_nightly_latest.tar.gz
retention-days: 2 retention-days: 2
- name: Upload BN checksum artefact - name: Upload BN checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Windows_amd64_checksum name: Windows_amd64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2 retention-days: 2
- name: Upload VC checksum artefact - name: Upload VC checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: Windows_amd64_checksum name: Windows_amd64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum
@ -213,25 +229,28 @@ jobs:
NEW_ARCHIVE_DIR="nimbus-eth2_macOS_amd64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)" NEW_ARCHIVE_DIR="nimbus-eth2_macOS_amd64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR} mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR} tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
cp ${NEW_ARCHIVE_DIR}.tar.gz nimbus-eth2_macOS_amd64_nightly_latest.tar.gz
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR} echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact - name: Upload archive artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: macOS_amd64_archive name: macOS_amd64_archive
path: ./dist/${{ steps.make_dist.outputs.archive }} path: |
./dist/${{ steps.make_dist.outputs.archive }}
./dist/nimbus-eth2_macOS_amd64_nightly_latest.tar.gz
retention-days: 2 retention-days: 2
- name: Upload BN checksum artefact - name: Upload BN checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: macOS_amd64_checksum name: macOS_amd64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2 retention-days: 2
- name: Upload VC checksum artefact - name: Upload VC checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: macOS_amd64_checksum name: macOS_amd64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum
@ -256,25 +275,28 @@ jobs:
NEW_ARCHIVE_DIR="nimbus-eth2_macOS_arm64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)" NEW_ARCHIVE_DIR="nimbus-eth2_macOS_arm64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR} mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR} tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
cp ${NEW_ARCHIVE_DIR}.tar.gz nimbus-eth2_macOS_arm64_nightly_latest.tar.gz
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR} echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact - name: Upload archive artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: macOS_arm64_archive name: macOS_arm64_archive
path: ./dist/${{ steps.make_dist.outputs.archive }} path: |
./dist/${{ steps.make_dist.outputs.archive }}
./dist/nimbus-eth2_macOS_arm64_nightly_latest.tar.gz
retention-days: 2 retention-days: 2
- name: Upload BN checksum artefact - name: Upload BN checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: macOS_arm64_checksum name: macOS_arm64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2 retention-days: 2
- name: Upload VC checksum artefact - name: Upload VC checksum artefact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: macOS_arm64_checksum name: macOS_arm64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum

View File

@ -6,6 +6,9 @@ SHELL ["/bin/bash", "-c"]
ARG USER_ID ARG USER_ID
ARG GROUP_ID ARG GROUP_ID
ENV BUILD_TOOLS=${BUILD_TOOLS}
RUN echo "BUILD_TOOLS=${BUILD_TOOLS}"
RUN addgroup --gid ${GROUP_ID} user; \ RUN addgroup --gid ${GROUP_ID} user; \
adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user; adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user;
@ -16,3 +19,4 @@ STOPSIGNAL SIGINT
COPY "entry_point.sh" "/home/user/" COPY "entry_point.sh" "/home/user/"
ENTRYPOINT ["/home/user/entry_point.sh", "Linux_amd64"] ENTRYPOINT ["/home/user/entry_point.sh", "Linux_amd64"]

View File

@ -6,6 +6,8 @@ SHELL ["/bin/bash", "-c"]
ARG USER_ID ARG USER_ID
ARG GROUP_ID ARG GROUP_ID
ENV BUILD_TOOLS=${BUILD_TOOLS}
RUN addgroup --gid ${GROUP_ID} user; \ RUN addgroup --gid ${GROUP_ID} user; \
adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user; adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user;

View File

@ -6,6 +6,8 @@ SHELL ["/bin/bash", "-c"]
ARG USER_ID ARG USER_ID
ARG GROUP_ID ARG GROUP_ID
ENV BUILD_TOOLS=${BUILD_TOOLS}
RUN addgroup --gid ${GROUP_ID} user; \ RUN addgroup --gid ${GROUP_ID} user; \
adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user; adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user;

View File

@ -6,6 +6,8 @@ SHELL ["/bin/bash", "-c"]
ARG USER_ID ARG USER_ID
ARG GROUP_ID ARG GROUP_ID
ENV BUILD_TOOLS=${BUILD_TOOLS}
RUN addgroup --gid ${GROUP_ID} user; \ RUN addgroup --gid ${GROUP_ID} user; \
adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user; adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user;

View File

@ -6,6 +6,8 @@ SHELL ["/bin/bash", "-c"]
ARG USER_ID ARG USER_ID
ARG GROUP_ID ARG GROUP_ID
ENV BUILD_TOOLS=${BUILD_TOOLS}
RUN addgroup --gid ${GROUP_ID} user; \ RUN addgroup --gid ${GROUP_ID} user; \
adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user; adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user;

View File

@ -6,6 +6,8 @@ SHELL ["/bin/bash", "-c"]
ARG USER_ID ARG USER_ID
ARG GROUP_ID ARG GROUP_ID
ENV BUILD_TOOLS=${BUILD_TOOLS}
RUN addgroup --gid ${GROUP_ID} user; \ RUN addgroup --gid ${GROUP_ID} user; \
adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user; adduser --disabled-password --gecos '' --uid ${USER_ID} --gid ${GROUP_ID} user;

View File

@ -19,6 +19,14 @@ fi
PLATFORM="${1}" PLATFORM="${1}"
BINARIES="nimbus_beacon_node nimbus_validator_client" BINARIES="nimbus_beacon_node nimbus_validator_client"
echo "==================STARTING BUILD=================="
echo "Build Tools = ${BUILD_TOOLS}"
if [[ "${BUILD_TOOLS}" == "1" ]]; then
echo "Including tools in distribution"
BINARIES="${BINARIES} deposit_contract nimbus_signing_node nimbus_light_client logtrace"
fi
echo -e "\nPLATFORM=${PLATFORM}" echo -e "\nPLATFORM=${PLATFORM}"
#- we need to build everything against libraries available inside this container, including the Nim compiler #- we need to build everything against libraries available inside this container, including the Nim compiler

View File

@ -22,6 +22,11 @@ docker rm ${DOCKER_TAG} &>/dev/null || true
cd docker/dist cd docker/dist
BUILD_TOOLS_ENV="--env BUILD_TOOLS=${BUILD_TOOLS:-"0"}"
echo "${BUILD_TOOLS_ENV}"
DOCKER_BUILDKIT=1 \ DOCKER_BUILDKIT=1 \
docker build \ docker build \
-t ${DOCKER_TAG} \ -t ${DOCKER_TAG} \
@ -31,7 +36,7 @@ DOCKER_BUILDKIT=1 \
-f Dockerfile.${ARCH} . -f Dockerfile.${ARCH} .
# seccomp can have some serious overhead, so we disable it with "--privileged" - https://pythonspeed.com/articles/docker-performance-overhead/ # seccomp can have some serious overhead, so we disable it with "--privileged" - https://pythonspeed.com/articles/docker-performance-overhead/
docker run --privileged --rm --name ${DOCKER_TAG} -v ${REPO_DIR}:/home/user/nimbus-eth2 ${DOCKER_TAG} docker run --privileged ${BUILD_TOOLS_ENV} --rm --name ${DOCKER_TAG} -v ${REPO_DIR}:/home/user/nimbus-eth2 ${DOCKER_TAG}
cd - &>/dev/null cd - &>/dev/null