Skip to content

Commit

Permalink
chore: update links for renamed repo (excluding CHANGELOG.mds)
Browse files Browse the repository at this point in the history
  • Loading branch information
MingweiSamuel committed Dec 23, 2024
1 parent e1a08e5 commit 6ac17fb
Show file tree
Hide file tree
Showing 34 changed files with 56 additions and 56 deletions.
2 changes: 1 addition & 1 deletion .github/gh-pages/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
---
- [Main website (hydro.run) 🔗](https://hydro.run)
- [Github Repository 🔗](https://github.com/hydro-project/hydroflow)
- [Github Repository 🔗](https://github.com/hydro-project/hydro)
- [Design Docs]({{ "/design_docs/" | prepend: site.github.url | replace: 'https://', '//' }})
- [Benchmark History]({{ "/bench/" | prepend: site.github.url | replace: 'https://', '//' }})
- [Latest Benchmarks]({{ "/criterion/report/" | prepend: site.github.url | replace: 'https://', '//' }})
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
# and tags to `main` in the normal way. Instead we have an app:
# https://github.com/organizations/hydro-project/settings/apps/hydro-project-bot
# Which is added the the users allowed to bypass branch protections:
# https://github.com/hydro-project/hydroflow/settings/branches
# https://github.com/hydro-project/hydro/settings/branches
# We grab a token from the app using this action via the `APP_ID` ("App ID") and an
# `APP_PRIVATE_KEY` ("Generate a private key").
- name: Generate token
Expand Down
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ authors:
family-names: Power
orcid: 'https://orcid.org/0000-0002-0660-5110'
affiliation: UC Berkeley
repository-code: 'https://github.com/hydro-project/hydroflow/'
repository-code: 'https://github.com/hydro-project/hydro/'
url: 'https://hydro.run/'
abstract: >-
Hydro is a language stack for programming distributed systems,
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,4 +117,4 @@ in the latest version of `clippy`. See [Setup#Rust](#rust) above.

## Releasing

See [`RELEASING.md`](https://github.com/hydro-project/hydroflow/blob/main/RELEASING.md).
See [`RELEASING.md`](https://github.com/hydro-project/hydro/blob/main/RELEASING.md).
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<h1 align="center">
<img src="https://raw.githubusercontent.com/hydro-project/hydroflow/main/docs/static/img/hydro-logo.svg" width="200" alt='"hf"'>
<img src="https://raw.githubusercontent.com/hydro-project/hydro/main/docs/static/img/hydro-logo.svg" width="200" alt='"hf"'>
</h1>
<p align="center">
<a href="https://crates.io/crates/hydroflow"><img src="https://img.shields.io/crates/v/hydroflow?style=flat-square&logo=rust" alt="Crates.io"></a>
Expand All @@ -18,9 +18,9 @@ We often describe Hydro via a metaphor: *LLVM for the cloud*. Like LLVM, Hydro i


## The Language (and the Low-Level IR)
Hydro provides a [high-level language](https://hydro.run/docs/hydro) that allows you to program an entire fleet of processes from a single program, and then launch your fleet locally or in the cloud via [Hydro Deploy](https://hydro.run/docs/deploy). Get started with Hydro via the language [documentation](https://hydro.run/docs/hydro) and [examples](https://github.com/hydro-project/hydroflow/tree/main/hydroflow_plus_test/examples).
Hydro provides a [high-level language](https://hydro.run/docs/hydro) that allows you to program an entire fleet of processes from a single program, and then launch your fleet locally or in the cloud via [Hydro Deploy](https://hydro.run/docs/deploy). Get started with Hydro via the language [documentation](https://hydro.run/docs/hydro) and [examples](https://github.com/hydro-project/hydro/tree/main/hydro_test/examples).

> Internally, the Hydro stack compiles Hydro programs into a low-level Dataflow Internal Representation (IR) language called [DFIR](https://hydro.run/docs/dfir); each process corresponds to a separate DFIR program. In rare cases you may want to compose one or more processes in DFIR by hand; see the DFIR [documentation](https://hydro.run/docs/dfir) or [examples](https://github.com/hydro-project/hydroflow/tree/main/hydroflow/examples) for details.
> Internally, the Hydro stack compiles Hydro programs into a low-level Dataflow Internal Representation (IR) language called [DFIR](https://hydro.run/docs/dfir); each process corresponds to a separate DFIR program. In rare cases you may want to compose one or more processes in DFIR by hand; see the DFIR [documentation](https://hydro.run/docs/dfir) or [examples](https://github.com/hydro-project/hydro/tree/main/dfir_rs/examples) for details.
## Development Setup

Expand Down
16 changes: 8 additions & 8 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This is a guide on how to create releases for all Hydro crates in this workspace

We use the [`cargo-smart-release` crate](https://github.com/Byron/cargo-smart-release) for our
release workflow. Originally, cargo-smart-release [was part of gitoxide](https://github.com/Byron/gitoxide/pull/998)
but it has since been separated into its own crate. We have our own [GitHub Action release workflow](https://github.com/hydro-project/hydroflow/actions/workflows/release.yml)
but it has since been separated into its own crate. We have our own [GitHub Action release workflow](https://github.com/hydro-project/hydro/actions/workflows/release.yml)
([action YAML here](.github/workflows/release.yml)) which is our intended way to create
releases.

Expand Down Expand Up @@ -42,7 +42,7 @@ cargo smart-release --update-crates-index \
package has changes but doesn't have the right commit messages then `cargo smart-release` will
complain and give up.

To see if anything needs addressing, go to the [Release action](https://github.com/hydro-project/hydroflow/actions/workflows/release.yml)
To see if anything needs addressing, go to the [Release action](https://github.com/hydro-project/hydro/actions/workflows/release.yml)
and click on the "Run workflow" button in the top right corner. Branch should be `main`, version
bump should most likely be `patch`, `minor`, or `major`. Note that semantic versioning is:
```js
Expand Down Expand Up @@ -88,20 +88,20 @@ need to do a bit of manual work. That looks like this in the log (check for this
[WARN ] WOULD ask for review after commit as the changelog entry is empty for crates: dfir_datalog, dfir_macro
```
In this case, you will need to create a commit to each package's `CHANGELOG.md` to mark it as
unchanged (or minimally changed). For example, [hydro_cli 0.3](https://github.com/hydro-project/hydroflow/commit/4c2cf81411835529b5d7daa35717834e46e28b9b).
unchanged (or minimally changed). For example, [hydro_cli 0.3](https://github.com/hydro-project/hydro/commit/4c2cf81411835529b5d7daa35717834e46e28b9b).

Once all changelogs are ok to autogenerate, we can move on to the real-deal run.

## Real-deal run

Again, go to the [Release action](https://github.com/hydro-project/hydroflow/actions/workflows/release.yml)
Again, go to the [Release action](https://github.com/hydro-project/hydro/actions/workflows/release.yml)
and click on the "Run workflow" button in the top right corner. Select branch `main`, version bump as needed and this time _check_ the "Actually execute and publish the release?" box.

Hopefully all goes well and the release will appear on the other end.

If the release fails it may leave the repo in a bit of a half-broken or half-released state. Some
or all of the release verison tags may be pushed. You may need to manually create some
[GitHub releases](https://github.com/hydro-project/hydroflow/releases).
[GitHub releases](https://github.com/hydro-project/hydro/releases).
You can also try re-running the release action but with the version bump set to `keep`, if versions
have been bumped but not released. You'll have to figure it out, its finicky.

Expand All @@ -124,7 +124,7 @@ When adding a new crate which is published, you need to:
3. You must commit a new (empty) file `my_crate/CHANGELOG.md` to ensure the file will be tracked
by git and pushed by `cargo-smart-release`
4. If you want your package to be lockstep-versioned alongside hydro then make sure to add it
to the [command in the `release.yml` workflow](https://github.com/hydro-project/hydroflow/blob/main/.github/workflows/release.yml#L82).
to the [command in the `release.yml` workflow](https://github.com/hydro-project/hydro/blob/main/.github/workflows/release.yml#L82).
(also update the `cargo smart-release` test command above in this file).

Then just run the release workflow as normal.
Expand Down Expand Up @@ -194,7 +194,7 @@ section in order to work around this issue.

## Addendum: The GitHub App account

So... `cargo smart-release` wants to push to `hydro-project/hydroflow`'s `main` branch. However,
So... `cargo smart-release` wants to push to `hydro-project/hydro`'s `main` branch. However,
branch protection says you can only push to main via a pull request, and for some reason that
branch protection also applies to GitHub Actions.

Expand All @@ -203,7 +203,7 @@ Basically it is a pretty unremarkable unpublished GitHub App with permissions to
It has some sort of secret which lets us act as the app within GitHub actions, which is passed
through via `secrets.APP_PRIVATE_KEY`. (I guess this is the "Client secrets" secret, but for some
reason that says "Never used"? I don't remember). Importantly, we have also given the Hydro Project
Bot permission to bypass [`main` branch protection rules](https://github.com/hydro-project/hydroflow/settings/branch_protection_rules/24797446),
Bot permission to bypass [`main` branch protection rules](https://github.com/hydro-project/hydro/settings/branch_protection_rules/24797446),
under "Allow specified actors to bypass required pull requests" and also under "Allow force pushes"
(although I don't think that `cargo smart-release` does force pushes?).

Expand Down
2 changes: 1 addition & 1 deletion datastores/gossip_kv/cli/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ async fn main() {
commands[Get] -> map(|(key,)| (ClientRequest::Get {key}, server_address)) -> outbound_messages;
commands[Set] -> map(|(key, value)| (ClientRequest::Set {key, value}, server_address)) -> outbound_messages;
commands[Delete] -> map(|(key,)| (ClientRequest::Delete {key}, server_address)) -> outbound_messages;
commands[Exit] -> for_each(|()| std::process::exit(0)); // TODO: Graceful shutdown https://github.com/hydro-project/hydroflow/issues/1253
commands[Exit] -> for_each(|()| std::process::exit(0)); // TODO: Graceful shutdown https://github.com/hydro-project/hydro/issues/1253

};

Expand Down
2 changes: 1 addition & 1 deletion datastores/gossip_kv/kv/model.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ pub type NamespaceMap<V> = MapUnionHashMap<Namespace, TableMap<V>>;
pub type Namespaces<C> = NamespaceMap<RowValue<C>>;

/// Timestamps used in the model.
// TODO: This will be updated to use a more sophisticated clock type with https://github.com/hydro-project/hydroflow/issues/1207.
// TODO: This will be updated to use a more sophisticated clock type with https://github.com/hydro-project/hydro/issues/1207.
pub type Clock = Max<u64>;

/// TableMap element to upsert a row in an existing TableMap.
Expand Down
2 changes: 1 addition & 1 deletion datastores/gossip_kv/kv/server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ where
reads -> [1]process_system_table_reads;

process_system_table_reads = lattice_bimorphism(KeyedBimorphism::<HashMap<_, _>, _>::new(KeyedBimorphism::<HashMap<_, _>, _>::new(KeyedBimorphism::<HashMap<_, _>, _>::new(PairBimorphism))), #namespaces, #reads)
-> lattice_reduce::<'tick>() // TODO: This can be removed if we fix https://github.com/hydro-project/hydroflow/issues/1401. Otherwise the result can be returned twice if get & gossip arrive in the same tick.
-> lattice_reduce::<'tick>() // TODO: This can be removed if we fix https://github.com/hydro-project/hydro/issues/1401. Otherwise the result can be returned twice if get & gossip arrive in the same tick.
-> flat_map(|result: NamespaceMap<Pair<RowValue<Clock>, SetUnion<HashSet<Addr>>>>| {

let mut response: Vec<(ClientResponse, Addr)> = vec![];
Expand Down
2 changes: 1 addition & 1 deletion dfir_datalog/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use quote::{quote, ToTokens};
///
/// This uses a variant of Datalog that is similar to [Dedalus](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-173.pdf).
///
/// For examples, see [the datalog tests in the Hydroflow repo](https://github.com/hydro-project/hydroflow/blob/main/hydroflow/tests/datalog_frontend.rs).
/// For examples, see [the datalog tests in the Hydroflow repo](https://github.com/hydro-project/hydro/blob/main/hydroflow/tests/datalog_frontend.rs).
// TODO(mingwei): rustdoc examples inline.
#[proc_macro]
pub fn datalog(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
Expand Down
2 changes: 1 addition & 1 deletion dfir_lang/src/graph/flat_graph_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -687,7 +687,7 @@ impl FlatGraphBuilder {
}

/// Warns about unused port indexing referenced in [`Self::varname_ends`].
/// https://github.com/hydro-project/hydroflow/issues/1108
/// https://github.com/hydro-project/hydro/issues/1108
fn warn_unused_port_indexing(&mut self) {
for (_ident, varname_info) in self.varname_ends.iter() {
if !varname_info.inn_used {
Expand Down
2 changes: 1 addition & 1 deletion dfir_lang/src/graph/flat_to_partitioned.rs
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ fn find_subgraph_strata(
DelayType::Stratum => {
// Any negative edges which go onto the same or previous stratum are bad.
// Indicates an unbroken negative cycle.
// TODO(mingwei): This check is insufficient: https://github.com/hydro-project/hydroflow/issues/1115#issuecomment-2018385033
// TODO(mingwei): This check is insufficient: https://github.com/hydro-project/hydro/issues/1115#issuecomment-2018385033
if dst_stratum <= src_stratum {
return Err(Diagnostic::spanned(dst_port.span(), Level::Error, "Negative edge creates a negative cycle which must be broken with a `defer_tick()` operator."));
}
Expand Down
2 changes: 1 addition & 1 deletion dfir_lang/src/graph/ops/anti_join.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ pub const ANTI_JOIN: OperatorConstraints = OperatorConstraints {
is_external_input: false,
// If this is set to true, the state will need to be cleared using `#context.set_state_tick_hook`
// to prevent reading uncleared data if this subgraph doesn't run.
// https://github.com/hydro-project/hydroflow/issues/1298
// https://github.com/hydro-project/hydro/issues/1298
has_singleton_output: false,
flo_type: None,
ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { pos, neg })),
Expand Down
2 changes: 1 addition & 1 deletion dfir_lang/src/graph/ops/anti_join_multiset.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ pub const ANTI_JOIN_MULTISET: OperatorConstraints = OperatorConstraints {
is_external_input: false,
// If this is set to true, the state will need to be cleared using `#context.set_state_tick_hook`
// to prevent reading uncleared data if this subgraph doesn't run.
// https://github.com/hydro-project/hydroflow/issues/1298
// https://github.com/hydro-project/hydro/issues/1298
has_singleton_output: false,
flo_type: None,
ports_inn: Some(|| super::PortListSpec::Fixed(parse_quote! { pos, neg })),
Expand Down
2 changes: 1 addition & 1 deletion dfir_lang/src/graph/ops/fold_keyed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ pub const FOLD_KEYED: OperatorConstraints = OperatorConstraints {
is_external_input: false,
// If this is set to true, the state will need to be cleared using `#context.set_state_tick_hook`
// to prevent reading uncleared data if this subgraph doesn't run.
// https://github.com/hydro-project/hydroflow/issues/1298
// https://github.com/hydro-project/hydro/issues/1298
has_singleton_output: false,
flo_type: None,
ports_inn: None,
Expand Down
2 changes: 1 addition & 1 deletion dfir_lang/src/graph/ops/multiset_delta.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ pub const MULTISET_DELTA: OperatorConstraints = OperatorConstraints {
is_external_input: false,
// If this is set to true, the state will need to be cleared using `#context.set_state_tick_hook`
// to prevent reading uncleared data if this subgraph doesn't run.
// https://github.com/hydro-project/hydroflow/issues/1298
// https://github.com/hydro-project/hydro/issues/1298
// If `'tick` lifetimes are added.
has_singleton_output: false,
flo_type: None,
Expand Down
2 changes: 1 addition & 1 deletion dfir_lang/src/graph/ops/persist_mut.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ pub const PERSIST_MUT: OperatorConstraints = OperatorConstraints {
is_external_input: false,
// If this is set to true, the state will need to be cleared using `#context.set_state_tick_hook`
// to prevent reading uncleared data if this subgraph doesn't run.
// https://github.com/hydro-project/hydroflow/issues/1298
// https://github.com/hydro-project/hydro/issues/1298
// If `'tick` lifetimes are added.
has_singleton_output: false,
flo_type: None,
Expand Down
2 changes: 1 addition & 1 deletion dfir_lang/src/graph/ops/persist_mut_keyed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ pub const PERSIST_MUT_KEYED: OperatorConstraints = OperatorConstraints {
is_external_input: false,
// If this is set to true, the state will need to be cleared using `#context.set_state_tick_hook`
// to prevent reading uncleared data if this subgraph doesn't run.
// https://github.com/hydro-project/hydroflow/issues/1298
// https://github.com/hydro-project/hydro/issues/1298
// If `'tick` lifetimes are added.
has_singleton_output: false,
flo_type: None,
Expand Down
2 changes: 1 addition & 1 deletion dfir_lang/src/graph/ops/reduce_keyed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ pub const REDUCE_KEYED: OperatorConstraints = OperatorConstraints {
is_external_input: false,
// If this is set to true, the state will need to be cleared using `#context.set_state_tick_hook`
// to prevent reading uncleared data if this subgraph doesn't run.
// https://github.com/hydro-project/hydroflow/issues/1298
// https://github.com/hydro-project/hydro/issues/1298
has_singleton_output: false,
flo_type: None,
ports_inn: None,
Expand Down
6 changes: 3 additions & 3 deletions dfir_macro/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ use syn::{

/// Create a Hydroflow instance using Hydroflow's custom "surface syntax."
///
/// For example usage, take a look at the [`surface_*` tests in the `tests` folder](https://github.com/hydro-project/hydroflow/tree/main/hydroflow/tests)
/// or the [`examples` folder](https://github.com/hydro-project/hydroflow/tree/main/hydroflow/examples)
/// in the [Hydroflow repo](https://github.com/hydro-project/hydroflow).
/// For example usage, take a look at the [`surface_*` tests in the `tests` folder](https://github.com/hydro-project/hydro/tree/main/dfir_rs/tests)
/// or the [`examples` folder](https://github.com/hydro-project/hydro/tree/main/dfir_rs/examples)
/// in the [Hydroflow repo](https://github.com/hydro-project/hydro).
// TODO(mingwei): rustdoc examples inline.
#[proc_macro]
pub fn dfir_syntax(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
Expand Down
2 changes: 1 addition & 1 deletion dfir_rs/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
//! hf.run_available();
//! ```
//!
//! For more examples, check out the [`examples` folder on Github](https://github.com/hydro-project/hydroflow/tree/main/hydroflow/examples).
//! For more examples, check out the [`examples` folder on Github](https://github.com/hydro-project/hydro/tree/main/dfir_rs/examples).
pub mod compiled;
pub mod scheduled;
Expand Down
2 changes: 1 addition & 1 deletion dfir_rs/tests/surface_lattice_bimorphism.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ pub fn test_join() {
);
}

/// Test for https://github.com/hydro-project/hydroflow/issues/1298
/// Test for https://github.com/hydro-project/hydro/issues/1298
#[multiplatform_test]
pub fn test_cartesian_product_tick_state() {
let (lhs_send, lhs_recv) = dfir_rs::util::unbounded_channel::<u32>();
Expand Down
2 changes: 1 addition & 1 deletion dfir_rs/tests/surface_lattice_join.rs
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ pub fn test_lattice_join_fused_join() {

df.run_tick();
let out: Vec<_> = collect_ready(&mut out_rx);
// TODO(mingwei): Should only be one, but bug: https://github.com/hydro-project/hydroflow/issues/1050#issuecomment-1924338317
// TODO(mingwei): Should only be one, but bug: https://github.com/hydro-project/hydro/issues/1050#issuecomment-1924338317
assert_eq!(out, [SingletonMap(7, (4, 6)), SingletonMap(7, (4, 6))]);
}
}
2 changes: 1 addition & 1 deletion docs/docs/dfir/architecture/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -90,5 +90,5 @@ Compiled push-based iterators live in [`dfir_rs::compiled`](https://hydro.run/ru
When working with DFIR, we intend users to use the Flow Syntax as it is much more friendly, but as
DFIR is in active development some operators might not be available in
the Flow Syntax, in which case the Core API can be used instead. If you find
yourself in this situation be sure to [submit an issue](https://github.com/hydro-project/hydroflow/issues/new)!
yourself in this situation be sure to [submit an issue](https://github.com/hydro-project/hydro/issues/new)!

2 changes: 1 addition & 1 deletion docs/docs/dfir/concepts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ which send and receive flows of data to each other.
### So how might a human write distributed systems with DFIR?
As an illustration of how you can work at the DFIR layer, consider the
[Chat Server example](https://github.com/hydro-project/hydroflow/tree/main/dfir_rs/examples/chat). If you run that binary
[Chat Server example](https://github.com/hydro-project/hydro/tree/main/dfir_rs/examples/chat). If you run that binary
with the command-line argument `--role server` it will start a single transducer that is responsible for a chat server: receiving
membership requests and messages from clients, and forwarding messages from individual clients to all other clients.
If you run that binary with the argument `--role client` it will start a transducer that is responsible for a chat client, which
Expand Down
Loading

0 comments on commit 6ac17fb

Please sign in to comment.