Skip to content

Update UI and open PR #84

Update UI and open PR

Update UI and open PR #84

Workflow file for this run

name: Update UI
on:
# Run daily
schedule:
- cron: '0 0 * * *'
# Enable manual trigger
workflow_dispatch:
jobs:
update-ui:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: stable
- name: Check for new hostd tag in SiaFoundation/web
id: check-tag
env:
GH_TOKEN: ${{ github.token }}
run: |
# Fetch tags with pagination
TAGS_JSON=$(gh api --paginate repos/SiaFoundation/web/tags)
# Extract tags that start with "hostd/", sort them in version order, and pick the highest version
LATEST_HOSTD_GO_TAG=$(echo "$TAGS_JSON" | jq -r '.[] | select(.name | startswith("hostd/")).name' | sort -Vr | head -n 1)
LATEST_HOSTD_VERSION=$(echo "$LATEST_HOSTD_GO_TAG" | sed 's/hostd\///')
echo "Latest hostd tag is $LATEST_HOSTD_GO_TAG"
echo "GO_TAG=$LATEST_HOSTD_GO_TAG" >> $GITHUB_ENV
echo "VERSION=$LATEST_HOSTD_VERSION" >> $GITHUB_ENV
- name: Fetch release notes for the release
id: release-notes
env:
GH_TOKEN: ${{ github.token }}
if: env.GO_TAG != 'null'
run: |
RELEASE_TAG_FORMATTED=$(echo "$GO_TAG" | sed 's/\/v/@/')
RELEASES_JSON=$(gh api --paginate repos/SiaFoundation/web/releases)
RELEASE_NOTES=$(echo "$RELEASES_JSON" | jq -r --arg TAG_NAME "$RELEASE_TAG_FORMATTED" '.[] | select(.name == $TAG_NAME).body')
echo "Release notes for $RELEASE_TAG_FORMATTED: $RELEASE_NOTES"
echo "RELEASE_NOTES<<EOF" >> $GITHUB_ENV
echo "$RELEASE_NOTES" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Update go.mod with latest module
if: env.GO_TAG != 'null'
run: |
GO_MODULE_FORMATTED=$(echo "$GO_TAG" | sed 's/\//@/')
echo "Updating go.mod to use $GO_MODULE_FORMATTED"
go clean -modcache
go get go.sia.tech/web/$GO_MODULE_FORMATTED
go mod tidy
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
if: env.GO_TAG != 'null'
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "ui: ${{ env.VERSION }}"
title: "ui: ${{ env.VERSION }}"
body: ${{ env.RELEASE_NOTES }}
branch: "ui/update"
delete-branch: true