-
Notifications
You must be signed in to change notification settings - Fork 822
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Backport #4812 and #5189 to fix the CI. --------- Signed-off-by: Oliver Tale-Yazdi <[email protected]> Co-authored-by: Morgan Adamiec <[email protected]>
- Loading branch information
1 parent
743dc63
commit 846c6ea
Showing
3 changed files
with
59 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,45 +3,87 @@ name: Check semver | |
on: | ||
pull_request: | ||
types: [opened, synchronize, reopened, ready_for_review] | ||
paths: | ||
- prdoc/*.prdoc | ||
workflow_dispatch: | ||
|
||
concurrency: | ||
group: check-semver-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true | ||
|
||
env: | ||
TOOLCHAIN: nightly-2024-03-01 | ||
TOOLCHAIN: nightly-2024-06-01 | ||
|
||
|
||
jobs: | ||
check-semver: | ||
runs-on: ubuntu-latest | ||
container: | ||
image: docker.io/paritytech/ci-unified:bullseye-1.77.0-2024-04-10-v20240408 | ||
steps: | ||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | ||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | ||
|
||
- name: extra git setup | ||
env: | ||
BASE: ${{ github.event.pull_request.base.sha }} | ||
run: | | ||
git config --global --add safe.directory '*' | ||
git fetch --no-tags --no-recurse-submodules --depth=1 origin $BASE | ||
git branch old $BASE | ||
- name: Comment If Backport | ||
if: ${{ startsWith(github.event.pull_request.base.ref, 'stable') }} | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
PR: ${{ github.event.pull_request.number }} | ||
run: | | ||
echo "This is a backport into stable." | ||
wget -q https://github.com/cli/cli/releases/download/v2.51.0/gh_2.51.0_linux_amd64.tar.gz -O gh.tar.gz && \ | ||
tar -xzf gh.tar.gz && mv gh_2.51.0_linux_amd64/bin/gh /usr/local/bin/gh && rm gh.tar.gz | ||
chmod +x /usr/local/bin/gh | ||
cat > msg.txt <<EOF | ||
This pull request is amending an existing release. Please proceed with extreme caution, | ||
as to not impact downstream teams that rely on the stability of it. Some things to consider: | ||
- Backports are only for 'patch' or 'minor' changes. No 'major' or other breaking change. | ||
- Should be a legit *fix* for some bug, not adding tons of new features. | ||
- Must either be already audited or trivial (not sure audit). | ||
<details><summary><i>Emergency Bypass</i></summary> | ||
<p> | ||
If you really need to bypass this check: add <code>validate: false</code> to each crate | ||
in the Prdoc where a breaking change is introduced. This will release a new major | ||
version of that crate and all its reverse dependencies and basically break the release. | ||
</p> | ||
</details> | ||
EOF | ||
gh issue comment $PR --edit-last -F msg.txt || gh issue comment $PR -F msg.txt | ||
echo "PRDOC_EXTRA_ARGS=--max-bump minor" >> $GITHUB_ENV | ||
- name: Rust Cache | ||
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 | ||
with: | ||
cache-on-failure: true | ||
|
||
- name: install parity-publish | ||
run: cargo install [email protected] | ||
|
||
- name: Rust compilation prerequisites | ||
run: | | ||
rustup default $TOOLCHAIN | ||
rustup target add wasm32-unknown-unknown --toolchain $TOOLCHAIN | ||
rustup component add rust-src --toolchain $TOOLCHAIN | ||
- name: extra git setup | ||
run: | | ||
git config --global --add safe.directory '*' | ||
git fetch --no-tags --no-recurse-submodules --depth=1 origin master | ||
git branch old origin/master | ||
- name: install parity-publish | ||
# Set the target dir to cache the build. | ||
run: CARGO_TARGET_DIR=./target/ cargo install [email protected] -q | ||
|
||
- name: check semver | ||
run: | | ||
export CARGO_TARGET_DIR=target | ||
export RUSTFLAGS='-A warnings -A missing_docs' | ||
export SKIP_WASM_BUILD=1 | ||
if ! parity-publish --color always prdoc --since old --validate prdoc/pr_$PR.prdoc -v --toolchain $TOOLCHAIN; then | ||
if ! parity-publish --color always prdoc --since old --validate prdoc/pr_$PR.prdoc $PRDOC_EXTRA_ARGS -v --toolchain $TOOLCHAIN; then | ||
cat <<EOF | ||
👋 Hello developer! The SemVer information that you declared in the prdoc file did not match what the CI detected. | ||
|
@@ -56,3 +98,4 @@ jobs: | |
fi | ||
env: | ||
PR: ${{ github.event.pull_request.number }} | ||
PRDOC_EXTRA_ARGS: ${{ env.PRDOC_EXTRA_ARGS }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters