diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2025-01-10 15:15:20 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-01-10 15:28:50 +0300 |
| commit | d825e3125e7dd6d278b13130277ad08406c09a4f (patch) | |
| tree | 556afaaf8f2cd4bd3c96c8a3e0ecc9f8f0b7f8c9 | |
| parent | 64288de04ec80078dcfc9308dff4fde0ee933229 (diff) | |
| download | niri-d825e3125e7dd6d278b13130277ad08406c09a4f.tar.gz niri-d825e3125e7dd6d278b13130277ad08406c09a4f.tar.bz2 niri-d825e3125e7dd6d278b13130277ad08406c09a4f.zip | |
CI: Add a prepare-release workflow
| -rw-r--r-- | .github/workflows/release.yml | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..3cf40219 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,58 @@ +name: Prepare release + +on: + workflow_dispatch: + inputs: + version: + description: 'Public version' + required: true + +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: true + +env: + RUN_SLOW_TESTS: 1 + +jobs: + prepare-release: + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + with: + show-progress: false + + - name: Check for unreplaced "Since:" in the wiki + run: | + grep --recursive 'Since: next release' wiki && exit 1 + + - name: Install dependencies + run: | + sudo apt-get update -y + sudo apt-get install -y curl gcc clang libudev-dev libgbm-dev libxkbcommon-dev libegl1-mesa-dev libwayland-dev libinput-dev libdbus-1-dev libsystemd-dev libseat-dev libpipewire-0.3-dev libpango1.0-dev libdisplay-info-dev libadwaita-1-dev + + - uses: dtolnay/rust-toolchain@stable + + - name: Create vendored dependencies archive + run: | + mkdir .cargo + cargo vendor --locked > .cargo/config.toml + tar cJf niri-${{ github.event.inputs.version }}-vendored-dependencies.tar.xz vendor/ + + - name: Build + run: cargo build --all --frozen --release + + - name: Build tests + run: cargo test --no-run --all --frozen --release + + - name: Test + run: cargo test --all --frozen --release -- --nocapture + + - name: Draft release + uses: softprops/action-gh-release@v2 + with: + draft: true + tag_name: v${{ github.event.inputs.version }} + files: niri-${{ github.event.inputs.version }}-vendored-dependencies.tar.xz + fail_on_unmatched_files: true |
