Skip to content
Snippets Groups Projects
  1. Feb 18, 2025
    • Sebastian Kunert's avatar
      Fix link-checker reloaded (#7599) · d5424fe3
      Sebastian Kunert authored
      One more attempt to fix the link-checker job.
      
      This time we exclude polymesh which is reachable but not via lychee.
      Also exclude rust strings that contain "{}" or "{:?}".
      d5424fe3
  2. Dec 30, 2024
  3. Sep 05, 2024
    • Shawn Tabrizi's avatar
      fix link check (#5590) · d5346e72
      Shawn Tabrizi authored
      PR Doc #5443 broke the link checker because it includes a link to this
      private repo:
      
      https://github.com/paritytech/devops/issues/3502
      
      This PR adds the `prdoc` folder to the excluded paths of the link
      checker to ensure that historical PR Docs do not break the pipeline.
      
      I think this makes sense over whitelisting the github link because we
      probably expect that in a long enough time period, links from old PR
      docs will start to break, but I don't think we intend to update those
      old PR docs, or start whitelisting lots of urls.
      d5346e72
  4. Aug 28, 2024
  5. May 24, 2024
    • Oliver Tale-Yazdi's avatar
      Polkadot-SDK Umbrella Crate (#3935) · 1c7a1a58
      Oliver Tale-Yazdi authored
      
      # Umbrella Crate
      
      The Polkadot-SDK "umbrella" is a crate that re-exports all other
      published crates. This makes it
      possible to have a very small `Cargo.toml` file that only has one
      dependency, the umbrella
      crate. This helps with selecting the right combination of crate
      versions, since otherwise 3rd
      party tools are needed to select a compatible set of versions.
      
      ## Features
      
      The umbrella crate supports no-std builds and can therefore be used in
      the runtime and node.
      There are two main features: `runtime` and `node`. The `runtime` feature
      enables all `no-std`
      crates, while the `node` feature enables all `std` crates. It should be
      used like any other
      crate in the repo, with `default-features = false`.
      
      For more fine-grained control, additionally, each crate can be enabled
      selectively. The umbrella
      exposes one feature per dependency. For example, if you only want to use
      the `frame-support`
      crate, you can enable the `frame-support` feature.
      
      The umbrella exposes a few more general features:
      - `tuples-96`: Needs to be enabled for runtimes that have more than 64
      pallets.
      - `serde`: Specifically enable `serde` en/decoding support.
      - `experimental`: Experimental enable experimental features - should not
      yet used in production.
      - `with-tracing`: Enable tracing support.
      - `try-runtime`, `runtime-benchmarks` and `std`: These follow the
      standard conventions.
      - `runtime`: As described above, enable all `no-std` crates.
      - `node`: As described above, enable all `std` crates.
      - There does *not* exist a dedicated docs feature. To generate docs,
      enable the `runtime` and
      `node` feature. For docs.rs the manifest contains specific configuration
      to make it show up
        all re-exports.
      
      There is a specific `zepter` check in place to ensure that the features
      of the umbrella are
      correctly configured. This check is run in CI and locally when running
      `zepter`.
      
      ## Generation
      
      The umbrella crate needs to be updated every time when a new crate is
      added or removed from the
      workspace. It is checked in CI by calling its generation script. The
      generation script is
      located in `./scripts/generate-umbrella.py` and needs dependency
      `cargo_workspace`.
      
      Example: `python3 scripts/generate-umbrella.py --sdk . --version 1.9.0`
      
      ## Usage
      
      > Note: You can see a live example in the `staging-node-cli` and
      `kitchensink-runtime` crates.
      
      The umbrella crate can be added to your runtime crate like this:
      
      `polkadot-sdk = { path = "../../../../umbrella", features = ["runtime"],
      default-features =
      false}`
      
      or for a node:
      
      `polkadot-sdk = { path = "../../../../umbrella", features = ["node"],
      default-features = false
      }`
      
      In the code, it is then possible to bring all dependencies into scope
      via:
      
      `use polkadot_sdk::*;`
      
      ### Known Issues
      
      The only known issue so far is the fact that the `use` statement brings
      the dependencies only
      into the outer module scope - not the global crate scope. For example,
      the following code would
      need to be adjusted:
      
      ```rust
      use polkadot_sdk::*;
      
      mod foo {
         // This does sadly not compile:
         frame_support::parameter_types! { }
      
         // Instead, we need to do this (or add an equivalent `use` statement):
         polkadot_sdk::frame_support::parameter_types! { }
      }
      ```
      
      Apart from this, no issues are known. There could be some bugs with how
      macros locate their own
      re-exports. Please compile issues that arise from using this crate.
      
      ## Dependencies
      
      The umbrella crate re-exports all published crates, with a few
      exceptions:
      - Runtime crates like `rococo-runtime` etc are not exported. This
      otherwise leads to very weird
        compile errors and should not be needed anyway.
      - Example and fuzzing crates are not exported. This is currently
      detected by checking the name
      of the crate for these magic words. In the future, it will utilize
      custom metadata, as it is
        done in the `rococo-runtime` crate.
      - The umbrella crate itself. Should be obvious :)
      
      ## Follow Ups
      - [ ] Re-writing the generator in Rust - the python script is at its
      limit.
      - [ ] Using custom metadata to exclude some crates instead of filtering
      by names.
      - [ ] Finding a way to setting the version properly. Currently its
      locked in the CI script.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      1c7a1a58
  6. May 15, 2024
  7. May 12, 2024
  8. Apr 11, 2024
  9. Jan 15, 2024
    • dependabot[bot]'s avatar
      Bump lycheeverse/lychee-action (#2900) · 0c166ae0
      dependabot[bot] authored
      Bumps
      [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action)
      from fdea7032675810093199f485fe075f057cc37b3e to
      c3089c702fbb949e3f7a8122be0c33c017904f9b.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/c3089c702fbb949e3f7a8122be0c33c017904f9b"><code>c3089c7</code></a>
      Bump to lychee 0.14.1</li>
      <li>See full diff in <a
      href="https://github.com/lycheeverse/lychee-action/compare/fdea7032675810093199f485fe075f057cc37b3e...c3089c702fbb949e3f7a8122be0c33c017904f9b">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot reb...
      0c166ae0
  10. Jan 10, 2024
    • dependabot[bot]'s avatar
      Bump lycheeverse/lychee-action (#2875) · ce4e5496
      dependabot[bot] authored
      
      Bumps
      [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action)
      from 2ac9f030ccdea0033e2510a23a67da2a2da98492 to
      fdea7032675810093199f485fe075f057cc37b3e.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/fdea7032675810093199f485fe075f057cc37b3e"><code>fdea703</code></a>
      Update secure git hash for 1.9.0</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/22134d37a1fff6c2974df9c92a7c7e1e86a08f9c"><code>22134d3</code></a>
      Bump version to 1.9.0</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/ebd95ebde89b46eaf3567432efb0b52bad2187d7"><code>ebd95eb</code></a>
      Update to latest lychee 0.14.0</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/37d79d3b6eda9990480a57eed21c847792dec37a"><code>37d79d3</code></a>
      Add integration tests for absolute output path and <code>--dump</code>
      (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/218">#218</a>)</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/57219e4f1d23b32484889db3dbd73f6b814c9bfa"><code>57219e4</code></a>
      Add integration test for custom output paths (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/1309">#1309</a>)
      (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/217">#217</a>)</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/a4282891d5805c0d9df0c0d524e2e95a3b0d1ac5"><code>a428289</code></a>
      fix: cleanup if statement (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/215">#215</a>)</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/ef8c8f32c278e9eed290c6e6c96748f16b6cd335"><code>ef8c8f3</code></a>
      Add documentation on using the <code>--base</code> param when testing
      local files (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/211">#211</a>)</li>
      <li>See full diff in <a
      href="https://github.com/lycheeverse/lychee-action/compare/2ac9f030ccdea0033e2510a23a67da2a2da98492...fdea7032675810093199f485fe075f057cc37b3e">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      
      
      </details>
      
      ---------
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarPG Herveou <pgherveou@gmail.com>
      ce4e5496
  11. Dec 01, 2023
  12. Oct 16, 2023
    • Oliver Tale-Yazdi's avatar
      [CI] Add link checker (#1875) · e0e566bc
      Oliver Tale-Yazdi authored
      
      Adding link checker to the CI (closes
      https://github.com/paritytech/polkadot-sdk/issues/993). It would be nice
      to have the docs people own this and extend accordingly.
      Currently all known-bad links are excluded, but we should one-by-one
      include those as well until all are fixed.
      
      This check now ensures that 1) no new broken links are introduced into
      `.rs` files and 2) that no old links break unnoticed.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      e0e566bc