From 75af34a896671113c3d6986bb1192cdc1a846880 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Tue, 30 Apr 2024 17:50:31 +0200 Subject: [PATCH] wip --- .gitea/workflows/build-and-test.yml | 178 ++++++++++++++-------------- .gitea/workflows/build-docs.yml | 39 ++++++ 2 files changed, 130 insertions(+), 87 deletions(-) create mode 100644 .gitea/workflows/build-docs.yml diff --git a/.gitea/workflows/build-and-test.yml b/.gitea/workflows/build-and-test.yml index 873fc10..1a79090 100644 --- a/.gitea/workflows/build-and-test.yml +++ b/.gitea/workflows/build-and-test.yml @@ -6,105 +6,109 @@ on: pull_request: jobs: - build: - runs-on: ubuntu-latest-personal - steps: - - uses: actions/checkout@v3 + # build: + # runs-on: ubuntu-latest-personal + # steps: + # - uses: actions/checkout@v3 - - name: Install latest nightly toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - components: rustfmt, clippy + # - name: Install latest nightly toolchain + # uses: actions-rs/toolchain@v1 + # with: + # toolchain: nightly + # override: true - - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + # - name: Cache dependencies + # uses: Swatinem/rust-cache@v2 - - name: Build - run: cargo build --all-features --verbose --release + # - name: Build + # run: cargo build --all-features --verbose --release - check: - runs-on: ubuntu-latest-personal - steps: - - uses: actions/checkout@v3 + # check: + # runs-on: ubuntu-latest-personal + # steps: + # - uses: actions/checkout@v3 - - name: Install latest nightly toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - components: rustfmt, clippy + # - name: Install latest nightly toolchain + # uses: actions-rs/toolchain@v1 + # with: + # toolchain: nightly + # override: true + # components: rustfmt, clippy - - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + # - name: Cache dependencies + # uses: Swatinem/rust-cache@v2 - - name: Check code format - run: cargo fmt -- --check + # - name: Check code format + # run: cargo fmt -- --check - - name: Check clippy - run: cargo clippy --all-features -- --deny warnings + # - name: Check clippy + # run: cargo clippy --all-features -- --deny warnings - test: - runs-on: ubuntu-latest-personal - steps: - - uses: actions/checkout@v3 - - uses: cargo-bins/cargo-binstall@main + # test: + # runs-on: ubuntu-latest-personal + # steps: + # - uses: actions/checkout@v3 + # - uses: cargo-bins/cargo-binstall@main - - name: Install latest nightly toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - components: rustfmt, clippy, llvm-tools-preview + # - name: Install mpv + # run: apt-get update && apt-get install -y mpv - - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + # - name: Install latest nightly toolchain + # uses: actions-rs/toolchain@v1 + # with: + # toolchain: nightly + # override: true + # components: llvm-tools-preview - - name: Create necessary directories - run: mkdir -p target/test-report + # - name: Cache dependencies + # uses: Swatinem/rust-cache@v2 - - name: Run tests - run: cargo test --all-features --release -Z unstable-options --report-time --format json | tee target/test-report/test-report.json - env: - RUSTFLAGS: "-Cinstrument-coverage" - LLVM_PROFILE_FILE: "target/release/coverage/%p-%m.profraw" - - - name: Install markdown-test-report - run: cargo binstall -y markdown-test-report + # - name: Create necessary directories + # run: mkdir -p target/test-report - - name: Generate test report - run: markdown-test-report target/test-report/test-report.json target/test-report/test-report.md + # - name: Run tests + # run: | + # cargo test --all-features --release --no-fail-fast -- -Zunstable-options --format json --report-time \ + # | tee target/test-report/test-report.json + # env: + # RUSTFLAGS: "-Cinstrument-coverage" + # LLVM_PROFILE_FILE: "target/coverage/%p-%m.profraw" - - name: Upload test report - uses: actions/upload-artifact@v4 - with: - name: test-report - path: target/test-report/test-report.md - - - name: Install grcov - run: cargo binstall -y grcov - - - name: Generate coverage report - run: | - grcov \ - --source-dir . \ - --binary-path ./target/release/deps/ \ - --excl-start 'mod test* \{' \ - --ignore 'tests/*' \ - --ignore "*test.rs" \ - --ignore "*tests.rs" \ - --ignore "*github.com*" \ - --ignore "*libcore*" \ - --ignore "*rustc*" \ - --ignore "*liballoc*" \ - --ignore "*cargo*" \ - -t html \ - -o ./target/coverage/html \ - target/coverage/prof - - - name: Upload coverage report - uses: actions/upload-artifact@v4 - with: - name: coverage - path: target/coverage/html + # - name: Install markdown-test-report + # run: cargo binstall -y markdown-test-report + + # - name: Generate test report + # run: markdown-test-report target/test-report/test-report.json --output target/test-report/test-report.md + + # - name: Upload test report + # uses: actions/upload-artifact@v3 + # with: + # name: test-report.md + # path: target/test-report/test-report.md + + # - name: Install grcov + # run: cargo binstall -y grcov + + # - name: Generate coverage report + # run: | + # grcov \ + # --source-dir . \ + # --binary-path ./target/release/deps/ \ + # --excl-start 'mod test* \{' \ + # --ignore 'tests/*' \ + # --ignore "*test.rs" \ + # --ignore "*tests.rs" \ + # --ignore "*github.com*" \ + # --ignore "*libcore*" \ + # --ignore "*rustc*" \ + # --ignore "*liballoc*" \ + # --ignore "*cargo*" \ + # -t html \ + # -o ./target/coverage/html \ + # target/coverage/ + + # - name: Upload coverage report + # uses: actions/upload-artifact@v3 + # with: + # name: coverage + # path: target/coverage/html diff --git a/.gitea/workflows/build-docs.yml b/.gitea/workflows/build-docs.yml new file mode 100644 index 0000000..349dbbb --- /dev/null +++ b/.gitea/workflows/build-docs.yml @@ -0,0 +1,39 @@ +name: "Build docs" +on: + push: + # branches: + # - master +jobs: + docs: + runs-on: ubuntu-latest-personal + steps: + - uses: actions/checkout@v3 + + - name: Install latest nightly toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + + - name: Cache dependencies + uses: Swatinem/rust-cache@v2 + + - name: Build docs + run: cargo doc --all-features --document-private-items --release + + - name: Install rsync + run: apt-get update && apt-get install -y rsync + + - name: Install SSH key + run: | + mkdir -p ~/.ssh + echo "${{ secrets.OYSTEIKT_GITEA_WEBDOCS_SSH_KEY }}" > ~/.ssh/key && chmod 600 ~/.ssh/key + + - name: Deploy docs + run: rsync --archive --compress --verbose --mkpath --rsh="ssh -oBatchMode=yes -i ~/.ssh/key" "target/docs" "oysteikt@microbel.pvv.ntnu.no:~/web-docs/gitea/${{ gitea.repository }}/${{ gitea.ref }}" + + # - name: Upload docs + # uses: actions/upload-artifact@v3 + # with: + # name: docs + # path: target/doc \ No newline at end of file