diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..55de728 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,33 @@ +name: Release + +permissions: + pull-requests: write + contents: write + +on: + push: + branches: + - main + +jobs: + release-plz: + name: Release PR + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + # Install required libraries + - name: Install dependencies + run: sudo apt-get install -y libasound2-dev + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + + - name: Run release-plz + uses: MarcoIeni/release-plz-action@v0.5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 8342d63..ce90658 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -4,17 +4,14 @@ on: paths-ignore: - "docs/**" - "**.md" - pull_request: - paths-ignore: - - "docs/**" - - "**.md" jobs: + # Check for formatting rustfmt: name: Formatter check runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: @@ -29,63 +26,19 @@ jobs: command: fmt args: --all -- --check - # Run compile check on Linux, macOS, and Windows - # On both Rust stable and Rust nightly - compile: - name: Compile - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macOS-latest, windows-latest] - toolchain: [stable, nightly] - steps: - # Checkout the branch being tested - - uses: actions/checkout@v3 - - # Install rust - - uses: dtolnay/rust-toolchain@master - with: - toolchain: ${{ matrix.toolchain }} - - # Cache the built dependencies - - uses: Swatinem/rust-cache@v2.2.1 - with: - save-if: ${{ github.event_name == 'push' }} - - # Install cargo-hack - - uses: taiki-e/install-action@cargo-hack - - # Compile all feature combinations on the target platform - - name: Compile - run: cargo hack --feature-powerset check - # Run tests on Linux - # On both Rust stable and Rust nightly test: name: Test runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - toolchain: [stable, nightly] steps: # Checkout the branch being tested - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - # Install rust + # Install rust stable - uses: dtolnay/rust-toolchain@master with: - toolchain: ${{ matrix.toolchain }} - - # Cache the built dependencies - - uses: Swatinem/rust-cache@v2.2.1 - with: - save-if: ${{ github.event_name == 'push' }} - - # Install cargo-hack - - uses: taiki-e/install-action@cargo-hack + toolchain: stable - # Run the ignored tests that expect the above setup - - name: Run all tests - run: cargo hack --feature-powerset test + # Run the tests + - name: Test + run: cargo test