mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-23 08:47:42 -05:00
792b4dba2c
* update github.com/blevesearch/bleve v2.0.2 -> v2.0.3 * github.com/denisenkom/go-mssqldb v0.9.0 -> v0.10.0 * github.com/editorconfig/editorconfig-core-go v2.4.1 -> v2.4.2 * github.com/go-chi/cors v1.1.1 -> v1.2.0 * github.com/go-git/go-billy v5.0.0 -> v5.1.0 * github.com/go-git/go-git v5.2.0 -> v5.3.0 * github.com/go-ldap/ldap v3.2.4 -> v3.3.0 * github.com/go-redis/redis v8.6.0 -> v8.8.2 * github.com/go-sql-driver/mysql v1.5.0 -> v1.6.0 * github.com/go-swagger/go-swagger v0.26.1 -> v0.27.0 * github.com/lib/pq v1.9.0 -> v1.10.1 * github.com/mattn/go-sqlite3 v1.14.6 -> v1.14.7 * github.com/go-testfixtures/testfixtures v3.5.0 -> v3.6.0 * github.com/issue9/identicon v1.0.1 -> v1.2.0 * github.com/klauspost/compress v1.11.8 -> v1.12.1 * github.com/mgechev/revive v1.0.3 -> v1.0.6 * github.com/microcosm-cc/bluemonday v1.0.7 -> v1.0.8 * github.com/niklasfasching/go-org v1.4.0 -> v1.5.0 * github.com/olivere/elastic v7.0.22 -> v7.0.24 * github.com/pelletier/go-toml v1.8.1 -> v1.9.0 * github.com/prometheus/client_golang v1.9.0 -> v1.10.0 * github.com/xanzy/go-gitlab v0.44.0 -> v0.48.0 * github.com/yuin/goldmark v1.3.3 -> v1.3.5 * github.com/6543/go-version v1.2.4 -> v1.3.1 * do github.com/lib/pq v1.10.0 -> v1.10.1 again ...
188 lines
4.7 KiB
YAML
Vendored
188 lines
4.7 KiB
YAML
Vendored
trigger:
|
|
- master
|
|
|
|
stages:
|
|
- stage: run_checks
|
|
displayName: "Check"
|
|
dependsOn: []
|
|
jobs:
|
|
- job: fmt
|
|
displayName: "fmt"
|
|
pool:
|
|
vmImage: ubuntu-latest
|
|
steps:
|
|
- task: GoTool@0
|
|
displayName: "Install Go 1.16"
|
|
inputs:
|
|
version: "1.16"
|
|
- task: Go@0
|
|
displayName: "go fmt ./..."
|
|
inputs:
|
|
command: 'custom'
|
|
customCommand: 'fmt'
|
|
arguments: './...'
|
|
- job: coverage
|
|
displayName: "coverage"
|
|
pool:
|
|
vmImage: ubuntu-latest
|
|
steps:
|
|
- task: GoTool@0
|
|
displayName: "Install Go 1.16"
|
|
inputs:
|
|
version: "1.16"
|
|
- task: Go@0
|
|
displayName: "Generate coverage"
|
|
inputs:
|
|
command: 'test'
|
|
arguments: "-race -coverprofile=coverage.txt -covermode=atomic"
|
|
- task: Bash@3
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: 'bash <(curl -s https://codecov.io/bash) -t ${CODECOV_TOKEN}'
|
|
env:
|
|
CODECOV_TOKEN: $(CODECOV_TOKEN)
|
|
- job: benchmark
|
|
displayName: "benchmark"
|
|
pool:
|
|
vmImage: ubuntu-latest
|
|
steps:
|
|
- task: GoTool@0
|
|
displayName: "Install Go 1.16"
|
|
inputs:
|
|
version: "1.16"
|
|
- script: echo "##vso[task.setvariable variable=PATH]${PATH}:/home/vsts/go/bin/"
|
|
- task: Bash@3
|
|
inputs:
|
|
filePath: './benchmark.sh'
|
|
arguments: "master $(Build.Repository.Uri)"
|
|
|
|
- job: go_unit_tests
|
|
displayName: "unit tests"
|
|
strategy:
|
|
matrix:
|
|
linux 1.16:
|
|
goVersion: '1.16'
|
|
imageName: 'ubuntu-latest'
|
|
mac 1.16:
|
|
goVersion: '1.16'
|
|
imageName: 'macOS-latest'
|
|
windows 1.16:
|
|
goVersion: '1.16'
|
|
imageName: 'windows-latest'
|
|
linux 1.15:
|
|
goVersion: '1.15'
|
|
imageName: 'ubuntu-latest'
|
|
mac 1.15:
|
|
goVersion: '1.15'
|
|
imageName: 'macOS-latest'
|
|
windows 1.15:
|
|
goVersion: '1.15'
|
|
imageName: 'windows-latest'
|
|
pool:
|
|
vmImage: $(imageName)
|
|
steps:
|
|
- task: GoTool@0
|
|
displayName: "Install Go $(goVersion)"
|
|
inputs:
|
|
version: $(goVersion)
|
|
- task: Go@0
|
|
displayName: "go test ./..."
|
|
inputs:
|
|
command: 'test'
|
|
arguments: './...'
|
|
- stage: build_binaries
|
|
displayName: "Build binaries"
|
|
dependsOn: run_checks
|
|
jobs:
|
|
- job: build_binary
|
|
displayName: "Build binary"
|
|
strategy:
|
|
matrix:
|
|
linux_amd64:
|
|
GOOS: linux
|
|
GOARCH: amd64
|
|
darwin_amd64:
|
|
GOOS: darwin
|
|
GOARCH: amd64
|
|
windows_amd64:
|
|
GOOS: windows
|
|
GOARCH: amd64
|
|
pool:
|
|
vmImage: ubuntu-latest
|
|
steps:
|
|
- task: GoTool@0
|
|
displayName: "Install Go"
|
|
inputs:
|
|
version: 1.16
|
|
- task: Bash@3
|
|
inputs:
|
|
targetType: inline
|
|
script: "make dist"
|
|
env:
|
|
go.goos: $(GOOS)
|
|
go.goarch: $(GOARCH)
|
|
- task: CopyFiles@2
|
|
inputs:
|
|
sourceFolder: '$(Build.SourcesDirectory)'
|
|
contents: '*.tar.xz'
|
|
TargetFolder: '$(Build.ArtifactStagingDirectory)'
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
artifactName: binaries
|
|
- stage: build_binaries_manifest
|
|
displayName: "Build binaries manifest"
|
|
dependsOn: build_binaries
|
|
jobs:
|
|
- job: build_manifest
|
|
displayName: "Build binaries manifest"
|
|
steps:
|
|
- task: DownloadBuildArtifacts@0
|
|
inputs:
|
|
buildType: 'current'
|
|
downloadType: 'single'
|
|
artifactName: 'binaries'
|
|
downloadPath: '$(Build.SourcesDirectory)'
|
|
- task: Bash@3
|
|
inputs:
|
|
targetType: inline
|
|
script: "cd binaries && sha256sum --binary *.tar.xz | tee $(Build.ArtifactStagingDirectory)/sha256sums.txt"
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
artifactName: manifest
|
|
|
|
- stage: build_docker_image
|
|
displayName: "Build Docker image"
|
|
dependsOn: run_checks
|
|
jobs:
|
|
- job: build
|
|
displayName: "Build"
|
|
pool:
|
|
vmImage: ubuntu-latest
|
|
steps:
|
|
- task: Docker@2
|
|
inputs:
|
|
command: 'build'
|
|
Dockerfile: 'Dockerfile'
|
|
buildContext: '.'
|
|
addPipelineData: false
|
|
|
|
- stage: publish_docker_image
|
|
displayName: "Publish Docker image"
|
|
dependsOn: build_docker_image
|
|
condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'master'))
|
|
jobs:
|
|
- job: publish
|
|
displayName: "Publish"
|
|
pool:
|
|
vmImage: ubuntu-latest
|
|
steps:
|
|
- task: Docker@2
|
|
inputs:
|
|
containerRegistry: 'DockerHub'
|
|
repository: 'pelletier/go-toml'
|
|
command: 'buildAndPush'
|
|
Dockerfile: 'Dockerfile'
|
|
buildContext: '.'
|
|
tags: 'latest'
|