diff --git a/.gitea/actions/setup-env/actions.yaml b/.gitea/actions/setup-env/actions.yaml new file mode 100644 index 0000000..76d084f --- /dev/null +++ b/.gitea/actions/setup-env/actions.yaml @@ -0,0 +1,14 @@ +name: 'Setup Environment' +description: 'Sets up Rust toolchain and caches APT dependencies' + +runs: + using: "composite" + steps: + - name: Setup Rust toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 + + - name: Cache and install APT packages + uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 + version: 1.0 diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 45daea9..bb13c97 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -8,8 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - - run: apt-get update -y && apt-get upgrade -y && apt-get install -y g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 + - uses: ./.gitea/actions/setup-env - run: cargo check test: @@ -17,8 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - - run: apt-get update -y && apt-get upgrade -y && apt-get install -y g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 + - uses: ./.gitea/actions/setup-env - run: cargo test fmt: @@ -26,8 +24,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - - run: apt-get update -y && apt-get upgrade -y && apt-get install -y g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 + - uses: ./.gitea/actions/setup-env - run: rustup component add rustfmt - run: cargo fmt --all -- --check @@ -36,8 +33,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - - run: apt-get update -y && apt-get upgrade -y && apt-get install -y g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 + - uses: ./.gitea/actions/setup-env - run: rustup component add clippy - run: cargo clippy -- -D warnings @@ -46,6 +42,5 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - - run: apt-get update -y && apt-get upgrade -y && apt-get install -y g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 + - uses: ./.gitea/actions/setup-env - run: cargo build