Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Finish extraction into a compilable state #1

Merged
merged 9 commits into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 8 additions & 91 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ env:
RUST_BACKTRACE: 1
RUSTFLAGS: -Dwarnings
RUSTDOCFLAGS: -Dwarnings
MSRV: "1.76"
MSRV: "1.77"
SCCACHE_CACHE_SIZE: "50G"
IROH_FORCE_STAGING_RELAYS: "1"

Expand Down Expand Up @@ -147,23 +147,6 @@ jobs:
env:
RUST_LOG: ${{ runner.debug && 'TRACE' || 'DEBUG' }}


wasm_build:
name: Build wasm32
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable

- name: Add wasm target
run: rustup target add wasm32-unknown-unknown

- name: wasm32 build (iroh-base)
run: cargo build -p iroh-base --all-features --target wasm32-unknown-unknown

check_semver:
runs-on: ubuntu-latest
env:
Expand All @@ -190,7 +173,7 @@ jobs:
# uses: obi1kenobi/cargo-semver-checks-action@v2
uses: n0-computer/cargo-semver-checks-action@feat-baseline
with:
package: iroh, iroh-base, iroh-cli, iroh-dns-server, iroh-metrics, iroh-net, iroh-net-bench, iroh-router, netwatch, portmapper, iroh-relay
package: iroh-willow
baseline-rev: ${{ env.HEAD_COMMIT_SHA }}
use-cache: false

Expand Down Expand Up @@ -226,7 +209,7 @@ jobs:
uses: mozilla-actions/[email protected]

- name: Docs
run: cargo doc --workspace --all-features --no-deps --document-private-items
run: cargo doc --all-features --no-deps --document-private-items
env:
RUSTDOCFLAGS: --cfg docsrs

Expand All @@ -247,13 +230,13 @@ jobs:
# TODO: We have a bunch of platform-dependent code so should
# probably run this job on the full platform matrix
- name: clippy check (all features)
run: cargo clippy --workspace --all-features --all-targets --bins --tests --benches
run: cargo clippy --all-features --all-targets --bins --tests --benches

- name: clippy check (no features)
run: cargo clippy --workspace --no-default-features --lib --bins --tests
run: cargo clippy --no-default-features --lib --bins --tests

- name: clippy check (default features)
run: cargo clippy --workspace --all-targets
run: cargo clippy --all-targets

msrv:
if: "github.event_name != 'pull_request' || ! contains(github.event.pull_request.labels.*.name, 'flaky-test')"
Expand All @@ -273,7 +256,7 @@ jobs:

- name: Check MSRV all features
run: |
cargo +$MSRV check --workspace --all-targets
cargo +$MSRV check --all-targets

cargo_deny:
timeout-minutes: 30
Expand All @@ -283,76 +266,10 @@ jobs:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v2
with:
arguments: --workspace --all-features
arguments: --all-features
command: check
command-arguments: "-Dwarnings"

netsim-integration-tests:
permissions: write-all
if: "github.event_name != 'pull_request' || ! contains(github.event.pull_request.labels.*.name, 'flaky-test')"
uses: './.github/workflows/netsim_runner.yaml'
secrets: inherit
with:
branch: ${{ github.ref }}
max_workers: 4
netsim_branch: "main"
sim_paths: "sims/iroh/iroh.json,sims/integration"
pr_number: ${{ github.event.pull_request.number || '' }}

docker_build_and_test:
name: Docker Test
if: "github.event_name != 'pull_request' || ! contains(github.event.pull_request.labels.*.name, 'flaky-test')"
timeout-minutes: 30
runs-on: [self-hosted, linux, X64]
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable

- name: Install sccache
uses: mozilla-actions/[email protected]

- name: Prep
run: sudo apt-get install musl-tools -y

- name: Build iroh
run: cargo build --profile=dev-ci --all-features --bin iroh --target x86_64-unknown-linux-musl

- name: Prep bins
run: |
mkdir -p bins/linux/amd64
cp target/x86_64-unknown-linux-musl/dev-ci/iroh bins/linux/amd64/iroh

- name: Cleanup Docker
continue-on-error: true
run: |
docker kill $(docker ps -q)

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build Docker image
uses: docker/build-push-action@v6
with:
context: .
push: false
load: true
tags: n0computer/iroh-test:latest
target: iroh
platforms: linux/amd64
file: docker/Dockerfile.ci

- name: Run Docker image & stats test
run: |
docker run -p 9090:9090 -p 4919:4919/udp -Pd n0computer/iroh-test:latest --rpc-addr 0.0.0.0:4919 start
# Give the server time to start
sleep 3
target/x86_64-unknown-linux-musl/dev-ci/iroh --rpc-addr 127.0.0.1:4919 stats

codespell:
timeout-minutes: 30
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ env:
RUSTFLAGS: -Dwarnings
RUSTDOCFLAGS: -Dwarnings
SCCACHE_CACHE_SIZE: "50G"
CRATES_LIST: "iroh,iroh-metrics,iroh-net,iroh-net-bench,iroh-test,iroh-cli,iroh-dns-server,iroh-router,netwatch,portmapper,iroh-relay"
CRATES_LIST: "iroh-willow"
IROH_FORCE_STAGING_RELAYS: "1"

jobs:
Expand Down
Loading
Loading