fix(deps): update rust crate salvo to 0.60.0 (#288) #807
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main | |
- ci/* | |
tags: | |
- 'v0.[0-9]+.[0-9]+' | |
- 'v0.[0-9]+.[0-9]+-beta.[0-9]+' | |
- 'v0.[0-9]+.[0-9]+-alpha.[0-9]+' | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- x86_64-unknown-linux-gnu | |
- x86_64-unknown-linux-musl | |
- x86_64-apple-darwin | |
- aarch64-apple-darwin | |
- x86_64-pc-windows-msvc | |
include: | |
- target: x86_64-unknown-linux-gnu | |
os: ubuntu-latest | |
- target: x86_64-unknown-linux-musl | |
os: ubuntu-latest | |
- target: x86_64-apple-darwin | |
os: macos-latest | |
- target: aarch64-apple-darwin | |
os: macos-latest | |
- target: x86_64-pc-windows-msvc | |
os: windows-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
# emit backtraces on panics. | |
RUST_BACKTRACE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Get the build metadata | |
shell: bash | |
run: | | |
echo "version=$(grep -m 1 '^version = ' Cargo.toml | cut -f 3 -d ' ' | tr -d \")" >> $GITHUB_ENV | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
target: ${{ matrix.target }} | |
override: true | |
profile: minimal | |
components: rustfmt, clippy | |
- name: Install musl tools | |
if: matrix.target == 'x86_64-unknown-linux-musl' | |
run: sudo apt-get install -y musl-tools | |
- uses: swatinem/[email protected] | |
- name: rust fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: clippy | |
uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-features | |
- name: Build debug | |
uses: actions-rs/cargo@v1 | |
with: | |
use-cross: ${{ matrix.usecross }} | |
command: build | |
args: --verbose --locked --all --target ${{ matrix.target }} | |
- name: Build release | |
uses: actions-rs/cargo@v1 | |
with: | |
use-cross: ${{ matrix.usecross }} | |
command: build | |
args: --verbose --locked --all --release --target ${{ matrix.target }} | |
- name: Prepare unix archive | |
if: matrix.os != 'windows-latest' | |
working-directory: target/${{ matrix.target }}/release | |
run: | | |
strip rblog | |
tar czvf ../../../rblog-v${{ env.version }}-${{ matrix.target }}.tar.gz rblog | |
- name: Prepare windows archive | |
if: matrix.os == 'windows-latest' | |
working-directory: target/${{ matrix.target }}/release | |
run: | | |
strip rblog.exe | |
7z a ../../../rblog-v${{ env.version }}-${{ matrix.target }}.zip rblog.exe | |
- name: Upload unix artifact | |
uses: actions/upload-artifact@v3 | |
if: matrix.os != 'windows-latest' | |
with: | |
name: rblog-v${{ env.version }}-${{ matrix.target }}.tar.gz | |
path: rblog-v${{ env.version }}-${{ matrix.target }}.tar.gz | |
if-no-files-found: error | |
- name: Upload windows artifact | |
uses: actions/upload-artifact@v3 | |
if: matrix.os == 'windows-latest' | |
with: | |
name: rblog-v${{ env.version }}-${{ matrix.target }}.zip | |
path: rblog-v${{ env.version }}-${{ matrix.target }}.zip | |
if-no-files-found: error | |
publish_crate: | |
if: startsWith(github.ref, 'refs/tags/') | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
profile: minimal | |
override: true | |
- name: Login to crates.io | |
uses: actions-rs/cargo@v1 | |
with: | |
command: login | |
args: ${{ secrets.CRATES_TOKEN }} | |
- name: Publish to crates.io | |
uses: actions-rs/cargo@v1 | |
with: | |
command: publish | |
release: | |
if: startsWith(github.ref, 'refs/tags/') | |
needs: | |
- publish_crate | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get the build metadata | |
shell: bash | |
run: | | |
echo "version=$(grep -m 1 '^version = ' Cargo.toml | cut -f 3 -d ' ' | tr -d \")" >> $GITHUB_ENV | |
- name: Download x86_64-unknown-linux-gnu.tar.gz | |
uses: actions/download-artifact@v3 | |
with: | |
name: rblog-v${{ env.version }}-x86_64-unknown-linux-gnu.tar.gz | |
path: . | |
- name: Download x86_64-unknown-linux-musl.tar.gz | |
uses: actions/download-artifact@v3 | |
with: | |
name: rblog-v${{ env.version }}-x86_64-unknown-linux-musl.tar.gz | |
path: . | |
- name: Download rblog-x86_64-apple-darwin.tar.gz | |
uses: actions/download-artifact@v3 | |
with: | |
name: rblog-v${{ env.version }}-x86_64-apple-darwin.tar.gz | |
path: . | |
- name: Download rblog-aarch64-apple-darwin.tar.gz | |
uses: actions/download-artifact@v3 | |
with: | |
name: rblog-v${{ env.version }}-aarch64-apple-darwin.tar.gz | |
path: . | |
- name: rblog-x86_64-pc-windows-msvc.zip | |
uses: actions/download-artifact@v3 | |
with: | |
name: rblog-v${{ env.version }}-x86_64-pc-windows-msvc.zip | |
path: . | |
- name: Generate checksums | |
run: for file in rblog-*; do openssl dgst -sha256 -r "$file" | awk '{print $1}' > "${file}.sha256"; done | |
- name: Create GitHub release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
rblog-v${{ env.version }}-x86_64-unknown-linux-gnu.tar.gz | |
rblog-v${{ env.version }}-x86_64-unknown-linux-gnu.tar.gz.sha256 | |
rblog-v${{ env.version }}-x86_64-unknown-linux-musl.tar.gz | |
rblog-v${{ env.version }}-x86_64-unknown-linux-musl.tar.gz.sha256 | |
rblog-v${{ env.version }}-x86_64-apple-darwin.tar.gz | |
rblog-v${{ env.version }}-x86_64-apple-darwin.tar.gz.sha256 | |
rblog-v${{ env.version }}-aarch64-apple-darwin.tar.gz | |
rblog-v${{ env.version }}-aarch64-apple-darwin.tar.gz.sha256 | |
rblog-v${{ env.version }}-x86_64-pc-windows-msvc.zip | |
rblog-v${{ env.version }}-x86_64-pc-windows-msvc.zip.sha256 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
publish_aur_package: | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/') | |
needs: | |
- release | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Get the build metadata | |
shell: bash | |
run: | | |
echo "PKG_NAME=$(grep -m 1 '^name = ' Cargo.toml | cut -f 3 -d ' ' | tr -d \")" >> $GITHUB_ENV | |
- name: Create PKGBUILD | |
shell: bash | |
run: | | |
cd ${GITHUB_WORKSPACE}/packages/aur | |
./genpkgbuild.sh | |
- name: Publish Release to AUR | |
uses: KSXGitHub/[email protected] | |
with: | |
pkgname: ${{ env.PKG_NAME }}-bin | |
pkgbuild: packages/aur/PKGBUILD | |
commit_username: ${{ secrets.AUR_USERNAME }} | |
commit_email: ${{ secrets.AUR_EMAIL }} | |
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} |