[rustjava-zipfile-close-not-registered] ZipFile.close() 등재 #326
Workflow file for this run
This file contains hidden or 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
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: | |
| - opened | |
| - synchronize | |
| name: Rust CI | |
| jobs: | |
| rust_ci: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos-latest, ubuntu-latest, windows-latest] | |
| rust: [stable, beta] | |
| steps: | |
| - name: Prepare git | |
| if: startsWith(matrix.os, 'windows') | |
| run: |- | |
| git config --global core.autocrlf false | |
| git config --global core.eol lf | |
| - uses: actions/checkout@v7 | |
| with: | |
| submodules: "recursive" | |
| - name: Cache cargo | |
| uses: actions/cache@v6 | |
| with: | |
| path: ~/.cargo | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: ${{ runner.os }}-cargo | |
| - name: Cache cargo build | |
| uses: actions/cache@v6 | |
| with: | |
| path: target | |
| key: ${{ runner.os }}-${{ matrix.rust }}-build-target-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: ${{ runner.os }}-${{ matrix.rust }}-build-target- | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: ${{ matrix.rust }} | |
| targets: wasm32-unknown-unknown | |
| components: rustfmt, clippy | |
| - run: cargo fmt --all -- --check | |
| - run: cargo clippy --all -- -D warnings | |
| # test-utils requires tokio rt-multi-thread, which does not compile on wasm | |
| - run: cargo clippy --workspace --exclude test-utils --target wasm32-unknown-unknown -- -D warnings | |
| - run: cargo test --all | |
| # docs-only lock (AGENTS.md "Round Worklog") — one runner, not the 6-cell matrix | |
| worklog_json: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 2 # HEAD^1 = base side of the PR merge commit (or previous main on push) | |
| - run: python3 scripts/check-worklog-json.py | |
| env: | |
| WORKLOG_BASE: HEAD^1 | |
| - run: python3 scripts/check-ledgers-frozen.py | |
| # a conflict resolution that drops one side's work leaves no other trace: no marker, mergeable | |
| # CLEAN, suite green. fetch-depth 0 because the check needs the merge commits and their parents, | |
| # which a shallow checkout does not have. One runner, not the matrix. | |
| merge_drops: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - run: python3 scripts/check-merge-dropped-symbols.py | |
| # parity lock: the CLAUDE.md DoD block must reproduce this file's checks (see the script's | |
| # docstring — hand comparison failed five rounds in a row). One runner, not the matrix. | |
| dod_parity: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - run: python3 scripts/check-dod-ci-parity.py | |
| # Jvm::exception returns whatever new_class() failed with, so naming a class the loader cannot | |
| # resolve raises NoClassDefFoundError instead of the intended exception. This compares the literal | |
| # names against the registered protos. One runner, not the matrix. | |
| named_exception_classes: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - run: python3 scripts/check-named-exception-classes-are-loadable.py |