-
Notifications
You must be signed in to change notification settings - Fork 391
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of github.com:gnolang/gno into r/foo20-airdrop
- Loading branch information
Showing
1,056 changed files
with
53,343 additions
and
17,300 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
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 |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Make sure this is the top-level editorconfig | ||
# https://editorconfig.org/ | ||
root = true | ||
|
||
# GitHub Actions Workflows | ||
[workflows/**.yml] | ||
indent_style = space | ||
indent_size = 2 |
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
This file was deleted.
Oops, something went wrong.
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 |
---|---|---|
@@ -1,4 +1,4 @@ | ||
name: auto-author-assign | ||
name: Auto Assign PR Author | ||
|
||
on: | ||
pull_request_target: | ||
|
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
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 |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# This workflow must be kept in sync to some extent with bot.yml | ||
name: GitHub Bot Proxy | ||
|
||
on: | ||
# Watch for any completed run on bot.yml workflow | ||
workflow_run: | ||
workflows: [GitHub Bot] | ||
types: [completed] | ||
|
||
jobs: | ||
# This workflow monitors any run completed on the GitHub Bot workflow and | ||
# checks if the event that triggered it is limited to read-only permissions | ||
# (e.g 'pull_request_review' on a pull request opened from a fork). | ||
# In this case, it reruns the GitHub Bot workflow using a 'workflow_dispatch' | ||
# event, thereby allowing it to run with write permissions. | ||
# | ||
# Complete flow: | ||
# 'pull_request_review' from fork on bot.yml (read-only) -> 'workflow_run' on bot-proxy.yml (write) -> 'workflow_dispatch' on bot.yml (write) | ||
rerun-with-write-perm: | ||
name: Rerun Bot with write permission | ||
# Skip this workflow if the original event is not 'pull_request_review' | ||
if: github.event.workflow_run.event == 'pull_request_review' | ||
runs-on: ubuntu-latest | ||
permissions: | ||
actions: write | ||
|
||
steps: | ||
- name: Download artifact from previous run | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: pr-number | ||
run-id: ${{ github.event.workflow_run.id }} | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
# Even if the artifact doesn't exist, do not mark the workflow as failed | ||
# Useful if the 'pull_request_review' event was emitted by a PR opened | ||
# from a branch on the main repo, so it has already been processed by | ||
# the bot workflow, and no artifact has been uploaded. | ||
continue-on-error: true | ||
id: download | ||
|
||
- name: Send workflow_dispatch event to Github Bot | ||
# Run only if an artifact was downloaded | ||
if: steps.download.outcome == 'success' | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
REPO: ${{ github.event.workflow_run.repository.full_name }} | ||
run: | | ||
gh workflow run bot.yml -R "$REPO" -f "pull-request-list=$(cat pr-number)" |
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 |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# This workflow must be kept in sync to some extent with bot-proxy.yml | ||
name: GitHub Bot | ||
|
||
on: | ||
# Watch for changes on PR state, assignees, labels, head branch and draft/ready status | ||
pull_request_target: | ||
types: | ||
- assigned | ||
- unassigned | ||
- labeled | ||
- unlabeled | ||
- opened | ||
- reopened | ||
- synchronize # PR head updated | ||
- converted_to_draft | ||
- ready_for_review | ||
|
||
# Watch for changes on PR reviews | ||
pull_request_review: | ||
types: [submitted, edited, dismissed] | ||
|
||
# Watch for changes on PR comment | ||
issue_comment: | ||
types: [created, edited, deleted] | ||
|
||
# Manual run from GitHub Actions interface | ||
workflow_dispatch: | ||
inputs: | ||
pull-request-list: | ||
description: "PR(s) to process: specify 'all' or a comma separated list of PR numbers, e.g. '42,1337,7890'" | ||
required: true | ||
default: all | ||
type: string | ||
|
||
jobs: | ||
# This job creates a matrix of PR numbers based on the inputs from the various | ||
# events that can trigger this workflow so that the process-pr job below can | ||
# handle the parallel processing of the pull-requests | ||
define-prs-matrix: | ||
name: Define PRs matrix | ||
# Skip this workflow if: | ||
# - the bot is retriggering itself | ||
# - the event is emitted by codecov | ||
# - the event is a review on a pull request from a fork (see save-pr-number job below) | ||
if: | | ||
github.actor != vars.GH_BOT_LOGIN && | ||
github.actor != 'codecov[bot]' && | ||
(github.event_name != 'pull_request_review' || github.event.pull_request.base.repo.full_name == github.event.pull_request.head.repo.full_name) | ||
runs-on: ubuntu-latest | ||
permissions: | ||
pull-requests: read | ||
outputs: | ||
pr-numbers: ${{ steps.pr-numbers.outputs.pr-numbers }} | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version-file: contribs/github-bot/go.mod | ||
|
||
- name: Generate matrix from event | ||
id: pr-numbers | ||
working-directory: contribs/github-bot | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: go run . matrix -matrix-key 'pr-numbers' -verbose | ||
|
||
# This job is executed if an event with read-only permission has triggered this | ||
# workflow (e.g 'pull_request_review' on a pull request opened from a fork). | ||
# In this case, this job persists the PR number in an artifact so that the | ||
# proxy workflow can use it to rerun the current workflow with write permission. | ||
# See bot-proxy.yml for more info. | ||
save-pr-number: | ||
name: Persist PR number for proxy | ||
# Run this job if the event is a review on a pull request opened from a fork | ||
if: github.event_name == 'pull_request_review' && github.event.pull_request.base.repo.full_name != github.event.pull_request.head.repo.full_name | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Write PR number to a file | ||
env: | ||
PR_NUMBER: ${{ github.event.pull_request.number }} | ||
run: echo $PR_NUMBER > pr-number | ||
|
||
- name: Upload it as an artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: pr-number | ||
path: pr-number | ||
|
||
# This job processes each pull request in the matrix individually while ensuring | ||
# that a same PR cannot be processed concurrently by mutliple runners | ||
process-pr: | ||
name: Process PR | ||
needs: define-prs-matrix | ||
# Just skip this job if PR numbers matrix is empty (prevent failed state) | ||
if: needs.define-prs-matrix.outputs.pr-numbers != '[]' && needs.define-prs-matrix.outputs.pr-numbers != '' | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
# Run one job for each PR to process | ||
pr-number: ${{ fromJSON(needs.define-prs-matrix.outputs.pr-numbers) }} | ||
concurrency: | ||
# Prevent running concurrent jobs for a given PR number | ||
group: ${{ matrix.pr-number }} | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version-file: contribs/github-bot/go.mod | ||
|
||
- name: Run GitHub Bot | ||
working-directory: contribs/github-bot | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GH_BOT_PAT }} | ||
run: go run . check -pr-numbers '${{ matrix.pr-number }}' -verbose |
Oops, something went wrong.