Commit Graph

42 Commits

Author SHA1 Message Date
Maciek "mab122" Bator 68202ce58d build: tag rad --version with a +lfs-ipfs suffix, fix newline bug
Appends a semver build-metadata suffix to RADICLE_VERSION so `rad
--version` (and radicle-node/git-remote-rad, which share this build
script via symlink) unambiguously identify a binary as this fork
rather than upstream heartwood -- useful for checking what a deploy
target is actually running.

While wiring this up, found and fixed a real pre-existing bug: none
of the three `git` subprocess outputs captured here (GIT_HEAD,
RADICLE_VERSION, SOURCE_DATE_EPOCH) were trimmed, so each carried a
trailing newline into its `cargo::rustc-env=KEY=VALUE` directive.
Harmless on its own since nothing followed it, but appending the
+lfs-ipfs suffix landed after that embedded newline, splitting the
directive across two lines -- cargo silently discards the second
line as unrecognized, so the suffix never actually took effect until
this trim was added.

Also adds scripts/publish-package.sh: builds all four release
binaries (rad, radicle-node, git-remote-rad, rad-lfs-transfer) and
publishes them as a Forgejo generic package, so a deploy target
without a Rust toolchain can download instead of rebuilding from
source (see NOTES-lfs-store-note-write-bug.md's VPS deployment story
for why that matters).
2026-07-16 13:49:13 +02:00
Fintan Halpenny a3ff596e22 scripts/changelog: Generate links to commits on seed.radicle.dev
Generate the links to the commits, on seed.radicle.dev, so that
reviewers of the changelog can easily navigate to the commits.
2026-05-30 09:12:25 +01:00
Fintan Halpenny 9ff0e8b01f just: checking for ellipses
Add custom check for ellipses "...", asking for replacement of "…".

Git ranges and the CLI wildcard matches are ignored.

This change includes fixes to all sites that did not pass the check.
2026-05-28 16:52:02 +01:00
Josh Soref 5dae2a8b58 treewide: Spelling
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2026-04-30 15:50:29 -04:00
Lorenz Leutgeb aa177b0400
treewide: radicle.{xyz → dev,network}
We have moved to radicle.dev, so adjust the domain name in various
places.

Not changed:
 - COB type names
 - systemd secret identifiers
