Update e2e package #332
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: ci-rust-sdk | |
on: | |
push: | |
branches: [dev, cid_cd_tests, 'feat*', 'release-*'] | |
paths-ignore: | |
- '**.md' | |
pull_request: | |
branches: [dev, cid_cd_tests, 'feat*', 'release-*'] | |
paths-ignore: | |
- '**.md' | |
jobs: | |
build_and_test: | |
strategy: | |
matrix: | |
#https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources | |
os: [ubuntu-22.04] | |
node-version: [20.x] | |
runs-on: ${{ matrix.os }} | |
env: | |
RPC_ADDRESS: http://127.0.0.1:11101 | |
EVENT_ADDRESS: http://127.0.0.1:18101/events | |
SPECULTATIVE_ADDRESS: http://127.0.0.1:25101 | |
# services: | |
# # Label used to access the service container | |
# casper-nctl: | |
# # Docker Hub image | |
# image: gregoshop/casper-nctl:2.0 | |
# ports: | |
# - 11101-11105:11101-11105 | |
# - 14101-14105:14101-14105 | |
# - 18101-18105:18101-18105 | |
# - 25101-25105:25101-25105 | |
# - 28101-28105:28101-28105 | |
# volumes: | |
# - ./assets/users:/app/casper-nctl/assets/net-1/users/ | |
steps: | |
# Replace by above service with docker image of stable 2.0 | |
- name: Clone casper-nctl-2-docker repository | |
run: | | |
git clone https://github.com/gRoussac/casper-nctl-2-docker.git | |
- name: Build and start the service | |
run: | | |
cd casper-nctl-2-docker | |
make build-start 2.0 | |
cd .. | |
- name: Wait for the service to be ready | |
run: | | |
echo "Waiting for the service to be ready on port 11101..." | |
for i in {1..30}; do # wait for up to 30 seconds | |
if nc -z localhost 11101; then | |
echo "Service is up!" | |
echo "Wait 45s for nctl to boot and create keys" | |
sleep 45 # - name: wait for up to 45 seconds for an era like | |
break | |
fi | |
echo "Waiting..." | |
sleep 1 | |
done | |
# Check if the service is still not ready after 30 seconds | |
if ! nc -z localhost 11101; then | |
echo "Service did not start in time!" | |
exit 1 | |
fi | |
# - name: List files in the users directory | |
# run: | | |
# echo "Listing files in the users directory of the service container..." | |
# docker exec ${{ job.services.casper-nctl.id }} ls /app/casper-nctl/assets/net-1/users/ | |
# - name: List files in user-1 directory | |
# run: | | |
# echo "Listing files in ./assets/users/user-1/:" | |
# ls -la ./casper-nctl-2-docker/assets/users/user-1/ | |
# WARNING: These accounts, and their private keys, are now publicly known. | |
# Any funds sent to them on Mainnet or any other live network WILL BE LOST. | |
- name: Set SECRET_KEY_USER_1 and SECRET_KEY_USER_2 environment variables | |
run: | | |
echo "SECRET_KEY_USER_1=$(sed -n '2p' ./casper-nctl-2-docker/assets/users/user-1/secret_key.pem)" >> $GITHUB_ENV | |
echo "SECRET_KEY_USER_2=$(sed -n '2p' ./casper-nctl-2-docker/assets/users/user-2/secret_key.pem)" >> $GITHUB_ENV | |
- name: Delete user-1 directory | |
run: | | |
echo "Deleting ./casper-nctl-2-docker directories..." | |
sudo rm -rf ./casper-nctl-2-docker | |
- name: Print GITHUB_ENV | |
run: | | |
echo "Contents of GITHUB_ENV:" | |
cat $GITHUB_ENV | |
- uses: actions/checkout@v2 | |
- name: Swatinem cache | |
uses: Swatinem/rust-cache@cb2cf0cc7c5198d3364b9630e2c3d457f160790c #v1.4.0 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
profile: minimal | |
components: rustfmt, clippy | |
target: wasm32-unknown-unknown | |
- name: Fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: -- --check | |
- name: Audit | |
uses: actions-rs/cargo@v1 | |
with: | |
command: audit | |
args: --deny warnings | |
- name: Lint | |
run: make check-lint | |
- name: Unit Tests | |
run: make test | |
- name: Integration Tests | |
run: make integration-test | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@5b949b50c3461bbcd5a540b150c368278160234a #v3.4.0 | |
with: | |
node-version: ${{ matrix.node-version }} | |
registry-url: 'https://registry.npmjs.org' | |
- name: E2E Tests | |
run: make e2e-test | |
- name: Build lib for all targets | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --lib --all-targets | |
- name: Doc | |
run: make doc | |
- name: Github pages 🚀 | |
uses: JamesIves/github-pages-deploy-action@ba1486788b0490a235422264426c45848eac35c6 #v4.4.1 | |
with: | |
folder: docs # The folder the action should deploy. | |
target-folder: condor | |
commit-message: 'Deploy documentation for ${{ github.ref_name }}' | |
# - name: Install Electron | |
# run: | | |
# sudo apt-get install --no-install-recommends -y libopenjp2-tools | |
# sudo dpkg --add-architecture i386 | |
# sudo mkdir -pm755 /etc/apt/keyrings | |
# sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key | |
# sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources | |
# sudo apt update | |
# sudo apt install --install-recommends winehq-stable | |
# - name: Install Wasm Pack | |
# run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
# - name: Build packages and apps | |
# run: make build |