Skip to content

Commit

Permalink
update msrv to 1.60 (#482
Browse files Browse the repository at this point in the history
* update msrv to 1.60

* inherit workspace msrv
  • Loading branch information
robjtede authored Apr 1, 2023
1 parent 28f36e4 commit c0693da
Show file tree
Hide file tree
Showing 29 changed files with 110 additions and 193 deletions.
79 changes: 22 additions & 57 deletions .github/workflows/ci-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ on:
push:
branches: [master]

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_and_test_nightly:
strategy:
Expand All @@ -21,8 +28,7 @@ jobs:
name: ${{ matrix.target.name }} / ${{ matrix.version }}
runs-on: ${{ matrix.target.os }}

env:
VCPKGRS_DYNAMIC: 1
env: {}

steps:
- name: Setup Routing
Expand All @@ -31,36 +37,17 @@ jobs:

- uses: actions/checkout@v3

# install OpenSSL on Windows
- name: Set vcpkg root
if: matrix.target.triple == 'x86_64-pc-windows-msvc' || matrix.target.triple == 'i686-pc-windows-msvc'
run: echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: Install OpenSSL
if: matrix.target.triple == 'x86_64-pc-windows-msvc'
run: vcpkg install openssl:x64-windows
- name: Install OpenSSL
if: matrix.target.triple == 'i686-pc-windows-msvc'
run: vcpkg install openssl:x86-windows
if: matrix.target.os == 'windows-latest'
run: choco install openssl
- name: Set OpenSSL dir in env
if: matrix.target.os == 'windows-latest'
run: echo 'OPENSSL_DIR=C:\Program Files\OpenSSL-Win64' | Out-File -FilePath $env:GITHUB_ENV -Append

- name: Install ${{ matrix.version }}
run: |
rustup set profile minimal
rustup install ${{ matrix.version }}-${{ matrix.target.triple }}
rustup override set ${{ matrix.version }}-${{ matrix.target.triple }}
# - name: Install MSYS2
# if: matrix.target.triple == 'x86_64-pc-windows-gnu'
# uses: msys2/setup-msys2@v2
# - name: Install MinGW Packages
# if: matrix.target.triple == 'x86_64-pc-windows-gnu'
# run: |
# msys2 -c 'pacman -Sy --noconfirm pacman'
# msys2 -c 'pacman --noconfirm -S base-devel pkg-config'

# - name: Generate Cargo.lock
# run: cargo generate-lockfile
# - name: Cache Dependencies
# uses: Swatinem/rust-cache@v2.2.0
- name: Install Rust (${{ matrix.version }})
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ matrix.version }}

- name: Install cargo-hack
run: cargo install cargo-hack
Expand Down Expand Up @@ -109,15 +96,8 @@ jobs:
- uses: actions/checkout@v3

- name: Install Rust (nightly)
run: |
rustup set profile minimal
rustup install nightly
rustup override set nightly
- name: Generate Cargo.lock
run: cargo generate-lockfile
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2.2.0
uses: actions-rust-lang/setup-rust-toolchain@v1
with: { toolchain: nightly }

- name: Generate coverage file
if: github.ref == 'refs/heads/master'
Expand All @@ -136,15 +116,8 @@ jobs:
- uses: actions/checkout@v3

- name: Install Rust (nightly)
run: |
rustup set profile minimal
rustup install nightly
rustup override set nightly
- name: Generate Cargo.lock
run: cargo generate-lockfile
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2.2.0
uses: actions-rust-lang/setup-rust-toolchain@v1
with: { toolchain: nightly }

- name: Install cargo-minimal-versions
run: cargo install cargo-minimal-versions
Expand All @@ -162,15 +135,7 @@ jobs:
- uses: actions/checkout@v3

- name: Install Rust
run: |
rustup set profile minimal
rustup install stable
rustup override set stable
- name: Generate Cargo.lock
run: cargo generate-lockfile
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2.2.0
uses: actions-rust-lang/setup-rust-toolchain@v1

- name: Install cargo-nextest
run: cargo install cargo-nextest
Expand Down
82 changes: 23 additions & 59 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
name: CI

on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches: [master]
on:
pull_request: {}
push: { branches: [master] }

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_and_test:
Expand All @@ -18,14 +23,13 @@ jobs:
- { name: Windows (MinGW), os: windows-latest, triple: x86_64-pc-windows-gnu }
- { name: Windows (32-bit), os: windows-latest, triple: i686-pc-windows-msvc }
version:
- 1.59.0
- 1.60.0
- stable

name: ${{ matrix.target.name }} / ${{ matrix.version }}
runs-on: ${{ matrix.target.os }}

env:
VCPKGRS_DYNAMIC: 1
env: {}

steps:
- name: Setup Routing
Expand All @@ -34,60 +38,28 @@ jobs:

- uses: actions/checkout@v3

# install OpenSSL on Windows
- name: Set vcpkg root
if: matrix.target.triple == 'x86_64-pc-windows-msvc' || matrix.target.triple == 'i686-pc-windows-msvc'
run: echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: Install OpenSSL
if: matrix.target.triple == 'x86_64-pc-windows-msvc'
run: vcpkg install openssl:x64-windows
- name: Install OpenSSL
if: matrix.target.triple == 'i686-pc-windows-msvc'
run: vcpkg install openssl:x86-windows
if: matrix.target.os == 'windows-latest'
run: choco install openssl
- name: Set OpenSSL dir in env
if: matrix.target.os == 'windows-latest'
run: echo 'OPENSSL_DIR=C:\Program Files\OpenSSL-Win64' | Out-File -FilePath $env:GITHUB_ENV -Append

