mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-23 16:38:01 +00:00
ce2403808b
* WIP Release notes generation and templates * WIP Add new sections to the template * WIP renaming and wip * Fix runtime template * Add doc, NO_CACHE and tweaking of the templates * Renaming cl into cumulus to make room for the polkadot and substrate * Fetch data from Substrate and Polkadot * WIP convert bash script to ruby * Convert to Ruby * Fix host function delection * Extract priority to a macro * Fix misc changes * Draft release workflow * Fix runtime dir * Add ENV to ignore runtimes * Install tooling separately * WIP troubleshooting - remove sudo * Minor formatting fixes * Fix workflow * Add missing dep * Linting * Fix changelog script * Add missing tera install * Use absolute paths * Fix path + cleanup * Fix changelog generation * Add missing pre-release ENV * Fix rust version ENV * Fix release notes path * Fix output * Fix runtime_dir for cumulus * Fix ENV substitutions * Fix styling * Debugging * Styling * Fix call to fetch the runtime version * Cleanup and doc * Delete sample .env * Update scripts/changelog/templates/change.md.tera Co-authored-by: Alexander Popiak <alexander.popiak@parity.io> * Change XCM emoji marker for a ✉️ Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
33 lines
807 B
Ruby
33 lines
807 B
Ruby
# frozen_string_literal: true
|
|
|
|
# A Class to find Substrate references
|
|
class SubRef
|
|
require 'octokit'
|
|
require 'toml'
|
|
|
|
attr_reader :client, :repository
|
|
|
|
def initialize(github_repo)
|
|
@client = Octokit::Client.new(
|
|
access_token: ENV['GITHUB_TOKEN']
|
|
)
|
|
@repository = @client.repository(github_repo)
|
|
end
|
|
|
|
# This function checks the Cargo.lock of a given
|
|
# Rust project, for a given package, and fetches
|
|
# the dependency git ref.
|
|
def get_dependency_reference(ref, package)
|
|
cargo = TOML::Parser.new(
|
|
Base64.decode64(
|
|
@client.contents(
|
|
@repository.full_name,
|
|
path: 'Cargo.lock',
|
|
query: { ref: ref.to_s }
|
|
).content
|
|
)
|
|
).parsed
|
|
cargo['package'].find { |p| p['name'] == package }['source'].split('#').last
|
|
end
|
|
end
|