From d52ddd40722d42274d1506ba61f1c0871af370d0 Mon Sep 17 00:00:00 2001 From: Leynos Date: Sun, 3 Aug 2025 19:49:12 +0100 Subject: [PATCH 1/5] Use goreleaser-rust and tidy packaging --- .goreleaser.yaml | 25 +++---- Cargo.lock | 1 + Cargo.toml | 2 +- docs/automated-cross-platform-packaging.md | 73 ++++++++----------- docs/comenq-design.md | 15 ++-- .../config.toml => config/comenqd.toml} | 3 +- packaging/linux/preremove.sh | 12 +-- src/lib.rs | 1 - test-support/Cargo.toml | 1 + test-support/src/lib.rs | 1 + {src => test-support/src}/workflow.rs | 0 tests/steps/release_steps.rs | 2 +- 12 files changed, 60 insertions(+), 76 deletions(-) rename packaging/{comenqd/config.toml => config/comenqd.toml} (78%) rename {src => test-support/src}/workflow.rs (100%) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 654575f..a664e67 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -1,26 +1,19 @@ project_name: comenq +plugins: + - import: github.com/goreleaser/goreleaser-rust + builds: - id: comenq binary: comenq main: ./crates/comenq - goos: [linux] - goarch: [amd64, arm64] - builder: go - hooks: - pre: - - cmd: cargo build --release --package comenq --target {{ .TARGET }} - - cmd: cp target/{{ .TARGET }}/release/comenq {{ .Path }} + builder: rust + targets: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu] - id: comenqd binary: comenqd main: ./crates/comenqd - goos: [linux] - goarch: [amd64, arm64] - builder: go - hooks: - pre: - - cmd: cargo build --release --package comenqd --target {{ .TARGET }} - - cmd: cp target/{{ .TARGET }}/release/comenqd {{ .Path }} + builder: rust + targets: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu] archives: - id: default @@ -29,7 +22,7 @@ archives: files: - LICENSE - README.md - - packaging/comenqd/config.toml + - packaging/config/comenqd.toml nfpms: - id: comenq-packages @@ -54,7 +47,7 @@ nfpms: contents: - src: packaging/linux/comenqd.service dst: /lib/systemd/system/comenqd.service - - src: packaging/comenqd/config.toml + - src: packaging/config/comenqd.toml dst: /etc/comenq/config.toml type: config scripts: diff --git a/Cargo.lock b/Cargo.lock index 8e1ec7e..308af2c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2452,6 +2452,7 @@ version = "0.1.0" dependencies = [ "comenqd", "octocrab", + "serde_yaml", "tempfile", "tokio", "wiremock", diff --git a/Cargo.toml b/Cargo.toml index 0fdfd2d..362f2d3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,6 @@ path = "src/lib.rs" [dependencies] serde = { workspace = true } -serde_yaml = { workspace = true } serde_json = { workspace = true } [dev-dependencies] @@ -23,6 +22,7 @@ yaque = { workspace = true } wiremock = "0.6" octocrab = { workspace = true } test-support = { path = "test-support" } +serde_yaml = { workspace = true } [[test]] name = "cucumber" diff --git a/docs/automated-cross-platform-packaging.md b/docs/automated-cross-platform-packaging.md index ac71089..ee9bd66 100644 --- a/docs/automated-cross-platform-packaging.md +++ b/docs/automated-cross-platform-packaging.md @@ -77,7 +77,7 @@ your package. #### Step 2: Create a Default Configuration File Create a default `config.toml` file to be included in the packages. Place it at -`packaging/comenqd/config.toml`. +`packaging/config/comenqd.toml`. ```toml # Default configuration for comenqd @@ -100,32 +100,20 @@ repository. This file defines the entire release process. # Visit https://goreleaser.com/customization/ for more options project_name: comenq -# This section is only needed if you use the GoReleaser Go proxy -# to build. Since we are building a Rust project, we will override -# the build step entirely. +plugins: + - import: github.com/goreleaser/goreleaser-rust + builds: - id: comenq binary: comenq main: ./crates/comenq - goos: [linux, darwin] - goarch: [amd64, arm64] - # We use a custom build command with Cargo - builder: go - hooks: - pre: - - cmd: cargo build --release --package comenq --target {{ .TARGET }} - - cmd: cp target/{{ .TARGET }}/release/comenq {{ .Path }} + builder: rust + targets: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-apple-darwin, aarch64-apple-darwin] - id: comenqd binary: comenqd main: ./crates/comenqd - goos: [linux, darwin] - goarch: [amd64, arm64] - # We use a custom build command with Cargo - builder: go - hooks: - pre: - - cmd: cargo build --release --package comenqd --target {{ .TARGET }} - - cmd: cp target/{{ .TARGET }}/release/comenqd {{ .Path }} + builder: rust + targets: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-apple-darwin, aarch64-apple-darwin] # Create archives of the binaries. archives: @@ -171,7 +159,7 @@ nfpms: - src: packaging/linux/comenqd.service dst: /lib/systemd/system/comenqd.service # The default configuration file - - src: packaging/comenqd/config.toml + - src: packaging/config/comenqd.toml dst: /etc/comenq/config.toml type: config # Scripts to run on installation @@ -399,13 +387,9 @@ brews: #### Step 3: Add the macOS Configuration File -The Homebrew formula will also install a default configuration. Add a copy for -macOS, perhaps identical to the Linux one, at `packaging/darwin/config.toml`. -Update the `brews.contents` section in `.goreleaser.yaml` to point to it if it -differs, or simply add it to the `files` section of the archive if it's -universal. For simplicity, let's assume the one at -`packaging/comenqd/config.toml` is sufficient and will be picked up by the -archive. +The Homebrew formula will also install a default configuration. Since the same +settings apply on both platforms, the shared `packaging/config/comenqd.toml` is +sufficient and will be picked up by the archive. #### Step 4: Final `.goreleaser.yaml` @@ -416,27 +400,28 @@ configurations: # .goreleaser.yaml project_name: comenq +plugins: + - import: github.com/goreleaser/goreleaser-rust + builds: - id: comenq binary: comenq main: ./crates/comenq - goos: [linux, darwin] - goarch: [amd64, arm64] - builder: go - hooks: - pre: - - cmd: cargo build --release --package comenq --target {{ .TARGET }} - - cmd: cp target/{{ .TARGET }}/release/comenq {{ .Path }} + builder: rust + targets: + - x86_64-unknown-linux-gnu + - aarch64-unknown-linux-gnu + - x86_64-apple-darwin + - aarch64-apple-darwin - id: comenqd binary: comenqd main: ./crates/comenqd - goos: [linux, darwin] - goarch: [amd64, arm64] - builder: go - hooks: - pre: - - cmd: cargo build --release --package comenqd --target {{ .TARGET }} - - cmd: cp target/{{ .TARGET }}/release/comenqd {{ .Path }} + builder: rust + targets: + - x86_64-unknown-linux-gnu + - aarch64-unknown-linux-gnu + - x86_64-apple-darwin + - aarch64-apple-darwin archives: - id: default @@ -445,7 +430,7 @@ archives: files: - LICENSE - README.md - - packaging/comenqd/config.toml + - packaging/config/comenqd.toml nfpms: - id: comenq-packages @@ -470,7 +455,7 @@ nfpms: contents: - src: packaging/linux/comenqd.service dst: /lib/systemd/system/comenqd.service - - src: packaging/comenqd/config.toml + - src: packaging/config/comenqd.toml dst: /etc/comenq/config.toml type: config scripts: diff --git a/docs/comenq-design.md b/docs/comenq-design.md index 452834c..e2ed043 100644 --- a/docs/comenq-design.md +++ b/docs/comenq-design.md @@ -717,13 +717,14 @@ service. ### 4.4. Packaging and Release Workflow To simplify installation, the project uses GoReleaser. The declarative -`.goreleaser.yaml` invokes `cargo build` for both binaries via custom pre-build -hooks. The `nfpms` section produces signed `.deb` and `.rpm` packages for -Fedora and Ubuntu, embedding the hardened `systemd` service unit and lifecycle -scripts that create the `comenq` user. This keeps packaging logic version -controlled and repeatable. A GitHub Actions workflow triggers on version tags -to run GoReleaser. It builds Linux packages and uploads them to a draft -release. Mac support is currently deferred, so the workflow targets Linux only. +`.goreleaser.yaml` builds both binaries via the `goreleaser-rust` plugin, +eliminating manual pre-build hooks. The `nfpms` section produces signed `.deb` +and `.rpm` packages for Fedora and Ubuntu, embedding the hardened `systemd` +service unit and lifecycle scripts that create the `comenq` user. This keeps +packaging logic version controlled and repeatable. A GitHub Actions workflow +triggers on version tags to run GoReleaser. It builds Linux packages and +uploads them to a draft release. Mac support is currently deferred, so the +workflow targets Linux only. ## Section 5: Complete Source Code and Project Manifest diff --git a/packaging/comenqd/config.toml b/packaging/config/comenqd.toml similarity index 78% rename from packaging/comenqd/config.toml rename to packaging/config/comenqd.toml index 9dae044..eb0826d 100644 --- a/packaging/comenqd/config.toml +++ b/packaging/config/comenqd.toml @@ -1,6 +1,7 @@ # Default configuration for comenqd -# GitHub Personal Access Token used for authentication +# GitHub Personal Access Token used for authentication. +# If left empty, GitHub integration is disabled. # github_token = "" # Minimum log level to output diff --git a/packaging/linux/preremove.sh b/packaging/linux/preremove.sh index 1306ca1..c975919 100755 --- a/packaging/linux/preremove.sh +++ b/packaging/linux/preremove.sh @@ -1,10 +1,12 @@ #!/bin/bash set -euo pipefail -if systemctl is-active --quiet comenqd.service; then - systemctl stop comenqd.service -fi +if command -v systemctl >/dev/null && [ -d /run/systemd/system ]; then + if systemctl is-active --quiet comenqd.service; then + systemctl stop comenqd.service + fi -if systemctl is-enabled --quiet comenqd.service; then - systemctl disable comenqd.service + if systemctl is-enabled --quiet comenqd.service; then + systemctl disable comenqd.service + fi fi diff --git a/src/lib.rs b/src/lib.rs index 36eb3e3..7562f44 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -4,7 +4,6 @@ //! and daemon. use serde::{Deserialize, Serialize}; -pub mod workflow; /// Request sent from the client to the daemon. #[derive(Debug, Serialize, Deserialize, PartialEq, Eq)] diff --git a/test-support/Cargo.toml b/test-support/Cargo.toml index ac68fa2..9103b30 100644 --- a/test-support/Cargo.toml +++ b/test-support/Cargo.toml @@ -9,3 +9,4 @@ comenqd = { path = "../crates/comenqd" } octocrab = { workspace = true } tempfile = { workspace = true } wiremock = "^0.6" +serde_yaml = { workspace = true } diff --git a/test-support/src/lib.rs b/test-support/src/lib.rs index e879eb7..a5c4baa 100644 --- a/test-support/src/lib.rs +++ b/test-support/src/lib.rs @@ -2,6 +2,7 @@ pub mod daemon; pub mod util; +pub mod workflow; // Re-exports from daemon module (added in main) pub use daemon::{octocrab_for, temp_config}; diff --git a/src/workflow.rs b/test-support/src/workflow.rs similarity index 100% rename from src/workflow.rs rename to test-support/src/workflow.rs diff --git a/tests/steps/release_steps.rs b/tests/steps/release_steps.rs index 5726318..edf3e8e 100644 --- a/tests/steps/release_steps.rs +++ b/tests/steps/release_steps.rs @@ -1,10 +1,10 @@ //! Behavioural steps for the release workflow. #![expect(clippy::expect_used, reason = "simplify test failure output")] -use comenq_lib::workflow::uses_goreleaser as workflow_uses_goreleaser; use cucumber::{World, given, then, when}; use serde_yaml::Value; use std::fs; +use test_support::workflow::uses_goreleaser as workflow_uses_goreleaser; #[derive(Debug, Default, World)] pub struct ReleaseWorld { From f7cfccff77b0fb465d0f1c010c1f912e36e668c6 Mon Sep 17 00:00:00 2001 From: Leynos Date: Mon, 4 Aug 2025 00:08:28 +0100 Subject: [PATCH 2/5] Narrow test exports and tidy packaging docs --- .goreleaser.yaml | 11 ++- docs/automated-cross-platform-packaging.md | 105 +-------------------- test-support/src/lib.rs | 3 +- tests/steps/release_steps.rs | 2 +- 4 files changed, 13 insertions(+), 108 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index a664e67..9b3cc4d 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -8,12 +8,16 @@ builds: binary: comenq main: ./crates/comenq builder: rust - targets: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu] + targets: + - x86_64-unknown-linux-gnu + - aarch64-unknown-linux-gnu - id: comenqd binary: comenqd main: ./crates/comenqd builder: rust - targets: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu] + targets: + - x86_64-unknown-linux-gnu + - aarch64-unknown-linux-gnu archives: - id: default @@ -22,7 +26,8 @@ archives: files: - LICENSE - README.md - - packaging/config/comenqd.toml + - >- + packaging/config/comenqd.toml nfpms: - id: comenq-packages diff --git a/docs/automated-cross-platform-packaging.md b/docs/automated-cross-platform-packaging.md index ee9bd66..8d2fffb 100644 --- a/docs/automated-cross-platform-packaging.md +++ b/docs/automated-cross-platform-packaging.md @@ -88,108 +88,7 @@ Create a default `config.toml` file to be included in the packages. Place it at # cooldown_period_seconds = 960 ``` -#### Step 3: Create the `.goreleaser.yaml` Configuration - -Now, create the main GoReleaser configuration file in the root of your -repository. This file defines the entire release process. - -#### `.goreleaser.yaml` - -```yaml -# .goreleaser.yaml -# Visit https://goreleaser.com/customization/ for more options -project_name: comenq - -plugins: - - import: github.com/goreleaser/goreleaser-rust - -builds: - - id: comenq - binary: comenq - main: ./crates/comenq - builder: rust - targets: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-apple-darwin, aarch64-apple-darwin] - - id: comenqd - binary: comenqd - main: ./crates/comenqd - builder: rust - targets: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-apple-darwin, aarch64-apple-darwin] - -# Create archives of the binaries. -archives: - - id: default - name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" - format: tar.gz - files: - - LICENSE - - README.md - -# Configuration for creating Linux packages (.deb and .rpm) -nfpms: - - id: comenq-packages - package_name: comenq - vendor: "Your Name" - homepage: "https://github.com/leynos/comenq" - maintainer: "Your Name " - description: "Client for the Comenq notification system." - license: MIT - formats: - - deb - - rpm - # Target only the 'comenq' build - builds: - - comenq - - - id: comenqd-packages - package_name: comenqd - vendor: "Your Name" - homepage: "https://github.com/leynos/comenq" - maintainer: "Your Name " - description: "Daemon for the Comenq notification system." - license: MIT - formats: - - deb - - rpm - # Target only the 'comenqd' build - builds: - - comenqd - # Files to include in the package - contents: - # The systemd unit file - - src: packaging/linux/comenqd.service - dst: /lib/systemd/system/comenqd.service - # The default configuration file - - src: packaging/config/comenqd.toml - dst: /etc/comenq/config.toml - type: config - # Scripts to run on installation - scripts: - preinstall: "packaging/linux/preinstall.sh" - postinstall: "packaging/linux/postinstall.sh" - preremove: "packaging/linux/preremove.sh" - -# Create a GitHub release -release: - github: - owner: leynos - name: comenq - draft: true # Set to false to auto-publish - -# Generate a changelog from commit messages -changelog: - sort: asc - filters: - # Exclude chore, style, and test commits from the changelog - exclude: - - '^docs:' - - '^test:' - - '^chore:' - - '^style:' - - 'Merge pull request' - - 'Merge branch' -``` - -#### Step 4: Create Installation Scripts +#### Step 3: Create Installation Scripts The `systemd` unit file requires a dedicated user. These scripts will create the `comenq` user and group upon installation. @@ -238,7 +137,7 @@ fi Make these scripts executable: `chmod +x packaging/linux/*.sh`. -#### Step 5: Update the GitHub Actions Workflow +#### Step 4: Update the GitHub Actions Workflow Finally, modify your existing `.github/workflows/release.yml` to use GoReleaser. This workflow will trigger when you push a new tag (e.g., `v1.2.3`). diff --git a/test-support/src/lib.rs b/test-support/src/lib.rs index a5c4baa..66bafb5 100644 --- a/test-support/src/lib.rs +++ b/test-support/src/lib.rs @@ -2,7 +2,8 @@ pub mod daemon; pub mod util; -pub mod workflow; +mod workflow; +pub use workflow::uses_goreleaser; // Re-exports from daemon module (added in main) pub use daemon::{octocrab_for, temp_config}; diff --git a/tests/steps/release_steps.rs b/tests/steps/release_steps.rs index edf3e8e..af40376 100644 --- a/tests/steps/release_steps.rs +++ b/tests/steps/release_steps.rs @@ -4,7 +4,7 @@ use cucumber::{World, given, then, when}; use serde_yaml::Value; use std::fs; -use test_support::workflow::uses_goreleaser as workflow_uses_goreleaser; +use test_support::uses_goreleaser as workflow_uses_goreleaser; #[derive(Debug, Default, World)] pub struct ReleaseWorld { From 5b8b60f5aaa63157237930fb909c10b4304486d3 Mon Sep 17 00:00:00 2001 From: Leynos Date: Mon, 4 Aug 2025 01:17:56 +0100 Subject: [PATCH 3/5] Point packaged config to /etc/comenqd --- .goreleaser.yaml | 2 +- docs/automated-cross-platform-packaging.md | 24 +++++++++++----------- packaging/darwin/comenqd.plist | 2 +- packaging/linux/comenqd.service | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 9b3cc4d..50eef22 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -53,7 +53,7 @@ nfpms: - src: packaging/linux/comenqd.service dst: /lib/systemd/system/comenqd.service - src: packaging/config/comenqd.toml - dst: /etc/comenq/config.toml + dst: /etc/comenqd/config.toml type: config scripts: preinstall: packaging/linux/preinstall.sh diff --git a/docs/automated-cross-platform-packaging.md b/docs/automated-cross-platform-packaging.md index 8d2fffb..a09eb0b 100644 --- a/docs/automated-cross-platform-packaging.md +++ b/docs/automated-cross-platform-packaging.md @@ -41,8 +41,8 @@ Group=comenq # The command to start the daemon # Assumes the binary is installed to /usr/bin/comenqd -# The configuration file is expected at /etc/comenq/config.toml -ExecStart=/usr/bin/comenqd --config /etc/comenq/config.toml +# The configuration file is expected at /etc/comenqd/config.toml +ExecStart=/usr/bin/comenqd --config /etc/comenqd/config.toml # Security Hardening # Disallow any privileges @@ -71,8 +71,8 @@ WantedBy=multi-user.target ``` **Note:** This unit file assumes a configuration file at -`/etc/comenq/config.toml`. You should provide a default configuration file with -your package. +`/etc/comenqd/config.toml`. You should provide a default configuration file +with your package. #### Step 2: Create a Default Configuration File @@ -206,7 +206,7 @@ Create `packaging/darwin/comenqd.plist`: /usr/local/bin/comenqd --config - /usr/local/etc/comenq/config.toml + /usr/local/etc/comenqd/config.toml RunAtLoad @@ -270,7 +270,7 @@ brews: # The service block for `comenqd` service: | - run [opt_bin/"comenqd", "--config", etc/"comenq/config.toml"] + run [opt_bin/"comenqd", "--config", etc/"comenqd/config.toml"] keep_alive true log_path var/"log/comenq/comenqd.log" error_log_path var/"log/comenq/comenqd.err" @@ -279,8 +279,8 @@ brews: install: | bin.install "comenq" bin.install "comenqd" - (etc/"comenq").mkpath - etc.install "config.toml" => "comenq/config.toml" + (etc/"comenqd").mkpath + etc.install "config.toml" => "comenqd/config.toml" (var/"log/comenq").mkpath ``` @@ -355,7 +355,7 @@ nfpms: - src: packaging/linux/comenqd.service dst: /lib/systemd/system/comenqd.service - src: packaging/config/comenqd.toml - dst: /etc/comenq/config.toml + dst: /etc/comenqd/config.toml type: config scripts: preinstall: "packaging/linux/preinstall.sh" @@ -376,15 +376,15 @@ brews: license: "MIT" builds: [comenq, comenqd] service: | - run [opt_bin/"comenqd", "--config", etc/"comenq/config.toml"] + run [opt_bin/"comenqd", "--config", etc/"comenqd/config.toml"] keep_alive true log_path var/"log/comenq/comenqd.log" error_log_path var/"log/comenq/comenqd.err" install: | bin.install "comenq" bin.install "comenqd" - (etc/"comenq").mkpath - etc.install "config.toml" => "comenq/config.toml" + (etc/"comenqd").mkpath + etc.install "config.toml" => "comenqd/config.toml" (var/"log/comenq").mkpath release: diff --git a/packaging/darwin/comenqd.plist b/packaging/darwin/comenqd.plist index c22c3a0..2137aae 100644 --- a/packaging/darwin/comenqd.plist +++ b/packaging/darwin/comenqd.plist @@ -8,7 +8,7 @@ /usr/local/bin/comenqd --config - /usr/local/etc/comenq/config.toml + /usr/local/etc/comenqd/config.toml RunAtLoad diff --git a/packaging/linux/comenqd.service b/packaging/linux/comenqd.service index f46b27b..9387469 100644 --- a/packaging/linux/comenqd.service +++ b/packaging/linux/comenqd.service @@ -6,7 +6,7 @@ After=network.target [Service] User=comenq Group=comenq -ExecStart=/usr/bin/comenqd --config /etc/comenq/config.toml +ExecStart=/usr/bin/comenqd --config /etc/comenqd/config.toml CapabilityBoundingSet= ProtectSystem=strict ProtectHome=read-only From 0cb4c5a6c71600a9d98e18074d1bb211a02381c8 Mon Sep 17 00:00:00 2001 From: Leynos Date: Mon, 4 Aug 2025 14:03:21 +0100 Subject: [PATCH 4/5] Pin goreleaser-rust plugin version Lock the goreleaser-rust plugin to v1.6.0 to stabilise builds and rewrite packaging documentation to avoid second-person phrasing. --- .goreleaser.yaml | 2 +- docs/automated-cross-platform-packaging.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 50eef22..a4be1d1 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -1,7 +1,7 @@ project_name: comenq plugins: - - import: github.com/goreleaser/goreleaser-rust + - import: github.com/goreleaser/goreleaser-rust@v1.6.0 builds: - id: comenq diff --git a/docs/automated-cross-platform-packaging.md b/docs/automated-cross-platform-packaging.md index a09eb0b..c18956c 100644 --- a/docs/automated-cross-platform-packaging.md +++ b/docs/automated-cross-platform-packaging.md @@ -71,8 +71,8 @@ WantedBy=multi-user.target ``` **Note:** This unit file assumes a configuration file at -`/etc/comenqd/config.toml`. You should provide a default configuration file -with your package. +`/etc/comenqd/config.toml`. A default configuration file must ship with the +package. #### Step 2: Create a Default Configuration File From 88b47a93e225fd285ca6877997cb044ef23ab55a Mon Sep 17 00:00:00 2001 From: Leynos Date: Mon, 4 Aug 2025 15:01:55 +0100 Subject: [PATCH 5/5] Pin goreleaser plugin version in docs --- docs/automated-cross-platform-packaging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/automated-cross-platform-packaging.md b/docs/automated-cross-platform-packaging.md index c18956c..6e1147e 100644 --- a/docs/automated-cross-platform-packaging.md +++ b/docs/automated-cross-platform-packaging.md @@ -300,7 +300,7 @@ configurations: project_name: comenq plugins: - - import: github.com/goreleaser/goreleaser-rust + - import: github.com/goreleaser/goreleaser-rust@v1.6.0 builds: - id: comenq