From 916e16279563f0d994e0f6c0a5755fdaa5083c6d Mon Sep 17 00:00:00 2001
From: Tim Xylon <zedifen@outlook.com>
Date: Sun, 15 Jan 2023 02:37:19 +0800
Subject: [PATCH 1/7] Update actions/checkout to v3

---
 .github/workflows/build-and-test.yml        | 2 +-
 .github/workflows/build-docker-image.yml    | 2 +-
 .github/workflows/build-nightly-release.yml | 6 +++---
 .github/workflows/build-release.yml         | 6 +++---
 .github/workflows/clippy-check.yml          | 2 +-
 5 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
index 2e0ca2e25adb..390079f32a3f 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -21,7 +21,7 @@ jobs:
     runs-on: ${{ matrix.platform }}
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
       - uses: Swatinem/rust-cache@v2
       - name: Install Rust
         uses: actions-rs/toolchain@v1
diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml
index 2b1f3edb8a4b..c6dbcdf4df81 100644
--- a/.github/workflows/build-docker-image.yml
+++ b/.github/workflows/build-docker-image.yml
@@ -13,7 +13,7 @@ jobs:
           - sslocal
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
       - name: Setup Docker Buildx
         uses: docker/setup-buildx-action@v1
       - name: Login to GitHub Container Registry
diff --git a/.github/workflows/build-nightly-release.yml b/.github/workflows/build-nightly-release.yml
index 6743673a0219..eb4c3ad81750 100644
--- a/.github/workflows/build-nightly-release.yml
+++ b/.github/workflows/build-nightly-release.yml
@@ -18,7 +18,7 @@ jobs:
           - aarch64-unknown-linux-musl
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
       - name: Install Rust
         uses: actions-rs/toolchain@v1
@@ -72,7 +72,7 @@ jobs:
           - x86_64-apple-darwin
           - aarch64-apple-darwin
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
       - name: Install GNU tar
         if: runner.os == 'macOS'
@@ -107,7 +107,7 @@ jobs:
       RUSTFLAGS: "-C target-feature=+crt-static"
       RUST_BACKTRACE: full
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
       - name: Install Rust
         uses: actions-rs/toolchain@v1
diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml
index 1ebff26b0ae4..1401544ebd2a 100644
--- a/.github/workflows/build-release.yml
+++ b/.github/workflows/build-release.yml
@@ -32,7 +32,7 @@ jobs:
           - mipsel-unknown-linux-musl
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
       - name: Install Rust
         uses: actions-rs/toolchain@v1
@@ -86,7 +86,7 @@ jobs:
           - x86_64-apple-darwin
           - aarch64-apple-darwin
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
       - name: Install GNU tar
         if: runner.os == 'macOS'
@@ -123,7 +123,7 @@ jobs:
       RUSTFLAGS: "-C target-feature=+crt-static"
       RUST_BACKTRACE: full
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
       - name: Install Rust
         uses: actions-rs/toolchain@v1
diff --git a/.github/workflows/clippy-check.yml b/.github/workflows/clippy-check.yml
index ae75442a55a4..74650b4a1fd9 100644
--- a/.github/workflows/clippy-check.yml
+++ b/.github/workflows/clippy-check.yml
@@ -21,7 +21,7 @@ jobs:
     runs-on: ${{ matrix.platform }}
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
       - uses: Swatinem/rust-cache@v2
       - name: Install Rust
         uses: actions-rs/toolchain@v1

From 3bf205f0a4469cd01eaf3aa65fbcbca1b8b2072f Mon Sep 17 00:00:00 2001
From: Tim Xylon <zedifen@outlook.com>
Date: Sun, 15 Jan 2023 03:18:58 +0800
Subject: [PATCH 2/7] Get rid of actions-rs/toolchain

Replaces 'actions-rs/toolchain' with bare `rustup` command, since this action haven't been updated in 2 years and `rustup` is included in GitHub Action's runner images.

