Skip to content

updating dependencies and change log (#246) #6

updating dependencies and change log (#246)

updating dependencies and change log (#246) #6

# This is a CI for Prysm Web UI
name: Prysm Web CI
# Specify tags allowed
on:
push:
tags:
- '*'
jobs:
# Build job for Prysm Web ui
build_and_release:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Automated steps for the release
steps:
- uses: actions/checkout@v2
with:
path: main
fetch-depth: 0
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: "16.x"
path: main
- name: Install dependencies
run: cd main && npm install
- name: Node build step for prod
run: cd main && npm run build:prod
- name: Archive the release
run: cd main/dist && tar -czvf ../prysm-web-ui.tar.gz .
- name: Create shasum
run: cd main && shasum -a 256 prysm-web-ui.tar.gz | awk '{print $1}' > prysm-web-ui.tar.gz.sha256sum
- name: Define shasum variable
id: new_shasum
run: cd main && echo "::set-output name=SHA::$(cat prysm-web-ui.tar.gz.sha256sum)"
- name: Create release
uses: actions/create-release@v1
id: create_release
with:
draft: false
prerelease: false
release_name: Release-${{ github.ref }}
tag_name: ${{ github.ref }}
body_path: ./main/CHANGELOG.md
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Upload archived artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./main/prysm-web-ui.tar.gz
asset_name: prysm-web-ui.tar.gz
asset_content_type: application/gzip
- name: Upload checksum artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./main/prysm-web-ui.tar.gz.sha256sum
asset_name: prysm-web-ui.tar.gz.sha256sum
asset_content_type: application/sha256sum
- name: Get previous tag version
id: previous_version
run: cd main && echo "::set-output name=TAG_NAME::$(git describe --abbrev=0 --tags `git rev-list --tags --skip=1 --max-count=1`)"
outputs:
new_sha: ${{ steps.new_shasum.outputs.SHA }}
old_tag: ${{ steps.previous_version.outputs.TAG_NAME }}
# Job for Prysm WORKSPACE modification and pull request
prysm_pull_request:
needs: build_and_release
runs-on: ubuntu-latest
steps:
- name: Checkout tools repo
uses: actions/checkout@v3
with:
repository: prysmaticlabs/prysm
path: prysm_repo
ref: develop
- name: Git pull
run: cd prysm_repo && git pull
- name: Get Current Tag
id: current_version
run: cd prysm_repo && echo ::set-output name=TAG::${GITHUB_REF#refs/*/}
- name: Replace Tag
uses: jacobtomlinson/gha-find-replace@v2
with:
find: ${{ needs.build_and_release.outputs.old_tag }}
replace: ${{ steps.current_version.outputs.TAG }}
include: "prysm_repo/WORKSPACE"
- name: Get the previous shasum
run: wget https://github.com/prysmaticlabs/prysm-web-ui/releases/download/${{ needs.build_and_release.outputs.old_tag }}/prysm-web-ui.tar.gz.sha256sum
- name: Get previous release shasum value
id: previous_shasum
run: echo "::set-output name=SHASUM::$(cat prysm-web-ui.tar.gz.sha256sum | awk '{print $1}')"
- name: Replace SHA
uses: jacobtomlinson/gha-find-replace@v2
with:
find: ${{ steps.previous_shasum.outputs.SHASUM }}
replace: ${{ needs.build_and_release.outputs.new_sha }}
include: "prysm_repo/WORKSPACE"
- name: Setup bazel
uses: jwlawson/actions-setup-bazel@v1
with:
bazel-version: '5.3.0'
- name: Run Bazel
run: cd prysm_repo && bazel build //validator/web:site_data
- name: Copy build site data
run: cd prysm_repo && cp bazel-bin/validator/web/site_data.go ./validator/web/site_data.go
- name: Run go FMT
run: cd prysm_repo && gofmt -w -s ./validator/web/site_data.go
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
commit-message: Web-ui-version-${{ steps.current_version.outputs.TAG }}-commit
title: 'Prysm Web UI Release ${{ steps.current_version.outputs.TAG }}'
body: >
This PR is auto-generated by
[create-pull-request](https://github.com/peter-evans/create-pull-request).
labels: automated pr
path: prysm_repo
#reviewers: rauljordan, james-prysm
token: ${{ secrets.PAToken }}
branch: prysm-web-ui-${{ steps.current_version.outputs.TAG }}
base: develop