From 70e62a4fa7e9a9f92bca511bcb2138bbbd921eb4 Mon Sep 17 00:00:00 2001 From: sigoden Date: Mon, 10 Jul 2023 11:33:38 +0800 Subject: [PATCH] chore: update ci (#136) --- .github/workflows/ci.yaml | 10 ++----- .github/workflows/release.yaml | 55 ++++++++++++++++++---------------- 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4fc84b3..b606b7a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -29,16 +29,12 @@ jobs: RUSTFLAGS: --deny warnings steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install Rust Toolchain Components - uses: actions-rs/toolchain@v1 - with: - components: clippy, rustfmt - override: true - toolchain: stable + uses: dtolnay/rust-toolchain@stable - - uses: Swatinem/rust-cache@v1 + - uses: Swatinem/rust-cache@v2 - name: Test run: cargo test --all diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 736a7a3..25e10e0 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -48,30 +48,40 @@ jobs: cargo-flags: "" runs-on: ${{matrix.os}} + env: + BUILD_CMD: cargo steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Check Tag id: check-tag shell: bash run: | - tag=${GITHUB_REF##*/} - echo "::set-output name=version::$tag" - if [[ "$tag" =~ [0-9]+.[0-9]+.[0-9]+$ ]]; then - echo "::set-output name=rc::false" + ver=${GITHUB_REF##*/} + echo "version=$ver" >> $GITHUB_OUTPUT + if [[ "$ver" =~ [0-9]+.[0-9]+.[0-9]+$ ]]; then + echo "rc=false" >> $GITHUB_OUTPUT else - echo "::set-output name=rc::true" + echo "rc=true" >> $GITHUB_OUTPUT fi - name: Install Rust Toolchain Components - uses: actions-rs/toolchain@v1 + uses: dtolnay/rust-toolchain@stable with: - override: true - target: ${{ matrix.target }} - toolchain: stable - profile: minimal # minimal component installation (ie, no documentation) + targets: ${{ matrix.target }} + + - name: Install cross + if: matrix.use-cross + uses: taiki-e/install-action@v2 + with: + tool: cross + + - name: Overwrite build command env variable + if: matrix.use-cross + shell: bash + run: echo "BUILD_CMD=cross" >> $GITHUB_ENV - name: Show Version Information (Rust, cargo, GCC) shell: bash @@ -84,11 +94,8 @@ jobs: rustc -V - name: Build - uses: actions-rs/cargo@v1 - with: - use-cross: ${{ matrix.use-cross }} - command: build - args: --locked --release --target=${{ matrix.target }} ${{ matrix.cargo-flags }} + shell: bash + run: $BUILD_CMD build --locked --release --target=${{ matrix.target }} ${{ matrix.cargo-flags }} - name: Build Archive shell: bash @@ -116,15 +123,15 @@ jobs: if [[ "$RUNNER_OS" == "Windows" ]]; then archive=$dist/$name.zip 7z a $archive * - echo "::set-output name=archive::`pwd -W`/$name.zip" + echo "archive=$archive" >> $GITHUB_OUTPUT else archive=$dist/$name.tar.gz tar czf $archive * - echo "::set-output name=archive::$archive" + echo "archive=$archive" >> $GITHUB_OUTPUT fi - name: Publish Archive - uses: softprops/action-gh-release@v0.1.5 + uses: softprops/action-gh-release@v1 if: ${{ startsWith(github.ref, 'refs/tags/') }} with: draft: false @@ -139,13 +146,11 @@ jobs: runs-on: ubuntu-latest needs: release steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - - name: Publish + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + + - name: Publish env: CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} run: cargo publish \ No newline at end of file