See: https://github.com/actions/runner-images
---
 .github/workflows/build-and-test.yml        | 11 +++---
 .github/workflows/build-nightly-release.yml | 37 ++++++++++-----------
 .github/workflows/build-release.yml         | 37 ++++++++++-----------
 .github/workflows/clippy-check.yml          | 12 +++----
 4 files changed, 44 insertions(+), 53 deletions(-)

diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
index 390079f32a3f..c17f5546a2b2 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -24,12 +24,11 @@ jobs:
       - uses: actions/checkout@v3
       - uses: Swatinem/rust-cache@v2
       - name: Install Rust
-        uses: actions-rs/toolchain@v1
-        with:
-          toolchain: stable
-          profile: minimal
-          default: true
-          override: true
+        run: |
+          rustup set profile minimal
+          rustup toolchain install stable
+          rustup default stable
+          rustup override set stable
       - name: Build & Test (Default)
         run: cargo test --verbose --no-fail-fast
       - name: Build & Test (Default) - shadowsocks
diff --git a/.github/workflows/build-nightly-release.yml b/.github/workflows/build-nightly-release.yml
index eb4c3ad81750..e50703bb781c 100644
--- a/.github/workflows/build-nightly-release.yml
+++ b/.github/workflows/build-nightly-release.yml
@@ -21,13 +21,12 @@ jobs:
       - uses: actions/checkout@v3
 
       - name: Install Rust
-        uses: actions-rs/toolchain@v1
-        with:
-          profile: minimal
-          target: ${{ matrix.target }}
-          toolchain: stable
-          default: true
-          override: true
+        run: |
+          rustup set profile minimal
+          rustup toolchain install stable
+          rustup default stable
+          rustup override set stable
+          rustup target add --toolchain stable ${{ matrix.target }}
 
       - name: Setup Zig
         uses: goto-bus-stop/setup-zig@v2
@@ -82,13 +81,12 @@ jobs:
           echo "/usr/local/opt/gnu-tar/libexec/gnubin" >> $GITHUB_PATH
 
       - name: Install Rust
-        uses: actions-rs/toolchain@v1
-        with:
-          profile: minimal
-          target: ${{ matrix.target }}
-          toolchain: stable
-          default: true
-          override: true
+        run: |
+          rustup set profile minimal
+          rustup toolchain install stable
+          rustup default stable
+          rustup override set stable
+          rustup target add --toolchain stable ${{ matrix.target }}
 
       - name: Build release
         shell: bash
@@ -110,12 +108,11 @@ jobs:
       - uses: actions/checkout@v3
 
       - name: Install Rust
-        uses: actions-rs/toolchain@v1
-        with:
-          profile: minimal
-          toolchain: stable
-          default: true
-          override: true
+        run: |
+          rustup set profile minimal
+          rustup toolchain install stable
+          rustup default stable
+          rustup override set stable
 
       - name: Build release
         run: |
diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml
index 1401544ebd2a..661b1cf4a171 100644
--- a/.github/workflows/build-release.yml
+++ b/.github/workflows/build-release.yml
@@ -35,13 +35,12 @@ jobs:
       - uses: actions/checkout@v3
 
       - name: Install Rust
-        uses: actions-rs/toolchain@v1
-        with:
-          profile: minimal
-          target: ${{ matrix.target }}
-          toolchain: stable
-          default: true
-          override: true
+        run: |
+          rustup set profile minimal
+          rustup toolchain install stable
+          rustup default stable
+          rustup override set stable
+          rustup target add --toolchain stable ${{ matrix.target }}
 
       - name: Install cross
         run: cargo install cross
@@ -96,13 +95,12 @@ jobs:
           echo "/usr/local/opt/gnu-tar/libexec/gnubin" >> $GITHUB_PATH
 
       - name: Install Rust
