aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-01-10 15:15:20 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-01-10 15:28:50 +0300
commitd825e3125e7dd6d278b13130277ad08406c09a4f (patch)
tree556afaaf8f2cd4bd3c96c8a3e0ecc9f8f0b7f8c9
parent64288de04ec80078dcfc9308dff4fde0ee933229 (diff)
downloadniri-d825e3125e7dd6d278b13130277ad08406c09a4f.tar.gz
niri-d825e3125e7dd6d278b13130277ad08406c09a4f.tar.bz2
niri-d825e3125e7dd6d278b13130277ad08406c09a4f.zip
CI: Add a prepare-release workflow
-rw-r--r--.github/workflows/release.yml58
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