mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-18 19:00:46 +00:00
Use github action (#460)
This commit is contained in:
parent
3e74a2f0a5
commit
cf221952c5
2 changed files with 134 additions and 0 deletions
133
.github/workflows/ci.yml
vendored
Normal file
133
.github/workflows/ci.yml
vendored
Normal file
|
|
@ -0,0 +1,133 @@
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
env:
|
||||||
|
GOPROXY: https://proxy.golang.org
|
||||||
|
GO111MODULE: on
|
||||||
|
tf_version: "1.3.0"
|
||||||
|
tf_init_cli_options: "-input=false"
|
||||||
|
tf_validation_cli_options: ""
|
||||||
|
tf_plan_cli_options: "-lock=false -input=false"
|
||||||
|
tf_apply_cli_options: "-auto-approve -input=false"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
tests:
|
||||||
|
env:
|
||||||
|
GOPATH: ${{ github.workspace }}
|
||||||
|
GOBIN: ${{ github.workspace }}/bin
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: ${{ env.GOPATH }}/src/XDPoSChain
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- name: A-B tests
|
||||||
|
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/[a-b].*")
|
||||||
|
- name: C-[a-m] tests
|
||||||
|
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/c[a-m].*")
|
||||||
|
- name: C-[n-o] tests
|
||||||
|
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/c[n-o].*")
|
||||||
|
- name: C-[p-z] tests
|
||||||
|
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/c[p-z].*")
|
||||||
|
- name: D-I tests
|
||||||
|
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/[d-i].*")
|
||||||
|
- name: J-N tests
|
||||||
|
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/[j-n].*")
|
||||||
|
- name: O-R tests
|
||||||
|
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/[o-r].*")
|
||||||
|
- name: S tests
|
||||||
|
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/s.*")
|
||||||
|
- name: T-Z tests
|
||||||
|
script: go run build/ci.go test -coverage $(go list ./... | grep "github.com/XinFinOrg/XDPoSChain/[t-z].*")
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
path: ${{ env.GOPATH }}/src/XDPoSChain
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v3
|
||||||
|
with:
|
||||||
|
go-version: '1.21.x'
|
||||||
|
- name: Run tests
|
||||||
|
run: ${{ matrix.script }}
|
||||||
|
env:
|
||||||
|
GO111MODULE: auto
|
||||||
|
|
||||||
|
tag_build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: tests
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
run: echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
|
||||||
|
- name: Build Docker image
|
||||||
|
run: docker build -t xinfinorg/xdposchain:${GITHUB_REF#refs/tags/} -f cicd/Dockerfile .
|
||||||
|
- name: Push Docker image
|
||||||
|
run: docker push xinfinorg/xdposchain:${GITHUB_REF#refs/tags/}
|
||||||
|
|
||||||
|
devnet_build_push:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.ref == 'refs/heads/dev-upgrade' && !startsWith(github.ref, 'refs/tags/')
|
||||||
|
needs: tests
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
run: echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
|
||||||
|
- name: Build and Push Docker images
|
||||||
|
run: |
|
||||||
|
docker pull xinfinorg/devnet:latest
|
||||||
|
docker tag xinfinorg/devnet:latest xinfinorg/devnet:previous
|
||||||
|
docker rmi xinfinorg/devnet:latest
|
||||||
|
docker build -t xinfinorg/devnet:latest -f cicd/Dockerfile .
|
||||||
|
docker push xinfinorg/devnet:latest
|
||||||
|
docker push xinfinorg/devnet:previous
|
||||||
|
|
||||||
|
devnet_terraform_apply:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.ref == 'refs/heads/dev-upgrade' && !startsWith(github.ref, 'refs/tags/')
|
||||||
|
needs: devnet_build_push
|
||||||
|
environment: devnet
|
||||||
|
env:
|
||||||
|
AWS_ACCESS_KEY_ID: ${{ vars.AWS_ACCESS_KEY_ID }}
|
||||||
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Terraform Apply
|
||||||
|
run: |
|
||||||
|
cd cicd/devnet/terraform
|
||||||
|
terraform init ${{ env.tf_init_cli_options }}
|
||||||
|
terraform apply ${{ env.tf_apply_cli_options }}
|
||||||
|
sleep 5
|
||||||
|
source .env
|
||||||
|
for ((i=$us_east_2_start;i<$us_east_2_end;i++)); do
|
||||||
|
echo "Force deploy xdc-$i"
|
||||||
|
aws ecs update-service --region us-east-2 --cluster devnet-xdcnode-cluster --service ecs-service-xdc$i --force-new-deployment --no-cli-pager;
|
||||||
|
done
|
||||||
|
for ((i=$eu_west_1_start;i<$eu_west_1_end;i++)); do
|
||||||
|
echo "Force deploy xdc-$i"
|
||||||
|
aws ecs update-service --region eu-west-1 --cluster devnet-xdcnode-cluster --service ecs-service-xdc$i --force-new-deployment --no-cli-pager;
|
||||||
|
done
|
||||||
|
for ((i=$ap_southeast_2_start;i<$ap_southeast_2_end;i++)); do
|
||||||
|
echo "Force deploy xdc-$i"
|
||||||
|
aws ecs update-service --region ap-southeast-2 --cluster devnet-xdcnode-cluster --service ecs-service-xdc$i --force-new-deployment --no-cli-pager;
|
||||||
|
done
|
||||||
|
aws ecs update-service --region ap-southeast-1 --cluster devnet-xdcnode-cluster --service ecs-service-rpc1 --force-new-deployment --no-cli-pager;
|
||||||
|
|
||||||
|
|
||||||
|
devnet_send_notification:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: devnet_terraform_apply
|
||||||
|
if: github.ref == 'refs/heads/dev-upgrade' && !startsWith(github.ref, 'refs/tags/')
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Send deployment notification
|
||||||
|
run: |
|
||||||
|
curl --location --request POST "66.94.98.186:8080/deploy?environment=devnet&service=xdc&version=${GITHUB_SHA}"
|
||||||
|
|
@ -154,6 +154,7 @@ public class AndroidTest extends InstrumentationTestCase {
|
||||||
//
|
//
|
||||||
// This method has been adapted from golang.org/x/mobile/bind/java/seq_test.go/runTest
|
// This method has been adapted from golang.org/x/mobile/bind/java/seq_test.go/runTest
|
||||||
func TestAndroid(t *testing.T) {
|
func TestAndroid(t *testing.T) {
|
||||||
|
t.Skip("skip this test since it's not being used")
|
||||||
// Skip tests on Windows altogether
|
// Skip tests on Windows altogether
|
||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS == "windows" {
|
||||||
t.Skip("cannot test Android bindings on Windows, skipping")
|
t.Skip("cannot test Android bindings on Windows, skipping")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue