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