-        uses: actions-rs/toolchain@v1
-        with:
-          profile: minimal
-          target: ${{ matrix.target }}
-          toolchain: stable
-          default: true
-          override: true
+        run: |
+          rustup set profile minimal
+          rustup toolchain install stable
+          rustup default stable
+          rustup override set stable
+          rustup target add --toolchain stable ${{ matrix.target }}
 
       - name: Build release
         shell: bash
@@ -126,12 +124,11 @@ jobs:
       - uses: actions/checkout@v3
 
       - name: Install Rust
-        uses: actions-rs/toolchain@v1
-        with:
-          profile: minimal
-          toolchain: stable
-          default: true
-          override: true
+        run: |
+          rustup set profile minimal
+          rustup toolchain install stable
+          rustup default stable
+          rustup override set stable
 
       - name: Build release
         run: |
diff --git a/.github/workflows/clippy-check.yml b/.github/workflows/clippy-check.yml
index 74650b4a1fd9..7cbfa370c101 100644
--- a/.github/workflows/clippy-check.yml
+++ b/.github/workflows/clippy-check.yml
@@ -24,13 +24,11 @@ jobs:
       - uses: actions/checkout@v3
       - uses: Swatinem/rust-cache@v2
       - name: Install Rust
-        uses: actions-rs/toolchain@v1
-        with:
-          toolchain: nightly
-          profile: minimal
-          components: clippy
-          default: true
-          override: true
+        run: |
+          rustup set profile minimal
+          rustup toolchain install nightly --component clippy
+          rustup default nightly
+          rustup override set nightly
       - name: Clippy Check
         uses: actions-rs/clippy-check@v1
         with:

From 024bd872ef7d9c3286209c331a02b67e47670c95 Mon Sep 17 00:00:00 2001
From: Tim Xylon <zedifen@outlook.com>
Date: Sun, 15 Jan 2023 23:47:46 +0000
Subject: [PATCH 3/7] Update docker workflow dependencies

---
 .github/workflows/build-docker-image.yml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml
index c6dbcdf4df81..90eb36cf7205 100644
--- a/.github/workflows/build-docker-image.yml
+++ b/.github/workflows/build-docker-image.yml
@@ -15,20 +15,20 @@ jobs:
       - name: Checkout
         uses: actions/checkout@v3
       - name: Setup Docker Buildx
-        uses: docker/setup-buildx-action@v1
+        uses: docker/setup-buildx-action@v2
       - name: Login to GitHub Container Registry
-        uses: docker/login-action@v1
+        uses: docker/login-action@v2
         with:
           registry: ghcr.io
           username: ${{ github.repository_owner }}
           password: ${{ secrets.GITHUB_TOKEN }}
       - name: Docker metadata
         id: metadata
-        uses: docker/metadata-action@v3
+        uses: docker/metadata-action@v4
         with:
           images: ghcr.io/${{ github.repository_owner }}/${{ matrix.bin }}-rust
       - name: Build and release Docker images
-        uses: docker/build-push-action@v2
+        uses: docker/build-push-action@v3
         with:
           platforms: linux/386,linux/amd64,linux/arm64/v8
           target: ${{ matrix.bin }}

From 9ec7035c6bdc624834a4ee12d768e002a25d8b7a Mon Sep 17 00:00:00 2001
From: Tim Xylon <zedifen@outlook.com>
Date: Sun, 15 Jan 2023 23:52:55 +0000
Subject: [PATCH 4/7] Update actions/upload-artifact to v3

---
 .github/workflows/build-nightly-release.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/build-nightly-release.yml b/.github/workflows/build-nightly-release.yml
index e50703bb781c..ac118333adb0 100644
--- a/.github/workflows/build-nightly-release.yml
+++ b/.github/workflows/build-nightly-release.yml
@@ -54,7 +54,7 @@ jobs:
           ./build-release-zigbuild -t ${{ matrix.target }} $compile_features $compile_compress
 
       - name: Upload Artifacts
