Skip to content

Run cargo update

Run cargo update #169

Workflow file for this run

on: [push]
name: Continuous integration
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: check
test:
name: Test Suite
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
runs-on:
- ubuntu-latest
- windows-latest
- macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: test
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- run: rustup component add rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- run: rustup component add clippy
- uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings -D clippy::pedantic
build-release-linux:
needs: [check, test, fmt, clippy]
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
runs-on:
- ubuntu-latest
arch:
- x86_64
- aarch64
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
target: ${{ matrix.arch }}-unknown-linux-gnu
- run: sudo apt install -y gcc-aarch64-linux-gnu
if: "${{ matrix.arch == 'aarch64' }}"
- uses: actions-rs/cargo@v1
with:
command: build
args: --release --target ${{ matrix.arch }}-unknown-linux-gnu
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-artifact@v4
with:
name: ubpkg-${{ matrix.runs-on }}-${{ matrix.arch }}
path: target/${{ matrix.arch }}-unknown-linux-gnu/release/ubpkg
build-release-mac:
needs: [check, test, fmt, clippy]
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
runs-on:
- macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
target: x86_64-apple-darwin
- uses: actions-rs/cargo@v1
with:
command: build
args: --release --target=x86_64-apple-darwin
- uses: actions-rs/cargo@v1
with:
command: build
args: --release --target=aarch64-apple-darwin
- run: lipo -create -output target/ubpkg target/x86_64-apple-darwin/release/ubpkg target/aarch64-apple-darwin/release/ubpkg
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-artifact@v4
with:
name: ubpkg-${{ matrix.runs-on }}
path: target/ubpkg
build-release-windows:
needs: [check, test, fmt, clippy]
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
runs-on:
- windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: build
args: --release
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-artifact@v4
with:
name: ubpkg-${{ matrix.runs-on }}
path: target/release/ubpkg.exe
create-release:
needs: [build-release-linux,build-release-mac,build-release-windows]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download artifacts
uses: actions/download-artifact@v4
- name: Create release
run: |
mv ubpkg-ubuntu-latest-x86_64/ubpkg ubpkg-linux-x86_64
mv ubpkg-ubuntu-latest-aarch64/ubpkg ubpkg-linux-aarch64
mv ubpkg-macos-latest/ubpkg ubpkg-macos
mv ubpkg-windows-latest/ubpkg.exe ubpkg.exe
d=$(date "+%Y-%m-%d_%H%M")
gh release create --generate-notes -t "Release $d" release_$d ubpkg-linux-x86_64 ubpkg-linux-aarch64 ubpkg-macos ubpkg.exe
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: github.ref == 'refs/heads/main' && github.event_name == 'push'