Skip to content

Commit

Permalink
Upgrade flow automation - Init workflows (#192)
Browse files Browse the repository at this point in the history
* Added nearcore check and pr create ymls

* cleanup
  • Loading branch information
alexander-borodulya authored Jan 30, 2025
1 parent 993eaff commit e226b4e
Show file tree
Hide file tree
Showing 2 changed files with 110 additions and 0 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/check-nearcore-releases.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Check nearcore releases

on:
workflow_dispatch: # Manual trigger only

jobs:
check-releases:
runs-on: ubuntu-latest

steps:
- name: Restore last checked release
id: nearcore-release-restore
uses: actions/cache/restore@v4
with:
path: .nearcore_last_checked_release
key: nearcore-release-cache

- name: Check for new nearcore release
id: check-release
run: |
latest_release=$(curl -s https://api.github.com/repos/near/nearcore/releases | jq -r '.[0].tag_name')
echo "Latest release: $latest_release"
last_checked_release=$(cat .nearcore_last_checked_release 2>/dev/null || echo "")
echo "Last checked release: $last_checked_release"
if [[ "$latest_release" != "$last_checked_release" ]]; then
echo "New release found: $latest_release"
echo "$latest_release" > .nearcore_last_checked_release
echo "new_release=$latest_release" >> $GITHUB_OUTPUT
else
echo "No new release found."
echo "new_release=" >> $GITHUB_OUTPUT
fi
- name: Save last checked release
id: nearcore-release-save
uses: actions/cache/save@v4
with:
path: .nearcore_last_checked_release
key: ${{ steps.nearcore-release-restore.outputs.cache-primary-key }}-${{ github.run_id }}

- name: Trigger PR update in borealis-engine-lib
if: steps.check-release.outputs.new_release
run: |
curl -X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
https://api.github.com/repos/aurora-is-near/borealis-engine-lib/dispatches \
-d '{"event_type":"pr-update-nearcore-deps","client_payload":{"version":"'"${{ env.VERSION }}"'"}}'
- name: Summary
run: |
echo "## Nearcore Release Check Summary" >> $GITHUB_STEP_SUMMARY
echo "Latest Release: ${{ steps.check-release.outputs.latest_release }}" >> $GITHUB_STEP_SUMMARY
echo "Build Triggered: ${{ steps.check-release.outputs.new_release != '' && 'Yes' || 'No' }}" >> $GITHUB_STEP_SUMMARY
echo "Job summary generated at run-time" >> $GITHUB_STEP_SUMMARY
53 changes: 53 additions & 0 deletions .github/workflows/pr-update-nearcore-deps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Update nearcore dependencies via PR

on:
workflow_dispatch:
inputs:
version:
description: 'VERSION'
required: true
repository_dispatch:
types: [pr-update-nearcore-deps]

env:
REGISTRY: ghcr.io
VERSION: ${{ github.event.inputs.version || github.event.client_payload.version || '2.4.0' }}

jobs:
create-pr:
runs-on: k8s-infrastructure-dind

permissions:
contents: write
pull-requests: write

steps:
- name: Install GitHub CLI
run: |
if ! command -v gh &> /dev/null; then
sudo apt update && sudo apt install gh -y
fi
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Create new branch for nearcore update
run: |
NEW_BRANCH="chore/nearcore-${{ env.VERSION }}"
git checkout -b "$NEW_BRANCH"
- name: Verify build
run: cargo check

- name: Create Pull Request
run: |
gh pr create \
--title "chore: update nearcore to ${{ env.VERSION }}" \
--body "Automated PR to update nearcore dependency to ${{ env.VERSION }}." \
--base main \
--head "chore/nearcore-${{ env.VERSION }}" \
--label "dependencies, nearcore"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 comments on commit e226b4e

Please sign in to comment.