Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: add concurrency groups to the relevant workflows #653

Merged
merged 4 commits into from
Jul 7, 2022

Conversation

bhgomes
Copy link
Contributor

@bhgomes bhgomes commented Jul 7, 2022

Description

Explicitly labeling concurrency groups allows actions to be canceled if they are not the latest run in a concurrency group. For PRs this means if a workflow is running and a new commit spawns a concurrent workflow the original workflow is canceled. This reduces total CI cost since useless runs are canceled immediately.

  • Adds concurrency groups for the following workflows (it doesn't make sense to add to others):
    • .github/workflows/check_build.yml
    • .github/workflows/check_tests.yml
    • .github/workflows/publish_draft_releases.yml
  • Adds yamllint configuration file for our common workflow writing style
  • Removes extraneous whitespace in workflow files

closes: #640


Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

  • Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
  • Wrote unit tests.
  • Updated relevant documentation in the code.
  • Added one line describing your change in <branch>/CHANGELOG.md
  • Re-reviewed Files changed in the Github PR explorer.
  • If runtime changes, need to update the version numbers properly:
    • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
    • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
    • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
    • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. You can run the metadata_diff.yml workflow for help. If this number is updated, then the spec_version must also be updated
  • Verify benchmarks & weights have been updated for any modified runtime logics
  • If importing a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
  • If needed, update our Javascript/Typescript APIs. These APIs are officially used by exchanges or community developers.
  • If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inherited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.

@github-actions
Copy link

github-actions bot commented Jul 7, 2022

Please signoff on all commits with your name, email and gpg key for the Developer's Certificate of Origin.
git config --global user.name your_name
git config --global user.email you_email
COMMAND : git commit -s -S -m your_commit_message
-s = Signed-off-by
-S = Verify commit using gpg key
If there is more than one commit in your pull request and your git client is modern enough (2.13+), rebase the required number of commits with --signoff:
git rebase --signoff HEAD~<number_of_commits>
Then, force push:
git push -f origin <your_branch>
For instructions on managing gpg signature verification please visit: https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits

Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
@bhgomes bhgomes force-pushed the fix/add-concurreny-groups branch from cc45f85 to 07afcc2 Compare July 7, 2022 02:39
@bhgomes bhgomes added C-enhancement Category: An issue proposing an enhancement or a PR with one A-automation Area: Issues and PRs related to Automation A-ci Area: Continuous Integration A-performance Area: Performance-related Issues and PRs P-medium Priority: Medium P-low Priority: Low and removed P-medium Priority: Medium labels Jul 7, 2022
@bhgomes bhgomes added this to the v3.2.1 milestone Jul 7, 2022
@bhgomes bhgomes marked this pull request as ready for review July 7, 2022 02:50
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
@bhgomes bhgomes force-pushed the fix/add-concurreny-groups branch from 094dd2a to 503e8ba Compare July 7, 2022 02:51
@bhgomes bhgomes marked this pull request as draft July 7, 2022 03:02
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
@bhgomes bhgomes marked this pull request as ready for review July 7, 2022 03:32
@bhgomes bhgomes requested a review from grenade July 7, 2022 04:19
Copy link
Contributor

@Garandor Garandor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the much needed yamllint along with this nice improvement.

Pls add .ds_store to .gitignore so it won't get recommitted

ghzlatarev
ghzlatarev previously approved these changes Jul 7, 2022
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
Copy link
Contributor

@Garandor Garandor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TFTPR!

@ghzlatarev ghzlatarev merged commit effc7ab into manta Jul 7, 2022
@ghzlatarev ghzlatarev deleted the fix/add-concurreny-groups branch July 7, 2022 20:04
stechu pushed a commit that referenced this pull request Jul 11, 2022
* fix: add concurrency groups to the relevant workflows

Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>

* chore: add CHANGELOG entry

Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>

* feat: add yamllint configuration for our style choices

Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>

* fix: add `.DS_Store` to `.gitignore`

Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
Signed-off-by: Shumo Chu <shumo.chu@pm.me>
@Apokalip Apokalip added the L-fixed Log: Issues and PRs related to bug fixes label Jul 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-automation Area: Issues and PRs related to Automation A-ci Area: Continuous Integration A-performance Area: Performance-related Issues and PRs C-enhancement Category: An issue proposing an enhancement or a PR with one L-fixed Log: Issues and PRs related to bug fixes P-low Priority: Low
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Stop CI when a new commit is pushed to the same PR
4 participants