Skip to content

Commit 3986e68

Browse files
authored
Move repo to work with a Makefile (#667)
* Move repo to work with a Makefile #### Problem The program repos are getting a little out of hand, with many different methods of managing CI, scripts, etc etc. #### Summary of changes Token-2022 is the most complicated repo, with many different clients, multiple programs, and sub-libraries, so if we can get it to work here, it should be usable in all the other program repos. * Create a Makefile, similar to the system repo, to handle all jobs * Convert publish scripts to bash, similar to the system repo again * Remove js scripts that aren't related to Codama generation * Update the main CI and publish jobs to use Makefile commands * Use matrices in CI to simplify job construction The biggest issue is that Makefile targets can't contain slashes, so we need to have some mapping between something like `clients-rust-legacy` to `clients/rust-legacy`. Rather than specify that mapping by hand, I opted to assume that the first word in a target is a subdirectory. This means we have to change `confidential-transfer` to `confidential` in the repo. * Fixup matrix and yaml * Update setup action * Fixup targets and dependency paths * Call build-doc correctly * Add more needed words to the dictionary * Add spellcheck and audit jobs * Fixup yaml * Get spacing right for spellcheck too * spacing wrong again * Fix docs build * Add cli packages to test * Add extra reqs for build * Fixup SBF_OUT_DIR, run all tests * Use install-action instead of cache * Add programs to test-validator * Use common setup action, use package lists instead, fail-fast * Oops, branch is called "master" * Specify lists as JSON strings * Make strings valid JSON, use `vars` instead? * refer to build-sbpf correctly * Use outputs to define variable * Checkout the repo to get vars.env * Remove unused env vars * Update publish workflows to use outputs * Use reusable setup instead * Rename publish-js-client.yml -> publish-js.yml * Update to default / rustfmt / clippy toolchain * Use action from solana-program instead of joncinque * Oops, the branch is called "main" * Add vars into Makefile, remove template upgrade * Only run semver check on crate with lib target
1 parent 083d4a8 commit 3986e68

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+493
-1288
lines changed

.github/actions/setup/action.yml

Lines changed: 0 additions & 156 deletions
This file was deleted.

0 commit comments

Comments
 (0)