This repository has been archived by the owner on Aug 29, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Unified CI Release: 2022-04-04 (#314)
* Revert "include cross-package coverage in codecov" * Revert "Revert "include cross-package coverage in codecov"" * Make automerge a reusable workflow (#260) * move automerge from template to workflows * make automerge reusable and use it from new automerge template * pass parent job name to reusable automerge * check github actions yamls (#272) * check github actions yamls * make yaml linter happy about go-test * mention VS Code YAML extension in the readme * add info about other YAML checking extensions * make yaml checker more generic * use validate-yaml-schema action from mainline (#277) * upgrade lewagon/wait-on-check-action to v1.1.1 (#278) * always add a version.json file if it doesn't exist (#281) * fix go-test runner string * check if tag already exists in release-check (#287) * allow specifying custom PATH for 386 arch (#289) * go: update to 1.18.x (#307) * Upgrade staticcheck to v0.3.0 (#311) * increase sleep between PR creations to 10s * restore DEFAULT_BRANCH replacement Co-authored-by: Laurent Senta <[email protected]>
- Loading branch information
1 parent
8c6afa9
commit 4357a5d
Showing
12 changed files
with
131 additions
and
87 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,18 +8,18 @@ runs: | |
with: | ||
# This should be the same Go version we use in the go-check workflow. | ||
# go mod tidy, go vet, staticcheck and gofmt might behave differently depending on the version. | ||
go-version: "1.17.x" | ||
go-version: "1.18.x" | ||
- name: bump go.mod go version if needed | ||
uses: protocol/[email protected] | ||
with: | ||
working-directory: ${{ env.TARGET_REPO_DIR }} | ||
run: | | ||
# We want our modules to support two Go versions at a time. | ||
# As of August 2021, Go 1.17 is the latest stable. | ||
# As of March 2022, Go 1.18 is the latest stable. | ||
# go.mod's Go version declares the language version being used. | ||
# As such, it has to be the minimum of all Go versions supported. | ||
# Bump this every six months, as new Go versions come out. | ||
TARGET_VERSION=1.16 | ||
TARGET_VERSION=1.17 | ||
# Note that the "<" comparison doesn't understand semver, | ||
# but it should be good enough for the foreseeable future. | ||
|
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,55 @@ | ||
# Automatically merge pull requests opened by web3-bot, as soon as (and only if) all tests pass. | ||
# This reduces the friction associated with updating with our workflows. | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
job: | ||
required: true | ||
type: string | ||
name: Automerge | ||
|
||
jobs: | ||
automerge-check: | ||
if: github.event.pull_request.user.login == 'web3-bot' | ||
runs-on: ubuntu-latest | ||
outputs: | ||
status: ${{ steps.should-automerge.outputs.status }} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
- name: Check if we should automerge | ||
id: should-automerge | ||
run: | | ||
for commit in $(git rev-list --first-parent origin/${{ github.event.pull_request.base.ref }}..${{ github.event.pull_request.head.sha }}); do | ||
committer=$(git show --format=$'%ce' -s $commit) | ||
echo "Committer: $committer" | ||
if [[ "$committer" != "[email protected]" ]]; then | ||
echo "Commit $commit wasn't committed by web3-bot, but by $committer." | ||
echo "::set-output name=status::false" | ||
exit | ||
fi | ||
done | ||
echo "::set-output name=status::true" | ||
automerge: | ||
needs: automerge-check | ||
runs-on: ubuntu-latest | ||
# The check for the user is redundant here, as this job depends on the automerge-check job, | ||
# but it prevents this job from spinning up, just to be skipped shortly after. | ||
if: github.event.pull_request.user.login == 'web3-bot' && needs.automerge-check.outputs.status == 'true' | ||
steps: | ||
- name: Wait on tests | ||
uses: lewagon/wait-on-check-action@752bfae19aef55dab12a00bc36d48acc46b77e9d # v1.1.1 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
repo-token: ${{ secrets.GITHUB_TOKEN }} | ||
wait-interval: 10 | ||
running-workflow-name: '${{ inputs.job }} / ${{ github.job }}' # the name of the check for this job | ||
- name: Merge PR | ||
uses: pascalgn/automerge-action@741c311a47881be9625932b0a0de1b0937aab1ae # v0.13.1 | ||
env: | ||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | ||
MERGE_LABELS: "" | ||
MERGE_METHOD: "squash" | ||
MERGE_DELETE_BRANCH: true |
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,22 @@ | ||
on: | ||
pull_request: | ||
paths: | ||
- '**/action.yml' | ||
- '**/action.yaml' | ||
- '**/.github/workflows/*.yml' | ||
- '**/.github/workflows/*.yaml' | ||
|
||
name: Check YAML | ||
|
||
jobs: | ||
check-yaml: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: nwisbeta/validate-yaml-schema@c3734e647d2a3beb98b9132330067e900fdbd1a2 # v2.0.0 | ||
with: | ||
yamlSchemasJson: | | ||
{ | ||
"https://json.schemastore.org/github-action.json": ["**/action.yml", "**/action.yaml"], | ||
"https://json.schemastore.org/github-workflow.json": ["**/.github/workflows/*.yml", "**/.github/workflows/*.yaml"] | ||
} |
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
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 |
---|---|---|
@@ -1,50 +1,8 @@ | ||
# Automatically merge pull requests opened by web3-bot, as soon as (and only if) all tests pass. | ||
# This reduces the friction associated with updating with our workflows. | ||
|
||
on: [ pull_request ] | ||
name: Automerge | ||
on: [ pull_request ] | ||
|
||
jobs: | ||
automerge-check: | ||
if: github.event.pull_request.user.login == 'web3-bot' | ||
runs-on: ubuntu-latest | ||
outputs: | ||
status: ${{ steps.should-automerge.outputs.status }} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
- name: Check if we should automerge | ||
id: should-automerge | ||
run: | | ||
for commit in $(git rev-list --first-parent origin/${{ github.event.pull_request.base.ref }}..${{ github.event.pull_request.head.sha }}); do | ||
committer=$(git show --format=$'%ce' -s $commit) | ||
echo "Committer: $committer" | ||
if [[ "$committer" != "[email protected]" ]]; then | ||
echo "Commit $commit wasn't committed by web3-bot, but by $committer." | ||
echo "::set-output name=status::false" | ||
exit | ||
fi | ||
done | ||
echo "::set-output name=status::true" | ||
automerge: | ||
needs: automerge-check | ||
runs-on: ubuntu-latest | ||
# The check for the user is redundant here, as this job depends on the automerge-check job, | ||
# but it prevents this job from spinning up, just to be skipped shortly after. | ||
if: github.event.pull_request.user.login == 'web3-bot' && needs.automerge-check.outputs.status == 'true' | ||
steps: | ||
- name: Wait on tests | ||
uses: lewagon/wait-on-check-action@bafe56a6863672c681c3cf671f5e10b20abf2eaa # v0.2 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
repo-token: ${{ secrets.GITHUB_TOKEN }} | ||
wait-interval: 10 | ||
running-workflow-name: 'automerge' # the name of this job | ||
- name: Merge PR | ||
uses: pascalgn/automerge-action@741c311a47881be9625932b0a0de1b0937aab1ae # v0.13.1 | ||
env: | ||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | ||
MERGE_LABELS: "" | ||
MERGE_METHOD: "squash" | ||
MERGE_DELETE_BRANCH: true | ||
uses: protocol/.github/.github/workflows/automerge.yml@master | ||
with: | ||
job: 'automerge' |
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 |
---|---|---|
|
@@ -13,7 +13,7 @@ jobs: | |
submodules: recursive | ||
- uses: actions/setup-go@v2 | ||
with: | ||
go-version: "1.17.x" | ||
go-version: "1.18.x" | ||
- name: Run repo-specific setup | ||
uses: ./.github/actions/go-check-setup | ||
if: hashFiles('./.github/actions/go-check-setup') != '' | ||
|
@@ -24,7 +24,7 @@ jobs: | |
echo "RUNGOGENERATE=true" >> $GITHUB_ENV | ||
fi | ||
- name: Install staticcheck | ||
run: go install honnef.co/go/tools/cmd/staticcheck@c8caa92bad8c27ae734c6725b8a04932d54a147b # 2021.1.2 (v0.2.2) | ||
run: go install honnef.co/go/tools/cmd/staticcheck@d7e217c1ff411395475b2971c0824e1e7cc1af98 # 2022.1 (v0.3.0) | ||
- name: Check that go.mod is tidy | ||
uses: protocol/[email protected] | ||
with: | ||
|
@@ -68,4 +68,3 @@ jobs: | |
git status --short | ||
exit 1 | ||
fi | ||
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 |
---|---|---|
|
@@ -7,11 +7,11 @@ jobs: | |
fail-fast: false | ||
matrix: | ||
os: [ "ubuntu", "windows", "macos" ] | ||
go: [ "1.16.x", "1.17.x" ] | ||
go: [ "1.17.x", "1.18.x" ] | ||
env: | ||
COVERAGES: "" | ||
runs-on: ${{ matrix.os }}-latest | ||
name: ${{ matrix.os}} (go ${{ matrix.go }}) | ||
runs-on: ${{ format('{0}-latest', matrix.os) }} | ||
name: ${{ matrix.os }} (go ${{ matrix.go }}) | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
|
@@ -47,7 +47,9 @@ jobs: | |
env: | ||
GOARCH: 386 | ||
with: | ||
run: go test -v ./... | ||
run: | | ||
export "PATH=${{ env.PATH_386 }}:$PATH" | ||
go test -v ./... | ||
- name: Run tests with race detector | ||
if: ${{ matrix.os == 'ubuntu' }} # speed things up. Windows and OSX VMs are slow | ||
uses: protocol/[email protected] | ||
|