Set up CI with Azure Pipelines (#304)

This commit is contained in:
Thomas Pelletier
2019-09-24 16:11:17 -07:00
committed by GitHub
parent 095a905e04
commit 091e2dc498
5 changed files with 168 additions and 107 deletions
-24
View File
@@ -1,24 +0,0 @@
name: Fuzzit
on:
push:
branches:
- master
jobs:
fuzzing:
name: Run fuzzing
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v1
with:
go-version: '1.13'
- uses: actions/checkout@v1
- name: Add GOPATH/bin to PATH
run: echo '##[add-path]/home/runner/go/bin'
- name: Copy source to GOPATH/src
run: mkdir -p ${TARGET} && cp -R . ${TARGET}/
env:
TARGET: /home/runner/go/src/github.com/pelletier/go-toml
- run: ./fuzzit.sh
env:
TYPE: fuzzing
FUZZIT_API_KEY: ${{ secrets.FUZZIT_API_KEY }}
-80
View File
@@ -1,80 +0,0 @@
name: Go
on: [push]
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
go: ['1.12', '1.13']
runs-on: ${{ matrix.os }}
name: Test Go ${{ matrix.go }} on ${{ matrix.os }}
steps:
- uses: pelletier/setup-go@v1.0.2-patch
with:
go-version: ${{ matrix.go }}
- uses: actions/checkout@v1
- run: go test ./...
coverage:
name: Coverage
runs-on: ubuntu-latest
steps:
- uses: pelletier/setup-go@v1.0.2-patch
with:
go-version: '1.12'
- uses: actions/checkout@v1
- run: go test -race -coverprofile=coverage.txt -covermode=atomic
- run: bash <(curl -s https://codecov.io/bash)
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
fmt:
name: Go fmt
runs-on: ubuntu-latest
steps:
- uses: pelletier/setup-go@v1.0.2-patch
- uses: actions/checkout@v1
- run: go fmt ./...
benchmark:
name: Run benchmark
runs-on: ubuntu-latest
steps:
- uses: pelletier/setup-go@v1.0.2-patch
with:
go-version: '1.13'
- uses: actions/checkout@v1
- run: ./benchmark.sh master https://github.com/$GITHUB_REPOSITORY.git
fuzzing:
name: Run fuzzing
runs-on: ubuntu-latest
steps:
- uses: pelletier/setup-go@v1.0.2-patch
with:
go-version: '1.13'
- uses: actions/checkout@v1
- run: mkdir -p /home/runner/go/src/github.com/pelletier/go-toml
| cp -R . /home/runner/go/src/github.com/pelletier/go-toml
- run: ./fuzzit.sh
env:
TYPE: local-regression
docker:
name: Build Docker image
runs-on: ubuntu-latest
needs: [test, fuzzing, fmt]
steps:
- uses: actions/setup-go@v1
with:
go-version: '1.13'
- uses: actions/checkout@v1
- run: docker build -t toml .
- uses: actions/docker/tag@master
with:
args: toml pelletier/go-toml --no-latest
- run: docker tag pelletier/go-toml pelletier/go-toml:latest
if: github.ref == 'heads/refs/master'
- name: Docker login
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- run: docker push pelletier/go-toml