feat: sff pixiu registry #67
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
name: CI | |
on: | |
push: | |
branches: "*" | |
pull_request: | |
branches: "*" | |
permissions: | |
contents: read | |
jobs: | |
build: | |
name: ${{ matrix.os }} - Go ${{ matrix.go_version }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
# If you want to matrix build , you can append the following list. | |
matrix: | |
go_version: | |
- 1.17 | |
os: | |
- ubuntu-latest | |
steps: | |
- name: Setup Go ${{ matrix.go_version }} | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ matrix.go_version }} | |
id: go | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Cache dependencies | |
uses: actions/cache@v3 | |
with: | |
# Cache | |
path: ~/go/pkg/mod | |
# Cache key | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
# An ordered list of keys to use for restoring the cache if no cache hit occurred for key | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Merge code into the upstream | |
if: ${{ github.event_name == 'pull_request' }} | |
run: | | |
git fetch origin $GITHUB_BASE_REF | |
git checkout -b $GITHUB_BASE_REF origin/$GITHUB_BASE_REF | |
git remote add devrepo https://github.com/${{github.event.pull_request.head.repo.full_name}}.git | |
git fetch devrepo ${{github.event.pull_request.head.sha}} | |
git config --global user.email "[email protected]" | |
git config --global user.name "robot" | |
git merge ${{github.event.pull_request.head.sha}} | |
- name: Install dependencies | |
run: | | |
if [ -f Gopkg.toml ]; then | |
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh | |
dep ensure | |
else | |
go get -v -t -d ./... | |
fi | |
- name: Format code | |
run: | | |
go fmt ./... && git status && [[ -z `git status -s` ]] | |
- name: Verify | |
run: | | |
make verify | |
- name: Integration Testing | |
run: | | |
if [ "$GITHUB_EVENT_NAME" == "pull_request" ]; then | |
chmod +x integrate_test.sh \ | |
&& [[ -n "${{github.event.pull_request.head.repo.full_name}}" ]] \ | |
&& [[ -n "${{github.event.pull_request.head.sha}}" ]] \ | |
&& [[ -n "${{github.base_ref}}" ]] \ | |
&& ./integrate_test.sh ${{github.event.pull_request.head.repo.full_name}} ${{github.event.pull_request.head.sha}} ${{github.base_ref}} | |
elif [ "$GITHUB_EVENT_NAME" == "push" ]; then | |
chmod +x integrate_test.sh && ./integrate_test.sh $GITHUB_REPOSITORY $GITHUB_SHA $GITHUB_BASE_REF | |
else | |
echo "$GITHUB_EVENT_NAME is an unsupported event type." | |
exit 1 | |
fi | |
- name: Codecov | |
run: bash <(curl -s https://codecov.io/bash) |