add check for gentx directory exist #13
Workflow file for this run
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
name: Validate Gentx | |
on: | |
pull_request: | |
jobs: | |
find-gentx-files: | |
runs-on: ubuntu-latest | |
outputs: | |
gentx-files: ${{ steps.set-outputs.outputs.gentx-files }} | |
gentx-changed: ${{ steps.set-outputs.outputs.gentx-changed }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get changed gentx files | |
id: changed-files | |
uses: tj-actions/changed-files@v39 | |
with: | |
files: "./celestia/*gentx*/*.json" | |
- name: Set outputs | |
id: set-outputs | |
run: | | |
echo "gentx-files=${{ steps.changed-files.outputs.all_changed_files }}" >> "$GITHUB_OUTPUT" | |
echo "gentx-changed=${{ steps.changed-files.outputs.any_changed }}" >> "$GITHUB_OUTPUT" | |
check-user-pr: | |
needs: find-gentx-files | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: write | |
if: needs.find-gentx-files.outputs.gentx-changed == 'true' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
- name: Check user csv | |
id: check-user-pr | |
run: go run .github/workflows/checkuser.go ${{github.actor}} ${{github.event.number}} | |
- name: Commit changes to the csv | |
if: success() | |
uses: EndBug/add-and-commit@v9 | |
with: | |
message: "Add ${{github.actor}} with pr ${{github.event.number}} to usersprs.csv file" | |
- name: Add comment about user in csv | |
if: failure() | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
github.rest.issues.createComment({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: 'User has previously submitted a gentx PR' | |
}) | |
jq-format: | |
needs: find-gentx-files | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: List all changed files | |
run: | | |
for file in ${{ needs.find-gentx-files.outputs.gentx-files }}; do | |
jq . $file >$file"_tmp" | |
cmp -s $file"_tmp" $file || (echo "$file gentx file not formatted" && exit 1) | |
done | |
- name: Add comment about formatting failure | |
if: failure() | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
github.rest.issues.createComment({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: 'Please format your gentx by running `jq . path/to/gentx.json > path/to/gentx.json_tmp && mv path/to/gentx.json_tmp path/to/gentx.json` and resubmit the PR.' | |
}) | |
valid-gentx: | |
needs: find-gentx-files | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.21 | |
- name: Validate addresses and a balances | |
run: | | |
for file in ${{ needs.find-gentx-files.outputs.gentx-files }}; do | |
go run .github/workflows/validate.go $file | |
done |