name: CI on: pull_request: branches: - '*' push: branches: - master defaults: run: shell: bash jobs: lint: runs-on: ubuntu-latest env: RUSTFLAGS: --deny warnings steps: - uses: actions/checkout@v4 - uses: Swatinem/rust-cache@v2 - name: Clippy run: cargo clippy --all --all-targets - name: Format run: cargo fmt --all -- --check - name: Completion Scripts run: | ./bin/generate-completions git diff --no-ext-diff --quiet --exit-code ./tests/completions/just.bash - name: Install Dependencies run: | sudo apt-get update sudo apt-get install ripgrep shellcheck - name: Check for Forbidden Words run: ./bin/forbid - name: Check Install Script run: shellcheck www/install.sh pages: runs-on: ubuntu-latest permissions: contents: write env: RUSTFLAGS: --deny warnings steps: - uses: actions/checkout@v4 - uses: Swatinem/rust-cache@v2 - name: Install `mdbook` run: cargo install mdbook - name: Install `mdbook-linkcheck` run: | mkdir -p mdbook-linkcheck cd mdbook-linkcheck wget https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/latest/download/mdbook-linkcheck.x86_64-unknown-linux-gnu.zip unzip mdbook-linkcheck.x86_64-unknown-linux-gnu.zip chmod +x mdbook-linkcheck pwd >> $GITHUB_PATH - name: Build book run: | cargo run --package generate-book mdbook build book/en mdbook build book/zh - name: Deploy Pages uses: peaceiris/actions-gh-pages@v3 if: github.ref == 'refs/heads/master' with: github_token: ${{secrets.GITHUB_TOKEN}} publish_branch: gh-pages publish_dir: www test: strategy: matrix: os: - ubuntu-latest - macos-latest - windows-latest runs-on: ${{matrix.os}} env: RUSTFLAGS: --deny warnings steps: - uses: actions/checkout@v4 - name: Remove Broken WSL bash executable if: ${{ matrix.os == 'windows-latest' }} shell: cmd run: | takeown /F C:\Windows\System32\bash.exe icacls C:\Windows\System32\bash.exe /grant administrators:F del C:\Windows\System32\bash.exe - uses: Swatinem/rust-cache@v2 - name: Test run: cargo test --all - name: Test install.sh run: | bash www/install.sh --to /tmp --tag 1.0.0 /tmp/just --version