-        uses: actions/upload-artifact@v2
+        uses: actions/upload-artifact@v3
         with:
           name: ${{ matrix.target }}
           path: build/release/*
@@ -94,7 +94,7 @@ jobs:
           ./build/build-host-release -t ${{ matrix.target }}
 
       - name: Upload Artifacts
-        uses: actions/upload-artifact@v2
+        uses: actions/upload-artifact@v3
         with:
           name: ${{ matrix.target }}
           path: build/release/*
@@ -119,7 +119,7 @@ jobs:
           pwsh ./build/build-host-release.ps1
 
       - name: Upload Artifacts
-        uses: actions/upload-artifact@v2
+        uses: actions/upload-artifact@v3
         with:
           name: windows-native
           path: build/release/*

From f155813d32124722b204c333dd9603752a3c81b5 Mon Sep 17 00:00:00 2001
From: Tim Xylon <zedifen@outlook.com>
Date: Sun, 22 Jan 2023 06:35:56 +0800
Subject: [PATCH 5/7] Update .github/workflows/clippy-check.yml

Use 'kristof-mattei/clippy-check@main'.
---
 .github/workflows/clippy-check.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/clippy-check.yml b/.github/workflows/clippy-check.yml
index 7cbfa370c101..6aa2108b217c 100644
--- a/.github/workflows/clippy-check.yml
+++ b/.github/workflows/clippy-check.yml
@@ -30,7 +30,7 @@ jobs:
           rustup default nightly
           rustup override set nightly
       - name: Clippy Check
-        uses: actions-rs/clippy-check@v1
+        uses: kristof-mattei/clippy-check@main
         with:
           name: clippy-${{ matrix.platform }}
           token: ${{ secrets.GITHUB_TOKEN }}

From 5252941bf96b3920cde167b03d40a2f12e5c525e Mon Sep 17 00:00:00 2001
From: Tim Xylon <zedifen@outlook.com>
Date: Sun, 22 Jan 2023 06:37:13 +0800
Subject: [PATCH 6/7] Removing unused action arguments

---
 .github/workflows/clippy-check.yml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/.github/workflows/clippy-check.yml b/.github/workflows/clippy-check.yml
index 6aa2108b217c..c549d621424b 100644
--- a/.github/workflows/clippy-check.yml
+++ b/.github/workflows/clippy-check.yml
@@ -32,8 +32,6 @@ jobs:
       - name: Clippy Check
         uses: kristof-mattei/clippy-check@main
         with:
-          name: clippy-${{ matrix.platform }}
-          token: ${{ secrets.GITHUB_TOKEN }}
           args: |
             --features "local-http-rustls local-redir local-flow-stat local-dns dns-over-tls dns-over-https stream-cipher aead-cipher-2022" -- -Z macro-backtrace
             -W clippy::absurd_extreme_comparisons

From 2bcf2a5c4a860a445262278b8de3c858aa5f4ff5 Mon Sep 17 00:00:00 2001
From: Tim Xylon <zedifen@outlook.com>
Date: Sun, 22 Jan 2023 07:37:41 +0800
Subject: [PATCH 7/7] Use actions-rs-plus/clippy-check

---
 .github/workflows/clippy-check.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/clippy-check.yml b/.github/workflows/clippy-check.yml
index c549d621424b..a5f49f368410 100644
--- a/.github/workflows/clippy-check.yml
+++ b/.github/workflows/clippy-check.yml
@@ -30,7 +30,7 @@ jobs:
           rustup default nightly
           rustup override set nightly
       - name: Clippy Check
-        uses: kristof-mattei/clippy-check@main
+        uses: actions-rs-plus/clippy-check@main
         with:
           args: |
             --features "local-http-rustls local-redir local-flow-stat local-dns dns-over-tls dns-over-https stream-cipher aead-cipher-2022" -- -Z macro-backtrace