- name: Install ${{ matrix.version }}
run: |
rustup set profile minimal
rustup install ${{ matrix.version }}-${{ matrix.target.triple }}
rustup override set ${{ matrix.version }}-${{ matrix.target.triple }}
# - name: Install MSYS2
# if: matrix.target.triple == 'x86_64-pc-windows-gnu'
# uses: msys2/setup-msys2@v2
# - name: Install MinGW Packages
# if: matrix.target.triple == 'x86_64-pc-windows-gnu'
# run: |
# msys2 -c 'pacman -Sy --noconfirm pacman'
# msys2 -c 'pacman --noconfirm -S base-devel pkg-config'

# - name: Generate Cargo.lock
# run: cargo generate-lockfile
# - name: Cache Dependencies
# uses: Swatinem/rust-cache@v2.2.0
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ matrix.version }}

- name: Install cargo-hack
if: matrix.version != '1.59.0'
run: cargo install cargo-hack

# newer cargo-hack versions require 1.60 or above
- name: Install cargo-hack (1.59.0)
if: matrix.version == '1.59.0'
run: cargo install cargo-hack --version=0.5.21

- name: workaround MSRV issues
if: matrix.version == '1.59.0'
run: |
cargo install cargo-edit --version=0.8.0
cargo add env_logger@0.9 --dev -p=actix-tls
cargo add env_logger@0.9 --dev -p=actix-server
- name: Generate Cargo.lock
run: cargo generate-lockfile

- name: workaround MSRV issues
if: matrix.version != 'stable'
run: |
cargo update -p=time --precise=0.3.13 # time is only a dev dep so shouldn't affect msrv
cargo update -p=time --precise=0.3.16 # time is only a dev dep so shouldn't affect msrv
- name: check lib
if: >
Expand Down Expand Up @@ -125,7 +97,6 @@ jobs:
sudo bash -c "ulimit -Sl 512 && ulimit -Hl 512 && PATH=$PATH:/usr/share/rust/.cargo/bin && RUSTUP_TOOLCHAIN=${{ matrix.version }} cargo ci-test && RUSTUP_TOOLCHAIN=${{ matrix.version }} cargo ci-test-linux"
- name: Clear the cargo caches
if: matrix.version == 'stable' # MSRV(1.58) cargo-cache now fails to install on 1.59
run: |
cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean
cargo-cache
Expand All @@ -138,15 +109,8 @@ jobs:
- uses: actions/checkout@v3

- name: Install Rust (nightly)
run: |
rustup set profile minimal
rustup install nightly
rustup override set nightly
- name: Generate Cargo.lock
run: cargo generate-lockfile
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2.2.0
uses: actions-rust-lang/setup-rust-toolchain@v1
with: { toolchain: nightly }

- name: doc tests io-uring
run: |
Expand Down
38 changes: 22 additions & 16 deletions .github/workflows/clippy-fmt.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,43 @@
name: Lint

on:
pull_request:
types: [opened, synchronize, reopened]
on: [pull_request]

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
fmt:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Install Rust
run: |
rustup set profile minimal
rustup install stable
rustup override set stable
rustup component add rustfmt
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly
components: rustfmt

- name: Rustfmt Check
run: cargo fmt --all -- --check

clippy:
permissions:
contents: write

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Install Rust
run: |
rustup set profile minimal
rustup install stable
rustup override set stable
rustup component add clippy
- uses: actions-rust-lang/setup-rust-toolchain@v1
with: { components: clippy }

- uses: giraffate/clippy-action@v1
with:
reporter: "github-pr-check"
reporter: 'github-pr-check'
github_token: ${{ secrets.GITHUB_TOKEN }}
clippy_flags: --workspace --all-features --tests --examples --bins -- -Dclippy::todo
13 changes: 6 additions & 7 deletions .github/workflows/upload-doc.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
name: Upload documentation

on:
push:
branches: [master]
push: { branches: [master] }

jobs:
build:
permissions:
contents: write

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Install Rust
run: |
rustup set profile minimal
rustup install nightly
rustup override set nightly
- uses: actions-rust-lang/setup-rust-toolchain@v1
with: { toolchain: nightly }

- name: Build Docs
run: cargo doc --workspace --all-features --no-deps
Expand Down
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ members = [
"local-channel",
"local-waker",
]
resolver = "2"

[patch.crates-io]
actix-codec = { path = "actix-codec" }
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ See example folders for [`actix-server`](./actix-server/examples) and [`actix-tl

## MSRV

Crates in this repo currently have a Minimum Supported Rust Version (MSRV) of 1.59. As a policy, we permit MSRV increases in non-breaking releases.
Crates in this repo currently have a Minimum Supported Rust Version (MSRV) of 1.60. As a policy, we permit MSRV increases in non-breaking releases.

## License

Expand Down
2 changes: 1 addition & 1 deletion actix-codec/CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Unreleased - 2023-xx-xx

- Minimum supported Rust version (MSRV) is now 1.59.
- Minimum supported Rust version (MSRV) is now 1.60.

## 0.5.1 - 2022-03-15

Expand Down
7 changes: 2 additions & 5 deletions actix-codec/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,8 @@ keywords = ["network", "framework", "async", "futures"]
repository = "https://github.com/actix/actix-net"
categories = ["network-programming", "asynchronous"]
license = "MIT OR Apache-2.0"
edition = "2018"

[lib]
name = "actix_codec"
path = "src/lib.rs"
edition = "2021"
rust-version = "1.60"

[dependencies]
bitflags = "1.2"
Expand Down
2 changes: 1 addition & 1 deletion actix-macros/CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Unreleased - 2023-xx-xx

- Minimum supported Rust version (MSRV) is now 1.59.
- Minimum supported Rust version (MSRV) is now 1.60.

## 0.2.3 - 2021-10-19

Expand Down
Loading

0 comments on commit c0693da

Please sign in to comment.