2026-04-27 18:34:30 +02:00
Adrian Duke 179a080867 just: Introduce commit-msg hook for typos
Add a `commit-msg` hook to continuously run `typos` against the COMMIT_MSG.
2026-04-17 14:36:58 +01:00
Adrian Duke 6744384acf just: Extract inline bash scripts out to files
Enables `shellcheck` checking.
2026-04-17 14:36:58 +01:00
Lorenz Leutgeb fc12414778 just: Rename `HOOK_NAME` to just `HOOK` 2026-04-17 14:36:58 +01:00
Adrian Duke 1df1acabfa git-hook-template: minor output formatting 2026-04-17 14:36:58 +01:00
Adrian Duke 4e0f739c29 just: Add post-checkout hook 2026-04-17 14:36:58 +01:00
Adrian Duke bdb2a1fc7f just: Introduce pre-commit and pre-push installer
Copies the template script into the git hooks DIR to prevent a potential
attacker overwriting its contents. Also introduces a check before
running the hook against sensitive files from `master`, if there are
changes between the branch and `master`, asks user to confirm
continuation of hook execution.
2026-04-17 14:36:58 +01:00
Lorenz Leutgeb f00d1d6743 cli/self: Stop printing information about the node
To get to a point of separating the users' identity from the node, then the `rad
self` command should not display information related to the node so prominently.

The relation between `rad` and `radicle-node` is really similar to that between
`rad` and SSH Agent. They communicate via socket. So, when this connection is
successful, it is printed, but not more.

There may be some re-learning for users here, but it is worth the improvement.

Note that the information being removed here is available via `rad node status`
(see previous commit).
2025-09-04 17:12:19 +03:00
Fintan Halpenny de38d97418 build: move to use `releases/` prefix
The team decided to use `releases/*.*.*` for the naming scheme of release tags.

This change needs to be reflected in the `build` tooling as well.
2025-08-27 10:30:28 +01:00
Lorenz Leutgeb cbca3af260
chore: shellcheck fixes 2025-04-22 15:43:02 +02:00
cloudhead d274b28ae0
scripts: Small fix to contributor count 2024-12-05 14:25:28 +01:00
cloudhead 8e2fe6449e
scripts: Improve changelog script
* Add number of commits and contributors
* Default to the latest version tag as the "current"
2024-12-04 12:40:10 +01:00
cloudhead bcba8f5a21
scripts: Add `--from-version` to changelog script
This allows generating changelogs from eg. version 1.1 to 1.2 combining
any pre-releases.
2024-11-27 17:25:02 +01:00
cloudhead bc14229639
scripts: Small improvement to `cache-cobs` 2024-09-02 16:20:17 +02:00
cloudhead 8922388caa
scripts: Add install command in changelog 2024-08-20 17:39:04 +02:00
cloudhead 2b75045661
scripts: Add a script to create a radicle env
Creates a new profile with a repo and drops you in.
2024-08-07 10:41:28 +02:00
Yorgos Saslis 34d213ad23
docker: Remove outdated docker-compose files
After the Dockerfiles for radicle-node and radicle-httpd have been
removed, these files can also be removed.

Signed-off-by: Yorgos Saslis <yorgos.work@proton.me>
2024-05-24 12:07:02 +02:00
cloudhead 2c6fa989cb
scripts: Script for outputting markdown changelog 2024-05-02 17:00:14 +02:00
cloudhead 97b1a5de53
build: Move/rename build steps 2024-04-29 11:14:09 +02:00
cloudhead 95b5191533
Reproducible cross-compiled builds
Implement a new build pipeline using `podman` and `zig` that is
reproducible and can be run entirely on linux.

We also simplify the versioning system, defaulting to the output of `git
describe` when there are no exact tag matches.
2024-04-20 11:11:00 +02:00
cloudhead ad7ba82e6a
node: Populate refs db on startup
If the refs database is empty, populate it on startup.
Also includes a script to clear it.
2024-04-05 21:59:58 +02:00
cloudhead e40e642e76
scripts: Add 'tag' script for releases 2024-03-26 09:50:32 +01:00
cloudhead 62fa8c25c8
scripts: Delete old install script 2024-03-15 16:53:09 +01:00
cloudhead d16ae3edc9
scripts: Add COB caching script 2024-02-23 18:35:50 +01:00
Thomas Scholtes 3ccb6a5fac
Move `rad-web` binary to `radicle-httpd` package
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-11-22 11:27:11 +01:00
cloudhead e57dbc337a
scripts: Small fix for POSIX-compliance 2023-09-26 13:11:12 +02:00
Alexis Sellier 3bd5589b1a
cob: Stabilize formats
> I'm going to be making a set of breaking changes to COBs in order to
stabilize the data formats. This is hopefully a one-time change that
bundles various breaking changes.

All COBs have been reworked: issue, patch, id.

The changes included are:

* Revise the assign and tag actions to take a single list of
  assignees/tags to set, instead of an "add" and a "remove" list. This
  makes API usage simpler when editing issues, and simplifies the apply
  function
* Rename "tags" to "labels", and the tag action to label. This is
  because tag is confusing in the context of git, as it could mean a git
  tag. Using label removes that confusion.
* Use DIDs instead of PublicKeys for assignees -- this is more
  future-proof
* Modify the manifest file format in the COB tree. Mainly, remove the
  `history_type` key which is redundant, and use camelCase for keys
* Flatten the `Thread` actions into the parent action type
* Ensure that operations on redacted objects do not fail, since
  redactions could have happened concurrently
* Use a consistent naming scheme for actions, using `.` as separator
* Consolidate comment types and remove `CodeComment`, by adding an
  optional `location` field to `Comment`
* Add many placeholder actions that are not yet implemented

To preserve backwards compatibility, a `legacy` module is created with
the old `apply` function. When loading the manifest, we check whether it
is a legacy COB or a "stable" COB, and in the legacy case, use the
legacy code to materialize the state and then convert the object into
the stable type. Eventually, we'll delete the legacy code.
2023-08-07 11:05:14 +02:00
cloudhead aea7fb0e42
scripts: Fix delete-remote-branches script
We were deleting patch branches, oops.
2023-08-04 12:19:27 +02:00
Alexis Sellier 170417f974
ci: Fix man page build 2023-07-21 20:52:25 +02:00
Alexis Sellier 4722b9b417
scripts: Add `delete-remote-branches` script
This is useful for cleaning up remote branches that are no longer used.
2023-05-25 10:07:02 +02:00
Alexis Sellier 1dfaab6b4d
scripts: Use `seed` user instead of `root` 2023-05-12 11:08:59 +02:00
Alexis Sellier c1d4e87d25
ci: Use local deploy script instead of CI
Further reduce GitHub reliance.
2023-05-10 10:41:01 +02:00
Alexis Sellier 76eb7c08a1
scripts: Refuse to delete own remote
This can be unrecoverable.
2023-04-29 11:49:35 +02:00
Alexis Sellier 44298df48f
Update scripts with a couple of new ones 2023-04-27 11:08:56 +02:00
Alexis Sellier 4bac839e0a
scripts: Update `import-issue`
Make it remove image links.
2023-04-21 15:31:56 +02:00
Alexis Sellier 9fd3527196
cli: Add `--tag` option to `rad issue open`
Also include a simple script for importing GitHub issues.
2023-04-21 11:10:07 +02:00
Alexis Sellier d9dd28b347
scripts: Add `delete-remote-refs.sh`
Useful for deleting refs of a corrupted remote.
2023-04-15 00:15:02 +02:00
Alexis Sellier 505dd9ea96
Add `install` script
Downloads binaries and installs them, based on your operating system.

Can be used in a one liner, for example:

    sh <(curl https://radicle.xyz/install)
2023-04-06 11:29:42 +02:00