diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 9cf89aa..23addfd 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -22,21 +22,21 @@ jobs:
 
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
 
       - name: 'Setup `${{ matrix.toolchain }}`'
-        uses: actions-rs/toolchain@v1
+        uses: dtolnay/rust-toolchain@master
         with:
           toolchain: ${{ matrix.toolchain }}
-          override: true
-          profile: minimal
           components: rustfmt
 
+      - name: 'Override `${{ matrix.toolchain }}'
+        run: |
+          rustup override set ${{ matrix.toolchain }}
+
       - name: cargo-fmt
-        uses: actions-rs/cargo@v1
-        with:
-          command: fmt
-          args: --all -- --check
+        run: |
+          cargo fmt --all -- --check
 
   build:
     strategy:
@@ -66,33 +66,29 @@ jobs:
         if: matrix.os == 'windows-2019'
 
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
 
       - name: 'Setup `${{ matrix.toolchain }}`'
-        uses: actions-rs/toolchain@v1
+        uses: dtolnay/rust-toolchain@master
         with:
           toolchain: ${{ matrix.toolchain }}
-          override: true
-          profile: minimal
           components: clippy
 
+      - name: 'Override `${{ matrix.toolchain }}`'
+        run: |
+          rustup override set ${{ matrix.toolchain }}
+
       - name: cargo-clippy
-        uses: actions-rs/cargo@v1
-        with:
-          command: clippy
-          args: --workspace --all-targets -- -D warnings
+        run: |
+          cargo clippy --workspace --all-targets -- -A renamed-and-removed-lints -D warnings
 
       - name: cargo-build
-        uses: actions-rs/cargo@v1
-        with:
-          command: build
-          args: --workspace --all-targets
+        run: |
+          cargo build --workspace --all-targets
 
       - name: cargo-test
-        uses: actions-rs/cargo@v1
-        with:
-          command: test
-          args: --workspace --no-fail-fast
+        run: |
+          cargo test --workspace --no-fail-fast
         env:
           RUST_BACKTRACE: full
 
@@ -112,18 +108,20 @@ jobs:
 
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
 
       - name: 'Setup `${{ matrix.toolchain }}`'
-        uses: actions-rs/toolchain@v1
+        uses: dtolnay/rust-toolchain@master
         with:
           toolchain: ${{ matrix.toolchain }}
-          override: true
-          profile: minimal
           components: rustfmt
 
+      - name: 'Override `${{ matrix.toolchain }}`'
+        run: |
+          rustup override set ${{ matrix.toolchain }}
+
       - name: Setup Python ${{ matrix.python-version }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: ${{ matrix.python-version }}
 
@@ -136,17 +134,19 @@ jobs:
 
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
 
-      - name: Setup `1.47.0-x86_64-unknown-linux-gnu`
-        uses: actions-rs/toolchain@v1
+      - name: Setup `1.60.0-x86_64-unknown-linux-gnu`
+        uses: dtolnay/rust-toolchain@master
         with:
-          toolchain: 1.47.0-x86_64-unknown-linux-gnu
-          override: true
-          profile: minimal
+          toolchain: 1.60.0-x86_64-unknown-linux-gnu
+
+      - name: 'Override `1.60.0-x86_64-unknown-linux-gnu'
+        run: |
+          rustup override set 1.60.0-x86_64-unknown-linux-gnu
 
       - name: Setup Python 3.9
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: '3.9'
 
@@ -154,10 +154,8 @@ jobs:
         run: pip install online-judge-tools
 
       - name: cargo-build
-        uses: actions-rs/cargo@v1
-        with:
-          command: build
-          args: --release --examples
+        run: |
+          cargo build --release --examples
 
       - name: Verify
         run: |