feat: Vendor pezkuwi-subxt and pezkuwi-zombienet-sdk into monorepo
- Add pezkuwi-subxt crates to vendor/pezkuwi-subxt - Add pezkuwi-zombienet-sdk crates to vendor/pezkuwi-zombienet-sdk - Convert git dependencies to path dependencies - Add vendor crates to workspace members - Remove test/example crates from vendor (not needed for SDK) - Fix feature propagation issues detected by zepter - Fix workspace inheritance for internal dependencies - All 606 crates now in workspace - All 6919 internal dependency links verified correct - No git dependencies remaining
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
@pepoviola
|
||||
@l0r1s
|
||||
@@ -0,0 +1,124 @@
|
||||
name: Bug Report
|
||||
description: File a bug report
|
||||
labels: ["triage-needed"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this bug report!
|
||||
**NOTE** A number of issues reported against Zombienet are often found to already be fixed in more current versions of the project.
|
||||
Before reporting an issue, please verify the version you are running with `zombienet version` and compare it to the latest release.
|
||||
If they differ, please update your version of Zombienet to the latest possible and retry your command before creating an issue.
|
||||
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Issue Description
|
||||
description: Please explain your issue
|
||||
value: "Describe your issue"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: reproducer
|
||||
attributes:
|
||||
label: Steps to reproduce the issue
|
||||
description: Please explain the steps to reproduce the issue, including configuration files needed.
|
||||
value: "Steps to reproduce the issue\n1.\n2.\n3.\n"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: received_results
|
||||
attributes:
|
||||
label: Describe the results you received
|
||||
description: Please explain the results you are noticing, including stacktrace and error logs.
|
||||
value: "Describe the results you received"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected_results
|
||||
attributes:
|
||||
label: Describe the results you expected
|
||||
description: Please explain the results you are expecting
|
||||
value: "Describe the results you expected"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: zombienet_version
|
||||
attributes:
|
||||
label: Zombienet version
|
||||
description: Which zombienet version are you using ?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: provider
|
||||
attributes:
|
||||
label: Provider
|
||||
description: Which provider are you using ?
|
||||
options:
|
||||
- Native
|
||||
- Kubernetes
|
||||
- Podman
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: provider_version
|
||||
attributes:
|
||||
label: Provider version
|
||||
description: Which provider version / binaries versions are you using ?
|
||||
value: |
|
||||
## For binaries
|
||||
polkadot 0.9.40-a2b62fb872b
|
||||
polkadot-parachain 0.9.380-fe24f39507f
|
||||
|
||||
## For Kubernetes/Podman
|
||||
podman version 4.4.1
|
||||
|
||||
OR
|
||||
|
||||
kubectl version v0.26.3
|
||||
cluster version 1.25.2
|
||||
render: yaml
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: upstream_latest
|
||||
attributes:
|
||||
label: Upstream Latest Release
|
||||
description: Have you tried running the [latest upstream release](https://github.com/paritytech/zombienet/releases/latest)
|
||||
options:
|
||||
- 'Yes'
|
||||
- 'No'
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: additional_environment
|
||||
attributes:
|
||||
label: Additional environment details
|
||||
description: Please describe any additional environment details like (Cloud, Local, OS, Provider versions...)
|
||||
value: "Additional environment details"
|
||||
|
||||
- type: textarea
|
||||
id: additional_info
|
||||
attributes:
|
||||
label: Additional information
|
||||
description: Please explain the additional information you deem important
|
||||
value: "Additional information like issue happens only occasionally or issue happens with a particular architecture or on a particular setting"
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: screenshots
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: Provide us with screenshots if needed to have a better understanding of the issue
|
||||
validations:
|
||||
required: false
|
||||
@@ -0,0 +1,43 @@
|
||||
name: Feature request
|
||||
description: File a feature request
|
||||
labels: ["triage-needed"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this feature report!
|
||||
Please make sure to describe your feature and the problem it would solve.
|
||||
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Is your feature request related to a problem? Please describe.
|
||||
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
value: "Describe the feature"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: Describe the solution you'd like
|
||||
description: A clear and concise description of what you want to happen..
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: alt_solution
|
||||
attributes:
|
||||
label: Describe alternatives you've considered
|
||||
description: A clear and concise description of any alternative solutions or features you've considered.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Add any other context or screenshots about the feature request here.
|
||||
validations:
|
||||
required: false
|
||||
@@ -0,0 +1,97 @@
|
||||
name: Cargo Build & Test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
RUSTFLAGS: "-Dwarnings"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Zombienet SDK - latest
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain:
|
||||
- stable
|
||||
# TODO 24-02-08: Disable nightly due to tkaitchuck/aHash#200.
|
||||
#- nightly
|
||||
steps:
|
||||
# https://github.com/jlumbroso/free-disk-space
|
||||
- name: Free Disk Space (Ubuntu)
|
||||
uses: jlumbroso/free-disk-space@main
|
||||
with:
|
||||
tool-cache: false
|
||||
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
|
||||
- name: install_deps
|
||||
run: sudo apt-get update && sudo apt-get install protobuf-compiler
|
||||
|
||||
- name: Init nigthly install for fmt
|
||||
run: rustup update nightly && rustup default nightly && rustup component add rustfmt
|
||||
|
||||
- name: Check format
|
||||
run: cargo +nightly fmt --check --all
|
||||
|
||||
- name: Init install
|
||||
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} && rustup component add clippy
|
||||
|
||||
- name: Fetch cache
|
||||
uses: Swatinem/rust-cache@a95ba195448af2da9b00fb742d14ffaaf3c21f43 # v2.7.0
|
||||
with:
|
||||
shared-key: "zombie-cache"
|
||||
|
||||
- name: Clippy
|
||||
# disable needless_lifetimes until we align the version with polakdot-sdk
|
||||
run: cargo clippy --all-targets --all-features -- -A clippy::needless_lifetimes
|
||||
|
||||
- name: Build
|
||||
run: cargo build
|
||||
|
||||
- name: Tests
|
||||
run: cargo test --workspace -- --skip ci_k8s
|
||||
|
||||
# TODO: fix and re-enable
|
||||
# coverage:
|
||||
# name: Zombienet SDK - coverage
|
||||
# needs: build
|
||||
# runs-on: ubuntu-20.04
|
||||
# if: github.event_name == 'pull_request'
|
||||
|
||||
# permissions:
|
||||
# issues: write
|
||||
# pull-requests: write
|
||||
|
||||
# steps:
|
||||
# - uses: actions/checkout@v3
|
||||
|
||||
# # https://github.com/jlumbroso/free-disk-space
|
||||
# - name: Free Disk Space (Ubuntu)
|
||||
# uses: jlumbroso/free-disk-space@main
|
||||
# with:
|
||||
# tool-cache: false
|
||||
|
||||
# - name: Fetch cache
|
||||
# uses: Swatinem/rust-cache@a95ba195448af2da9b00fb742d14ffaaf3c21f43 # v2.7.0
|
||||
# with:
|
||||
# shared-key: "zombie-cache"
|
||||
|
||||
# - name: Install latest nextest release
|
||||
# uses: taiki-e/install-action@nextest
|
||||
|
||||
# - name: Install cargo-llvm-cov
|
||||
# uses: taiki-e/install-action@cargo-llvm-cov
|
||||
|
||||
# - name: Collect coverage data
|
||||
# run: cargo llvm-cov nextest --workspace --exclude zombienet-sdk --test-threads 1 --lcov --output-path lcov.info
|
||||
|
||||
# - name: Report code coverage
|
||||
# uses: Nef10/lcov-reporter-action@v0.4.0
|
||||
# with:
|
||||
# lcov-file: lcov.info
|
||||
# pr-number: ${{ github.event.pull_request.number }}
|
||||
@@ -0,0 +1,206 @@
|
||||
name: Integration test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
RUN_IN_CONTAINER: 1
|
||||
FF_DISABLE_UMASK_FOR_DOCKER_EXECUTOR: 1
|
||||
GHA_CLUSTER_SERVER_ADDR: "https://kubernetes.default:443"
|
||||
CARGO_TERM_COLOR: always
|
||||
RUSTFLAGS: "-Dwarnings"
|
||||
BASE_IMAGE: docker.io/paritytech/ci-unified:bullseye-1.88.0-2025-06-27-v202506301118
|
||||
RUN_IN_CI: "1"
|
||||
RUST_LOG: "zombienet_orchestrator=debug,zombienet_provider=debug"
|
||||
CARGO_TARGET_DIR: /tmp/target
|
||||
|
||||
jobs:
|
||||
build-tests:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 60
|
||||
container:
|
||||
image: docker.io/paritytech/ci-unified:bullseye-1.88.0-2025-06-27-v202506301118
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
|
||||
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2.8.0
|
||||
with:
|
||||
cache-on-failure: true
|
||||
|
||||
- name: Build tests
|
||||
run: |
|
||||
cargo build --tests --keep-going --locked
|
||||
mkdir -p artifacts
|
||||
cd artifacts
|
||||
find /tmp/target/debug/deps/ -maxdepth 1 -name "smoke-*" ! -name "*.d" -exec mv {} $(pwd)/smoke \;
|
||||
find /tmp/target/debug/deps/ -maxdepth 1 -name "smoke_native-*" ! -name "*.d" -exec mv {} $(pwd)/smoke_native \;
|
||||
cd ..
|
||||
tar cvfz artifacts.tar.gz artifacts
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: zombienet-tests-${{ github.sha }}
|
||||
path: artifacts.tar.gz
|
||||
|
||||
k8s-integration-test-smoke:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build-tests
|
||||
timeout-minutes: 60
|
||||
container:
|
||||
image: docker.io/paritytech/ci-unified:bullseye-1.88.0-2025-06-27-v202506301118
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
|
||||
with:
|
||||
name: zombienet-tests-${{ github.sha }}
|
||||
path: /tmp
|
||||
|
||||
- name: script
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
export ZOMBIE_K8S_CI_NAMESPACE=$(cat /data/namespace)
|
||||
export ZOMBIE_PROVIDER="k8s"
|
||||
cd /tmp
|
||||
ls -la
|
||||
tar xvfz artifacts.tar.gz
|
||||
./artifacts/smoke --nocapture
|
||||
|
||||
- name: dump logs
|
||||
if: always()
|
||||
run: |
|
||||
export ZOMBIE_K8S_CI_NAMESPACE=$(cat /data/namespace)
|
||||
mkdir -p /tmp/zombie-1/logs
|
||||
|
||||
# Install kubectl if not available
|
||||
if ! command -v kubectl &> /dev/null; then
|
||||
echo "Installing kubectl..."
|
||||
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
|
||||
chmod +x kubectl
|
||||
mv kubectl /usr/local/bin/
|
||||
fi
|
||||
|
||||
echo "Listing pods in namespace $ZOMBIE_K8S_CI_NAMESPACE..."
|
||||
kubectl get pods -n "$ZOMBIE_K8S_CI_NAMESPACE" -o wide || true
|
||||
for pod in $(kubectl get pods -n "$ZOMBIE_K8S_CI_NAMESPACE" -o jsonpath='{.items[*].metadata.name}' 2>/dev/null || true); do
|
||||
echo "Dumping logs for pod: $pod"
|
||||
kubectl logs -n "$ZOMBIE_K8S_CI_NAMESPACE" "$pod" --all-containers=true > "/tmp/zombie-1/logs/${pod}.log" 2>&1 || true
|
||||
done
|
||||
find /tmp/zombie* -name "*.log" -type f ! -regex '.*/[0-9]+\.log' -exec cp {} /tmp/zombie-1/logs/ \; 2>/dev/null || true
|
||||
echo "Collected logs:"
|
||||
ls -la /tmp/zombie-1/logs/ || true
|
||||
|
||||
- name: upload logs
|
||||
if: always()
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: zombienet-logs-${{ github.job }}-${{ github.sha }}
|
||||
path: |
|
||||
/tmp/zombie-1/logs/*
|
||||
|
||||
docker-integration-test-smoke:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build-tests
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
|
||||
with:
|
||||
name: zombienet-tests-${{ github.sha }}
|
||||
path: /tmp
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get -y update
|
||||
sudo apt-get -y install wget
|
||||
# Manually download and install the OpenSSL 1.1 library
|
||||
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
|
||||
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
|
||||
|
||||
- name: script
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
export ZOMBIE_PROVIDER="docker"
|
||||
cd /tmp
|
||||
ls -la
|
||||
tar xvfz artifacts.tar.gz
|
||||
./artifacts/smoke --nocapture
|
||||
|
||||
- name: dump logs
|
||||
if: always()
|
||||
run: |
|
||||
mkdir -p /tmp/zombie-1/logs
|
||||
for container in $(docker ps -a --filter "name=zombie" --format "{{.Names}}" 2>/dev/null || true); do
|
||||
echo "Dumping logs for container: $container"
|
||||
docker logs "$container" > "/tmp/zombie-1/logs/${container}.log" 2>&1 || true
|
||||
done
|
||||
find /tmp/zombie* -name "*.log" -type f ! -regex '.*/[0-9]+\.log' -exec cp {} /tmp/zombie-1/logs/ \; 2>/dev/null || true
|
||||
ls -la /tmp/zombie-1/logs/ || true
|
||||
|
||||
- name: upload logs
|
||||
if: always()
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: zombienet-logs-${{ github.job }}-${{ github.sha }}
|
||||
path: |
|
||||
/tmp/zombie-1/logs/*
|
||||
|
||||
native-integration-test-smoke:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build-tests
|
||||
timeout-minutes: 60
|
||||
container:
|
||||
image: docker.io/paritytech/ci-unified:bullseye-1.88.0-2025-06-27-v202506301118
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
|
||||
with:
|
||||
name: zombienet-tests-${{ github.sha }}
|
||||
path: /tmp
|
||||
|
||||
- name: Download bins
|
||||
shell: bash
|
||||
run: |
|
||||
for bin in polkadot polkadot-execute-worker polkadot-prepare-worker polkadot-omni-node polkadot-parachain; do
|
||||
echo "downloading $bin";
|
||||
curl -L -o /tmp/$bin https://github.com/paritytech/polkadot-sdk/releases/download/polkadot-stable2503-1/$bin;
|
||||
chmod 755 /tmp/$bin;
|
||||
done
|
||||
ls -ltr /tmp
|
||||
export PATH=/tmp:$PATH
|
||||
echo $PATH
|
||||
|
||||
- name: script
|
||||
run: |
|
||||
export PATH=/tmp:$PATH
|
||||
echo $PATH
|
||||
# mv artifacts.tar.gz /tmp
|
||||
cd /tmp
|
||||
ls -la
|
||||
tar xvfz artifacts.tar.gz
|
||||
export ZOMBIE_PROVIDER="native"
|
||||
./artifacts/smoke_native --nocapture
|
||||
# cargo test --test smoke-native -- --nocapture
|
||||
|
||||
- name: collect logs
|
||||
if: always()
|
||||
run: |
|
||||
mkdir -p /tmp/zombie-1/logs
|
||||
find /tmp/zombie* -name "*.log" -type f ! -regex '.*/[0-9]+\.log' -exec cp {} /tmp/zombie-1/logs/ \; 2>/dev/null || true
|
||||
ls -la /tmp/zombie-1/logs/ || true
|
||||
|
||||
- name: upload logs
|
||||
if: always()
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: zombienet-logs-${{ github.job }}-${{ github.sha }}
|
||||
path: |
|
||||
/tmp/zombie-1/logs/*
|
||||
@@ -0,0 +1,62 @@
|
||||
name: Cargo Create Docs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
RUSTFLAGS: "-Dwarnings"
|
||||
|
||||
jobs:
|
||||
build-rust-doc:
|
||||
name: Zombienet SDK - Rust Docs
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain:
|
||||
# TODO 24-02-08: Disable nightly due to tkaitchuck/aHash#200.
|
||||
#- nightly
|
||||
- stable
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
|
||||
- name: Init nigthly install for fmt
|
||||
run: rustup update nightly && rustup default nightly && rustup component add rustfmt
|
||||
|
||||
- name: Check format
|
||||
run: cargo +nightly fmt --check --all
|
||||
|
||||
- name: Init install
|
||||
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} && rustup component add clippy
|
||||
|
||||
- name: install_deps
|
||||
run: sudo apt-get update && sudo apt-get install protobuf-compiler
|
||||
|
||||
- name: Create docs
|
||||
run: |
|
||||
cargo doc --no-deps
|
||||
echo "<meta http-equiv=\"refresh\" content=\"0; url=zombienet_sdk\">" > target/doc/index.html
|
||||
|
||||
|
||||
|
||||
- name: Move docs
|
||||
run: |
|
||||
mkdir -p ./doc
|
||||
mv ./target/doc/* ./doc
|
||||
git config user.email "github-action@users.noreply.github.com"
|
||||
git config user.name "GitHub Action"
|
||||
git config user.password "${{ secrets.GH_PAGES_TOKEN }}"
|
||||
git checkout --orphan gh-pages
|
||||
mkdir to_delete
|
||||
shopt -s extglob
|
||||
mv !(to_delete) ./to_delete
|
||||
mv ./to_delete/doc/* .
|
||||
rm -rf ./to_delete
|
||||
git add --all
|
||||
git commit -m "Documentation"
|
||||
shell: bash # Necessary for `shopt` to work
|
||||
- run: git push -f origin gh-pages:gh-pages
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
||||
@@ -0,0 +1,52 @@
|
||||
name: File server build & image publish
|
||||
run-name: Deploy file server ${{ github.ref }}
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- "Cargo.toml"
|
||||
- "crates/file-server/**"
|
||||
workflow_dispatch: {}
|
||||
|
||||
env:
|
||||
PROJECT_ID: "parity-zombienet"
|
||||
GCR_REGISTRY: "europe-west3-docker.pkg.dev"
|
||||
GCR_REPOSITORY: "zombienet-public-images"
|
||||
|
||||
jobs:
|
||||
build_and_push:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
|
||||
- name: Setup gcloud CLI
|
||||
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1
|
||||
with:
|
||||
service_account_key: ${{ secrets.GCP_SA_KEY }}
|
||||
project_id: ${{ env.PROJECT_ID }}
|
||||
export_default_credentials: true
|
||||
|
||||
- name: Login to GCP
|
||||
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
||||
with:
|
||||
credentials_json: ${{ secrets.GCP_SA_KEY }}
|
||||
|
||||
- name: Artifact registry authentication
|
||||
run: |
|
||||
gcloud auth configure-docker ${{ env.GCR_REGISTRY }}
|
||||
|
||||
- name: Build, tag, and push image to GCP Artifact registry
|
||||
id: build-image
|
||||
env:
|
||||
IMAGE: "${{ env.GCR_REGISTRY }}/${{ env.PROJECT_ID }}/${{ env.GCR_REPOSITORY }}/zombienet-file-server"
|
||||
|
||||
run: |
|
||||
docker build -t $IMAGE:${{ github.sha }} -f ./crates/file-server/Dockerfile .
|
||||
docker tag $IMAGE:${{ github.sha }} $IMAGE:latest
|
||||
docker push --all-tags $IMAGE
|
||||
echo "image=$IMAGE:${{ github.sha }}" >> $GITHUB_OUTPUT
|
||||
echo "image=$IMAGE:latest" >> $GITHUB_OUTPUT
|
||||
@@ -0,0 +1,26 @@
|
||||
name: Publish to crates.io
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
check-publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
|
||||
- name: Rust Cache
|
||||
uses: Swatinem/rust-cache@a95ba195448af2da9b00fb742d14ffaaf3c21f43 # v2.7.0
|
||||
with:
|
||||
save-if: ${{ github.ref == 'refs/heads/main' }}
|
||||
|
||||
- name: install parity-publish
|
||||
run: cargo install parity-publish@0.10.6 --locked -q
|
||||
|
||||
- name: parity-publish check
|
||||
run: parity-publish --color always check --allow-unpublished
|
||||
|
||||
# TODO: remove dry-run once we confirm everything works as expected
|
||||
- name: parity-publish dry-run
|
||||
run: parity-publish --color always apply --dry-run
|
||||
@@ -0,0 +1,67 @@
|
||||
name: Release bin for zombie-cli
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*.*.*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
target: x86_64-unknown-linux-gnu
|
||||
- os: macos-latest
|
||||
target: aarch64-apple-darwin
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # 5.0.0
|
||||
|
||||
- name: Install Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
targets: ${{ matrix.target }}
|
||||
|
||||
- name: Build release binary
|
||||
run: cargo build --release --bin zombie-cli --target ${{ matrix.target }}
|
||||
|
||||
- name: Package binary
|
||||
run: |
|
||||
mkdir -p dist
|
||||
cp target/${{ matrix.target }}/release/zombie-cli dist/zombie-cli-${{ matrix.target }}
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: zombie-cli-${{ matrix.os }}-${{ matrix.target }}-${{ github.ref_name }}
|
||||
path: dist/*
|
||||
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
|
||||
with:
|
||||
path: artifacts
|
||||
|
||||
- name: Generate checksums
|
||||
run: |
|
||||
cd artifacts
|
||||
sha256sum * > checksums.txt
|
||||
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@6cbd405e2c4e67a21c47fa9e383d020e4e28b836 # v2.3.3
|
||||
with:
|
||||
files: |
|
||||
artifacts/**/*
|
||||
artifacts/checksums.txt
|
||||
generate_release_notes: true
|
||||
draft: true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -0,0 +1,31 @@
|
||||
name: Spellcheck
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
spellcheck:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
|
||||
- name: Install Rust
|
||||
uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1.0.0
|
||||
with:
|
||||
toolchain: stable
|
||||
|
||||
- name: Install cargo-spellcheck
|
||||
run: |
|
||||
sudo apt-get install libclang-dev
|
||||
export LIBCLANG_PATH=/usr/lib/llvm-18/lib/
|
||||
cargo install cargo-spellcheck
|
||||
|
||||
- name: Run cargo-spellcheck
|
||||
run: cargo spellcheck
|
||||
Reference in New Issue
Block a user