Skip to content

enable CI/CD for Golang mono repo (#65) #16

enable CI/CD for Golang mono repo (#65)

enable CI/CD for Golang mono repo (#65) #16

Workflow file for this run

##
## Build the main branch
##
name: build
on:
push:
branches:
- main
- /refs/heads/main
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
module: [".", "x/awsapi", "x/xhtml"]
steps:
- uses: actions/setup-go@v5
with:
go-version: "1.21"
- uses: actions/checkout@v4
- name: go build
working-directory: ${{ matrix.module }}
run: |
go build ./...
- name: go test
working-directory: ${{ matrix.module }}
run: |
go test -coverprofile=profile.cov $(go list ./... | grep -v /examples/)
- uses: shogo82148/actions-goveralls@v1
continue-on-error: true
with:
working-directory: ${{ matrix.module }}
path-to-profile: profile.cov
flag-name: ${{ matrix.module }}
parallel: true
- name: release
working-directory: ${{ matrix.module }}
run: |
git config user.name "GitHub Actions"
git config user.email "github-actions@users.noreply.github.com"
for mod in `grep -roh "const Version = \".*" * | grep -Eoh "([[:alnum:]]*/*){1,}v[0-9]*\.[0-9]*\.[0-9]*"`
do
git tag $mod 2> /dev/null && git push origin -u $mod 2> /dev/null && echo "[+] $mod" || echo "[ ] $mod"
done
finish:
needs: build
runs-on: ubuntu-latest
steps:
- uses: shogo82148/actions-goveralls@v1
with:
parallel-finished: true