
This commit is to perform below steps: - If PR is having dependencies label, update files in dist as well - If PR doesn't have dependencies label, fail the build if there is dirty changes. Closes #55 Signed-off-by: Tam Mach <sayboras@yahoo.com>
81 lines
2.1 KiB
YAML
81 lines
2.1 KiB
YAML
name: "build-and-test"
|
|
on: # rebuild any PRs and main branch changes
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
- "releases/*"
|
|
|
|
jobs:
|
|
build: # make sure build/ci work properly
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- run: |
|
|
npm install
|
|
npm run all
|
|
|
|
# Update dist files if there is label dependencies
|
|
- name: Update dist files
|
|
if: github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'dependencies')
|
|
run: |
|
|
if [[ -z $(git status -s) ]]
|
|
then
|
|
echo "No change is required"
|
|
else
|
|
echo "Updating dist directory"
|
|
git config --local user.name "dependabot[bot]"
|
|
git config --local user.email "49699333+dependabot[bot]@users.noreply.github.com"
|
|
git add --update
|
|
git commit --message="Update dist files"
|
|
git push
|
|
fi
|
|
|
|
# Fail the build if there is dirty change
|
|
- run: git diff --exit-code
|
|
|
|
test: # make sure the action works on a clean machine without building
|
|
needs: [ build ]
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- macos-latest
|
|
- windows-latest
|
|
version:
|
|
- ""
|
|
- "latest"
|
|
- "v1.37"
|
|
- "v1.37.1"
|
|
runs-on: ${{ matrix.os }}
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-go@v2
|
|
- uses: ./
|
|
with:
|
|
version: ${{ matrix.version }}
|
|
args: --timeout=3m --issues-exit-code=0 ./sample/...
|
|
only-new-issues: true
|
|
|
|
test-go-mod-version:
|
|
needs: [ build ]
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- macos-latest
|
|
- windows-latest
|
|
runs-on: ${{ matrix.os }}
|
|
permissions:
|
|
contents: read
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-go@v2
|
|
- uses: ./
|
|
with:
|
|
working-directory: sample-go-mod
|
|
args: --timeout=3m --issues-exit-code=0 ./...
|