php-fpm-exporter/.github/workflows/test.yml

105 lines
2.4 KiB
YAML
Raw Normal View History

2020-03-11 00:54:39 +00:00
name: Test
2020-03-21 11:54:27 +00:00
on: [push]
2020-03-21 03:55:18 +00:00
2020-03-03 05:33:41 +00:00
jobs:
2020-03-03 10:59:20 +00:00
lint:
2020-03-03 05:46:33 +00:00
name: Lint
2020-03-03 05:33:41 +00:00
runs-on: ubuntu-latest
steps:
2020-03-04 04:59:37 +00:00
- name: Set up Go
2020-03-03 05:33:41 +00:00
uses: actions/setup-go@v1
with:
2020-03-03 10:47:07 +00:00
go-version: 1.14
2020-03-03 05:33:41 +00:00
id: go
2020-03-04 04:59:37 +00:00
- name: Checkout
2020-03-03 05:33:41 +00:00
uses: actions/checkout@v2
2020-03-03 10:47:07 +00:00
- name: Install golangci-lint
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.23.7
- name: Lint
2020-03-03 10:50:25 +00:00
run: $(go env GOPATH)/bin/golangci-lint run
2020-03-03 10:59:20 +00:00
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.14
uses: actions/setup-go@v1
with:
go-version: 1.14
id: go
2020-03-04 04:59:37 +00:00
- name: Checkout
2020-03-03 10:59:20 +00:00
uses: actions/checkout@v2
- name: Test
2020-03-11 12:47:36 +00:00
run: go test -coverprofile cover.out ./...
- name: SonarCloud Scan
uses: sonarsource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
2020-03-04 04:59:37 +00:00
image-scan:
name: Image Scan
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Unshallow
run: git fetch --prune --unshallow
- name: Set up Go
uses: actions/setup-go@v1
with:
go-version: 1.14
id: go
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v1
with:
version: latest
args: release --rm-dist --skip-validate --skip-publish
key: ${{ secrets.YOUR_PRIVATE_KEY }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Scan image
uses: anchore/scan-action@master
with:
image-reference: "hipages/php-fpm_exporter:latest"
dockerfile-path: "./Dockerfile"
fail-build: true
include-app-packages: true
2020-03-04 04:59:37 +00:00
tag:
name: Tag
runs-on: ubuntu-latest
needs: [lint, test, image-scan]
2020-03-04 04:59:37 +00:00
if: github.ref == 'refs/heads/master'
steps:
- name: Setup Node.js for use with actions
uses: actions/setup-node@v1.1.0
- name: Checkout
uses: actions/checkout@v2
- name: Unshallow
run: git fetch --prune --unshallow
2020-03-04 04:59:37 +00:00
- name: Install semantic-release
run: yarn global add --no-progress --non-interactive "semantic-release" "@semantic-release/exec"
- name: Run semantic-release
run: $(yarn global bin)/semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}