# @generated by ci-gen, do not edit on: - push - pull_request name: CI jobs: linux-stable-default-features: name: linux stable (default features) runs-on: ubuntu-latest env: RUST_BACKTRACE: 1 steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Cache protobuf uses: actions/cache@v2 with: key: pb-linux-3.19.4 path: ~/pb env: cache-name: pb - name: Install protobuf run: ci/install-protobuf.sh shell: bash env: PROTOBUF_VERSION: 3.19.4 - name: Protoc check run: protoc --version shell: bash - name: Compile interop run: test-crates/interop/cxx/compile.sh shell: bash - name: Regenerate run: protobuf/regenerate.sh shell: bash - name: Test all run: cargo test --all --all-targets shell: bash - name: Test all run: cargo test shell: bash - name: cargo doc uses: actions-rs/cargo@v1 with: command: doc linux-beta-default-features: name: linux beta (default features) runs-on: ubuntu-latest env: RUST_BACKTRACE: 1 steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: beta override: true - name: Cache protobuf uses: actions/cache@v2 with: key: pb-linux-3.19.4 path: ~/pb env: cache-name: pb - name: Install protobuf run: ci/install-protobuf.sh shell: bash env: PROTOBUF_VERSION: 3.19.4 - name: Protoc check run: protoc --version shell: bash - name: Compile interop run: test-crates/interop/cxx/compile.sh shell: bash - name: Regenerate run: protobuf/regenerate.sh shell: bash - name: Test all run: cargo test --all --all-targets shell: bash - name: Test all run: cargo test shell: bash - name: cargo doc uses: actions-rs/cargo@v1 with: command: doc linux-stable-with-bytes: name: linux stable (with-bytes) runs-on: ubuntu-latest env: RUST_BACKTRACE: 1 steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Cache protobuf uses: actions/cache@v2 with: key: pb-linux-3.19.4 path: ~/pb env: cache-name: pb - name: Install protobuf run: ci/install-protobuf.sh shell: bash env: PROTOBUF_VERSION: 3.19.4 - name: Protoc check run: protoc --version shell: bash - name: Compile interop run: test-crates/interop/cxx/compile.sh shell: bash - name: protobuf-codegen-protoc-test uses: actions-rs/cargo@v1 with: command: test args: --manifest-path=test-crates/protobuf-codegen-protoc-test/Cargo.toml --features=with-bytes - name: protobuf-codegen-pure-test uses: actions-rs/cargo@v1 with: command: test args: --manifest-path=test-crates/protobuf-codegen-pure-test/Cargo.toml --features=with-bytes linux-nightly-all-features: name: linux nightly (all features) runs-on: ubuntu-latest env: RUST_BACKTRACE: 1 steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true - name: Cache protobuf uses: actions/cache@v2 with: key: pb-linux-3.19.4 path: ~/pb env: cache-name: pb - name: Install protobuf run: ci/install-protobuf.sh shell: bash env: PROTOBUF_VERSION: 3.19.4 - name: Protoc check run: protoc --version shell: bash - name: Compile interop run: test-crates/interop/cxx/compile.sh shell: bash - name: Test all run: cargo test --all --all-targets --all-features shell: bash - name: Test all run: cargo test --all-features shell: bash - name: cargo doc uses: actions-rs/cargo@v1 with: command: doc args: --all-features windows-stable-default-features: name: windows stable (default features) runs-on: windows-latest env: RUST_BACKTRACE: 1 VCPKGRS_DYNAMIC: 1 steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Cache protobuf uses: actions/cache@v2 with: key: pb-windows-3.19.4 path: ~/pb env: cache-name: pb - name: Install protobuf run: ci/install-protobuf.sh shell: bash env: PROTOBUF_VERSION: 3.19.4 - name: Protoc check run: protoc --version shell: bash - name: Test all run: cargo test --all --all-targets shell: bash miri-test: name: Miri test runs-on: ubuntu-latest timeout-minutes: 5 env: RUST_BACKTRACE: 1 RUST_TEST_THREADS: 1 MIRIFLAGS: -Zmiri-tag-raw-pointers steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true components: miri - name: cargo-miri-setup uses: actions-rs/cargo@v1 with: command: miri args: setup - name: cargo-miri-test uses: actions-rs/cargo@v1 with: command: miri args: test -p protobuf --lib --all-features mega-linter: name: mega-linter runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 with: fetch-depth: 0 - name: mega-linter uses: megalinter/megalinter@v5 env: VALIDATE_ALL_CODEBASE: false DEFAULT_BRANCH: master GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} VALIDATE_JSCPD: false VALIDATE_PROTOBUF: false VALIDATE_RUST_CLIPPY: false VALIDATE_RUST_2015: false VALIDATE_COPYPASTE: false VALIDATE_SPELL: false rustfmt-check: name: rustfmt check runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Cache protobuf uses: actions/cache@v2 with: key: pb-linux-3.19.4 path: ~/pb env: cache-name: pb - name: Install protobuf run: ci/install-protobuf.sh shell: bash env: PROTOBUF_VERSION: 3.19.4 - name: Protoc check run: protoc --version shell: bash - name: cargo check uses: actions-rs/cargo@v1 with: command: check - name: cargo fmt check run: cargo fmt -- --check shell: bash cargo-sync-readme: name: Check sync-readme runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: install cargo sync-readme run: cargo install cargo-sync-readme shell: bash - name: sync-readme protobuf run: cd protobuf && cargo sync-readme --check shell: bash - name: sync-readme protobuf-codegen run: cd protobuf-codegen && cargo sync-readme --check shell: bash - name: sync-readme protobuf-examples/customize-serde run: cd protobuf-examples/customize-serde && cargo sync-readme --check shell: bash - name: sync-readme protobuf-examples/vs-prost run: cd protobuf-examples/vs-prost && cargo sync-readme --check shell: bash - name: sync-readme protobuf-json-mapping run: cd protobuf-json-mapping && cargo sync-readme --check shell: bash - name: sync-readme protobuf-parse run: cd protobuf-parse && cargo sync-readme --check shell: bash - name: sync-readme protobuf-support run: cd protobuf-support && cargo sync-readme --check shell: bash self-check: name: CI self-check runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: The check run: cargo run -p ci-gen -- --check shell: bash