11a0216d1Sopenharmony_ciname: CI
21a0216d1Sopenharmony_ci
31a0216d1Sopenharmony_cion:
41a0216d1Sopenharmony_ci  push:
51a0216d1Sopenharmony_ci    branches:
61a0216d1Sopenharmony_ci      - main
71a0216d1Sopenharmony_ci  pull_request:
81a0216d1Sopenharmony_ci
91a0216d1Sopenharmony_cijobs:
101a0216d1Sopenharmony_ci  rustfmt:
111a0216d1Sopenharmony_ci    name: Rustfmt
121a0216d1Sopenharmony_ci    runs-on: ubuntu-latest
131a0216d1Sopenharmony_ci    steps:
141a0216d1Sopenharmony_ci    - uses: actions/checkout@v3
151a0216d1Sopenharmony_ci      with:
161a0216d1Sopenharmony_ci        submodules: true
171a0216d1Sopenharmony_ci    - uses: ./.github/actions/install-rust
181a0216d1Sopenharmony_ci      with:
191a0216d1Sopenharmony_ci        toolchain: stable
201a0216d1Sopenharmony_ci    - run: cargo fmt --all -- --check
211a0216d1Sopenharmony_ci
221a0216d1Sopenharmony_ci  check:
231a0216d1Sopenharmony_ci    name: Check
241a0216d1Sopenharmony_ci    runs-on: ${{ matrix.os }}
251a0216d1Sopenharmony_ci    strategy:
261a0216d1Sopenharmony_ci      matrix:
271a0216d1Sopenharmony_ci        build: [stable, nightly]
281a0216d1Sopenharmony_ci        include:
291a0216d1Sopenharmony_ci          - build: stable
301a0216d1Sopenharmony_ci            os: ubuntu-latest
311a0216d1Sopenharmony_ci            rust: stable
321a0216d1Sopenharmony_ci          - build: nightly
331a0216d1Sopenharmony_ci            os: ubuntu-latest
341a0216d1Sopenharmony_ci            rust: nightly
351a0216d1Sopenharmony_ci
361a0216d1Sopenharmony_ci    env:
371a0216d1Sopenharmony_ci      # -D warnings is commented out in our install-rust action; re-add it here.
381a0216d1Sopenharmony_ci      RUSTFLAGS: -D warnings
391a0216d1Sopenharmony_ci    steps:
401a0216d1Sopenharmony_ci    - uses: actions/checkout@v3
411a0216d1Sopenharmony_ci      with:
421a0216d1Sopenharmony_ci        submodules: true
431a0216d1Sopenharmony_ci    - uses: ./.github/actions/install-rust
441a0216d1Sopenharmony_ci      with:
451a0216d1Sopenharmony_ci        toolchain: ${{ matrix.rust }}
461a0216d1Sopenharmony_ci
471a0216d1Sopenharmony_ci    - run: rustup target add x86_64-apple-darwin
481a0216d1Sopenharmony_ci    - run: cargo check --workspace --release -vv
491a0216d1Sopenharmony_ci    - run: cargo check --workspace --release -vv --features=fs-err,os_pipe # TODO: use --all-features
501a0216d1Sopenharmony_ci    - run: cargo check --workspace --release -vv --target=x86_64-apple-darwin
511a0216d1Sopenharmony_ci    - run: cargo check --workspace --release -vv --target=x86_64-apple-darwin --features=fs-err,os_pipe # TODO: use --all-features
521a0216d1Sopenharmony_ci
531a0216d1Sopenharmony_ci  check-1_48:
541a0216d1Sopenharmony_ci    name: Check
551a0216d1Sopenharmony_ci    runs-on: ${{ matrix.os }}
561a0216d1Sopenharmony_ci    strategy:
571a0216d1Sopenharmony_ci      matrix:
581a0216d1Sopenharmony_ci        build: [1.48]
591a0216d1Sopenharmony_ci        include:
601a0216d1Sopenharmony_ci          - build: 1.48
611a0216d1Sopenharmony_ci            os: ubuntu-latest
621a0216d1Sopenharmony_ci            rust: 1.48
631a0216d1Sopenharmony_ci
641a0216d1Sopenharmony_ci    env:
651a0216d1Sopenharmony_ci      # -D warnings is commented out in our install-rust action; re-add it here.
661a0216d1Sopenharmony_ci      RUSTFLAGS: -D warnings
671a0216d1Sopenharmony_ci    steps:
681a0216d1Sopenharmony_ci    - uses: actions/checkout@v3
691a0216d1Sopenharmony_ci      with:
701a0216d1Sopenharmony_ci        submodules: true
711a0216d1Sopenharmony_ci    - uses: ./.github/actions/install-rust
721a0216d1Sopenharmony_ci      with:
731a0216d1Sopenharmony_ci        toolchain: ${{ matrix.rust }}
741a0216d1Sopenharmony_ci
751a0216d1Sopenharmony_ci    - run: rustup target add x86_64-apple-darwin
761a0216d1Sopenharmony_ci    - run: cargo check --workspace --release -vv
771a0216d1Sopenharmony_ci    - run: cargo check --workspace --release -vv --target=x86_64-apple-darwin
781a0216d1Sopenharmony_ci
791a0216d1Sopenharmony_ci  check-windows:
801a0216d1Sopenharmony_ci    name: Check Windows
811a0216d1Sopenharmony_ci    runs-on: ${{ matrix.os }}
821a0216d1Sopenharmony_ci    strategy:
831a0216d1Sopenharmony_ci      matrix:
841a0216d1Sopenharmony_ci        build: [stable, nightly]
851a0216d1Sopenharmony_ci        include:
861a0216d1Sopenharmony_ci          - build: stable
871a0216d1Sopenharmony_ci            os: windows-latest
881a0216d1Sopenharmony_ci            rust: stable
891a0216d1Sopenharmony_ci          - build: nightly
901a0216d1Sopenharmony_ci            os: windows-latest
911a0216d1Sopenharmony_ci            rust: nightly
921a0216d1Sopenharmony_ci
931a0216d1Sopenharmony_ci    env:
941a0216d1Sopenharmony_ci      # -D warnings is commented out in our install-rust action; re-add it here.
951a0216d1Sopenharmony_ci      RUSTFLAGS: -D warnings
961a0216d1Sopenharmony_ci    steps:
971a0216d1Sopenharmony_ci    - uses: actions/checkout@v3
981a0216d1Sopenharmony_ci      with:
991a0216d1Sopenharmony_ci        submodules: true
1001a0216d1Sopenharmony_ci    - uses: ./.github/actions/install-rust
1011a0216d1Sopenharmony_ci      with:
1021a0216d1Sopenharmony_ci        toolchain: ${{ matrix.rust }}
1031a0216d1Sopenharmony_ci
1041a0216d1Sopenharmony_ci    - run: cargo check --workspace --release -vv
1051a0216d1Sopenharmony_ci    - run: cargo check --workspace --release -vv --features=fs-err,os_pipe # TODO: use --all-features
1061a0216d1Sopenharmony_ci
1071a0216d1Sopenharmony_ci  check-windows-1_48:
1081a0216d1Sopenharmony_ci    name: Check Windows
1091a0216d1Sopenharmony_ci    runs-on: ${{ matrix.os }}
1101a0216d1Sopenharmony_ci    strategy:
1111a0216d1Sopenharmony_ci      matrix:
1121a0216d1Sopenharmony_ci        build: [1.48]
1131a0216d1Sopenharmony_ci        include:
1141a0216d1Sopenharmony_ci          - build: 1.48
1151a0216d1Sopenharmony_ci            os: windows-latest
1161a0216d1Sopenharmony_ci            rust: 1.48
1171a0216d1Sopenharmony_ci
1181a0216d1Sopenharmony_ci    env:
1191a0216d1Sopenharmony_ci      # -D warnings is commented out in our install-rust action; re-add it here.
1201a0216d1Sopenharmony_ci      RUSTFLAGS: -D warnings
1211a0216d1Sopenharmony_ci    steps:
1221a0216d1Sopenharmony_ci    - uses: actions/checkout@v3
1231a0216d1Sopenharmony_ci      with:
1241a0216d1Sopenharmony_ci        submodules: true
1251a0216d1Sopenharmony_ci    - uses: ./.github/actions/install-rust
1261a0216d1Sopenharmony_ci      with:
1271a0216d1Sopenharmony_ci        toolchain: ${{ matrix.rust }}
1281a0216d1Sopenharmony_ci
1291a0216d1Sopenharmony_ci    - run: cargo check --workspace --release -vv
1301a0216d1Sopenharmony_ci
1311a0216d1Sopenharmony_ci  test:
1321a0216d1Sopenharmony_ci    name: Test
1331a0216d1Sopenharmony_ci    runs-on: ${{ matrix.os }}
1341a0216d1Sopenharmony_ci    strategy:
1351a0216d1Sopenharmony_ci      matrix:
1361a0216d1Sopenharmony_ci        build: [ubuntu-nightly, windows-nightly, ubuntu-stable, windows-stable]
1371a0216d1Sopenharmony_ci        include:
1381a0216d1Sopenharmony_ci          - build: ubuntu-nightly
1391a0216d1Sopenharmony_ci            os: ubuntu-latest
1401a0216d1Sopenharmony_ci            rust: nightly
1411a0216d1Sopenharmony_ci          - build: windows-nightly
1421a0216d1Sopenharmony_ci            os: windows-latest
1431a0216d1Sopenharmony_ci            rust: nightly
1441a0216d1Sopenharmony_ci          - build: ubuntu-stable
1451a0216d1Sopenharmony_ci            os: ubuntu-latest
1461a0216d1Sopenharmony_ci            rust: stable
1471a0216d1Sopenharmony_ci          - build: windows-stable
1481a0216d1Sopenharmony_ci            os: windows-latest
1491a0216d1Sopenharmony_ci            rust: stable
1501a0216d1Sopenharmony_ci
1511a0216d1Sopenharmony_ci    steps:
1521a0216d1Sopenharmony_ci    - uses: actions/checkout@v3
1531a0216d1Sopenharmony_ci      with:
1541a0216d1Sopenharmony_ci        submodules: true
1551a0216d1Sopenharmony_ci    - uses: ./.github/actions/install-rust
1561a0216d1Sopenharmony_ci      with:
1571a0216d1Sopenharmony_ci        toolchain: ${{ matrix.rust }}
1581a0216d1Sopenharmony_ci    - run: cargo test --workspace --features=fs-err,os_pipe # TODO: use --all-features
1591a0216d1Sopenharmony_ci    - run: cargo test --workspace --no-default-features
1601a0216d1Sopenharmony_ci
1611a0216d1Sopenharmony_ci  check_nightly:
1621a0216d1Sopenharmony_ci    name: Check on Rust nightly
1631a0216d1Sopenharmony_ci    runs-on: ${{ matrix.os }}
1641a0216d1Sopenharmony_ci    strategy:
1651a0216d1Sopenharmony_ci      matrix:
1661a0216d1Sopenharmony_ci        build: [nightly]
1671a0216d1Sopenharmony_ci        include:
1681a0216d1Sopenharmony_ci          - build: nightly
1691a0216d1Sopenharmony_ci            os: ubuntu-latest
1701a0216d1Sopenharmony_ci            rust: nightly
1711a0216d1Sopenharmony_ci
1721a0216d1Sopenharmony_ci    steps:
1731a0216d1Sopenharmony_ci    - uses: actions/checkout@v3
1741a0216d1Sopenharmony_ci      with:
1751a0216d1Sopenharmony_ci        submodules: true
1761a0216d1Sopenharmony_ci    - uses: ./.github/actions/install-rust
1771a0216d1Sopenharmony_ci      with:
1781a0216d1Sopenharmony_ci        toolchain: ${{ matrix.rust }}
1791a0216d1Sopenharmony_ci    - run: >
1801a0216d1Sopenharmony_ci        rustup target add
1811a0216d1Sopenharmony_ci        wasm32-wasi
1821a0216d1Sopenharmony_ci    - run: cargo check --workspace --release -vv --target=wasm32-wasi
183