From fc58894a67f5678a24f660fe86992e6c86b550a6 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Wed, 1 May 2024 14:03:49 +0200 Subject: [PATCH] wip --- .gitea/workflows/build-and-test.yml | 234 +++++++++++++++++----------- .gitea/workflows/build-docs.yml | 44 ------ 2 files changed, 146 insertions(+), 132 deletions(-) delete mode 100644 .gitea/workflows/build-docs.yml diff --git a/.gitea/workflows/build-and-test.yml b/.gitea/workflows/build-and-test.yml index 518b287..9d92eae 100644 --- a/.gitea/workflows/build-and-test.yml +++ b/.gitea/workflows/build-and-test.yml @@ -6,7 +6,122 @@ on: pull_request: jobs: - build: + # 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 + + # - name: Cache dependencies + # uses: Swatinem/rust-cache@v2 + + # - name: Build + # run: cargo build --all-features --verbose --release + + # 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: Cache dependencies + # uses: Swatinem/rust-cache@v2 + + # - name: Check code format + # run: cargo fmt -- --check + + # - 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 + + # - name: Install mpv + # run: apt-get update && apt-get install -y mpv + + # - name: Install latest nightly toolchain + # uses: actions-rs/toolchain@v1 + # with: + # toolchain: nightly + # override: true + # components: llvm-tools-preview + + # - name: Cache dependencies + # uses: Swatinem/rust-cache@v2 + + # - name: Create necessary directories + # run: mkdir -p target/test-report + + # - 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: 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: https://git.pvv.ntnu.no/oysteikt/rsync-action@main + # with: + # source: target/test-report/test-report.md + # target: mpvipc/${{ gitea.ref_name }}/ + # username: oysteikt + # ssh-key: ${{ secrets.OYSTEIKT_GITEA_WEBDOCS_SSH_KEY }} + # host: microbel.pvv.ntnu.no + # known-hosts: "microbel.pvv.ntnu.no ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEq0yasKP0mH6PI6ypmuzPzMnbHELo9k+YB5yW534aKudKZS65YsHJKQ9vapOtmegrn5MQbCCgrshf+/XwZcjbM=" + + # - 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 test report + # uses: https://git.pvv.ntnu.no/oysteikt/rsync-action@main + # with: + # source: target/coverage/html/ + # target: mpvipc/${{ gitea.ref_name }}/coverage/ + # username: oysteikt + # ssh-key: ${{ secrets.OYSTEIKT_GITEA_WEBDOCS_SSH_KEY }} + # host: microbel.pvv.ntnu.no + # known-hosts: "microbel.pvv.ntnu.no ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEq0yasKP0mH6PI6ypmuzPzMnbHELo9k+YB5yW534aKudKZS65YsHJKQ9vapOtmegrn5MQbCCgrshf+/XwZcjbM=" + + docs: runs-on: ubuntu-latest-personal steps: - uses: actions/checkout@v3 @@ -20,95 +135,38 @@ jobs: - name: Cache dependencies uses: Swatinem/rust-cache@v2 - - name: Build - run: cargo build --all-features --verbose --release + - name: Build docs + run: cargo doc --all-features --document-private-items --release - check: - runs-on: ubuntu-latest-personal - steps: - - uses: actions/checkout@v3 - - - name: Install latest nightly toolchain - uses: actions-rs/toolchain@v1 + - name: Transfer files + uses: https://git.pvv.ntnu.no/oysteikt/rsync-action@main with: - toolchain: nightly - override: true - components: rustfmt, clippy + source: target/doc/ + target: mpvipc/${{ gitea.ref_name }}/docs/ + username: oysteikt + ssh-key: ${{ secrets.OYSTEIKT_GITEA_WEBDOCS_SSH_KEY }} + host: microbel.pvv.ntnu.no + known-hosts: "microbel.pvv.ntnu.no ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEq0yasKP0mH6PI6ypmuzPzMnbHELo9k+YB5yW534aKudKZS65YsHJKQ9vapOtmegrn5MQbCCgrshf+/XwZcjbM=" - - name: Cache dependencies - uses: Swatinem/rust-cache@v2 + # ssh-key: ${{ secrets.SSH_KEY }} + # - name: Install rsync + # run: apt-get update && apt-get install -y rsync - - name: Check code format - run: cargo fmt -- --check + # - name: Install SSH key + # run: | + # mkdir -p ~/.ssh + # cat <~/.ssh/key + # ${{ secrets.OYSTEIKT_GITEA_WEBDOCS_SSH_KEY }} + # EOF + # chmod 600 ~/.ssh/key - - 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 - - - name: Install mpv - run: apt-get update && apt-get install -y mpv - - - name: Install latest nightly toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - components: llvm-tools-preview - - - name: Cache dependencies - uses: Swatinem/rust-cache@v2 - - - name: Create necessary directories - run: mkdir -p target/test-report - - - 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: 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 + # - name: Deploy docs + # run: | + # rsync \ + # --archive \ + # --compress \ + # --verbose \ + # --mkpath \ + # --rsh="ssh -oBatchMode=yes -oStrictHostKeyChecking=accept-new -i ~/.ssh/key" \ + # "target/doc/" \ + # "oysteikt@microbel.pvv.ntnu.no:mpvipc/${{ gitea.ref_name }}/docs/" \ No newline at end of file diff --git a/.gitea/workflows/build-docs.yml b/.gitea/workflows/build-docs.yml deleted file mode 100644 index 8f27f21..0000000 --- a/.gitea/workflows/build-docs.yml +++ /dev/null @@ -1,44 +0,0 @@ -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 - cat <~/.ssh/key - ${{ secrets.OYSTEIKT_GITEA_WEBDOCS_SSH_KEY }} - EOF - chmod 600 ~/.ssh/key - - - name: Deploy docs to https://pvv.ntnu.no/~oysteikt/mpvipc/${{ gitea.ref_name }}/ - run: | - rsync \ - --archive \ - --compress \ - --verbose \ - --mkpath \ - --rsh="ssh -oBatchMode=yes -oStrictHostKeyChecking=accept-new -i ~/.ssh/key" \ - "target/doc/" \ - "oysteikt@microbel.pvv.ntnu.no:mpvipc/${{ gitea.ref_name }}/" \ No newline at end of file