feat: add install #8
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: "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: | |
- if: ${{ !(github.event_name == 'pull_request' && (github.event.pull_request.user.id == 49699333 || contains(github.event.pull_request.labels.*.name, 'dependencies'))) }} | |
uses: actions/checkout@v4 | |
- if: github.event_name == 'pull_request' && (github.event.pull_request.user.id == 49699333 || contains(github.event.pull_request.labels.*.name, 'dependencies')) | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
ref: ${{ github.event.pull_request.head.ref }} | |
- run: | | |
npm install | |
npm run all | |
# Update dist files if there is label dependencies or pull request' author is dependabot[bot] (id = 49699333) | |
- name: Update dist files | |
if: github.event_name == 'pull_request' && (github.event.pull_request.user.id == 49699333 || 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: | |
- "40a4e3060f953123541bbfeac5b8aa9e18f117d0" | |
runs-on: ${{ matrix.os }} | |
permissions: | |
contents: read | |
pull-requests: read | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: oldstable | |
- uses: ./ | |
with: | |
version: ${{ matrix.version }} | |
args: --timeout=5m --issues-exit-code=0 ./sample/... | |
only-new-issues: true | |
test-go-install: # make sure the action works on a clean machine without building (go-install mode) | |
needs: [ build ] | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
version: | |
- "40a4e3060f953123541bbfeac5b8aa9e18f117d0" | |
runs-on: ${{ matrix.os }} | |
permissions: | |
contents: read | |
pull-requests: read | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: oldstable | |
- uses: ./ | |
with: | |
version: ${{ matrix.version }} | |
args: --timeout=5m --issues-exit-code=0 ./sample/... | |
only-new-issues: true | |
install-mode: goinstall | |
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@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: oldstable | |
- uses: ./ | |
with: | |
working-directory: sample-go-mod | |
args: --timeout=5m --issues-exit-code=0 ./... |