Build all micro/examples for release-X.X.X
branches (#1683)
* Build all the examples on push to any release branch
This commit is contained in:
parent
1ccd4cd940
commit
bd3ef67328
34
.github/workflows/micro-examples.yml
vendored
Normal file
34
.github/workflows/micro-examples.yml
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
name: Build all github.com/micro/examples
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'release-**'
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: Build repos
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Set up Go 1.13
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.13
|
||||
id: go
|
||||
|
||||
- name: Check out this code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: 'go-micro'
|
||||
|
||||
- name: Check out code examples
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: 'micro/examples'
|
||||
path: 'examples'
|
||||
|
||||
- name: Build all
|
||||
run: $GITHUB_WORKSPACE/go-micro/.github/workflows/scripts/build-all-examples.sh $GITHUB_SHA
|
||||
working-directory: examples
|
||||
|
43
.github/workflows/scripts/build-all-examples.sh
vendored
Executable file
43
.github/workflows/scripts/build-all-examples.sh
vendored
Executable file
@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
# set -x
|
||||
|
||||
function build_binary {
|
||||
echo building $1
|
||||
pushd $1
|
||||
go build
|
||||
local ret=$?
|
||||
if [ $ret -gt 0 ]; then
|
||||
failed=1
|
||||
failed_arr+=($1)
|
||||
fi
|
||||
popd
|
||||
}
|
||||
|
||||
function is_main {
|
||||
grep "package main" -l -dskip $1/*.go > /dev/null 2>&1
|
||||
}
|
||||
|
||||
|
||||
function check_dir {
|
||||
is_main $1
|
||||
local ret=$?
|
||||
if [ $ret == 0 ]; then
|
||||
build_binary $1 $2
|
||||
fi
|
||||
for filename in $1/*; do
|
||||
if [ -d $filename ]; then
|
||||
check_dir $filename $2
|
||||
fi
|
||||
done
|
||||
}
|
||||
failed_arr=()
|
||||
failed=0
|
||||
this_hash=$1
|
||||
go mod init github.com/micro/examples
|
||||
go mod edit -require=github.com/micro/go-micro/v2@$1
|
||||
check_dir . $1
|
||||
if [ $failed -gt 0 ]; then
|
||||
echo Some builds failed
|
||||
printf '%s\n' "${failed_arr[@]}"
|
||||
fi
|
||||
exit $failed
|
Loading…
Reference in New Issue
Block a user