You've already forked go-semantic-release
build(ci): use new hooks for docker release
This commit is contained in:
91
.github/workflows/main.yml
vendored
91
.github/workflows/main.yml
vendored
@@ -1,68 +1,51 @@
|
|||||||
name: Go
|
name: Go
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
build:
|
build:
|
||||||
name: Build
|
name: Build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Set up Go 1.13
|
||||||
|
uses: actions/setup-go@v1
|
||||||
|
with:
|
||||||
|
go-version: 1.13
|
||||||
|
id: go
|
||||||
|
|
||||||
- name: Set up Go 1.13
|
- name: Check out code into the Go module directory
|
||||||
uses: actions/setup-go@v1
|
uses: actions/checkout@v1
|
||||||
with:
|
|
||||||
go-version: 1.13
|
|
||||||
id: go
|
|
||||||
|
|
||||||
- name: Check out code into the Go module directory
|
- name: Lint
|
||||||
uses: actions/checkout@v1
|
run: |
|
||||||
|
export PATH=$PATH:$(go env GOPATH)/bin
|
||||||
|
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.18.0
|
||||||
|
golangci-lint run ./...
|
||||||
|
|
||||||
- name: Lint
|
- name: Run tests
|
||||||
run: |
|
run: go test ./...
|
||||||
export PATH=$PATH:$(go env GOPATH)/bin
|
|
||||||
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.18.0
|
|
||||||
golangci-lint run ./...
|
|
||||||
|
|
||||||
- name: Run tests
|
- name: Build binary
|
||||||
run: go test ./...
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
go build -o build/go-semantic-release-temp ./cmd/go-semantic-release/
|
||||||
|
./build/go-semantic-release-temp next --no-cache --loglevel trace
|
||||||
|
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o build/go-semantic-release -ldflags "-w -s --X main.version=`./build/go-semantic-release-temp next`" ./cmd/go-semantic-release/
|
||||||
|
GOOS=windows GOARCH=386 CGO_ENABLED=0 go build -o build/go-semantic-release.exe -ldflags "-w -s -X main.version=`./build/go-semantic-release-temp next`" ./cmd/go-semantic-release/
|
||||||
|
|
||||||
- name: Build binary
|
- name: Build Docker image
|
||||||
env:
|
if: github.ref != 'refs/heads/master'
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
run: |
|
||||||
run: |
|
docker build -t nightapes/go-semantic-release:development .
|
||||||
go build -o build/go-semantic-release-temp ./cmd/go-semantic-release/
|
docker login -u nightapes -p ${{ secrets.DOCKER_PASSWORD }}
|
||||||
./build/go-semantic-release-temp next --no-cache --loglevel trace
|
docker push nightapes/go-semantic-release:development
|
||||||
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o build/go-semantic-release -ldflags "-w -s --X main.version=`./build/go-semantic-release-temp next`" ./cmd/go-semantic-release/
|
|
||||||
GOOS=windows GOARCH=386 CGO_ENABLED=0 go build -o build/go-semantic-release.exe -ldflags "-w -s -X main.version=`./build/go-semantic-release-temp next`" ./cmd/go-semantic-release/
|
|
||||||
|
|
||||||
- name: Build Docker image for master
|
- name: Push Docker image
|
||||||
env:
|
if: github.ref != 'refs/heads/master'
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
run: |
|
||||||
if: github.ref == 'refs/heads/master'
|
|
||||||
run: |
|
|
||||||
docker build -t nightapes/go-semantic-release:latest .
|
|
||||||
docker build -t nightapes/go-semantic-release:"$(./build/go-semantic-release next)" .
|
|
||||||
|
|
||||||
- name: Push Docker image for master
|
- name: Release
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
if: github.ref == 'refs/heads/master'
|
run: |
|
||||||
run: |
|
docker login -u nightapes -p ${{ secrets.DOCKER_PASSWORD }}
|
||||||
docker login -u nightapes -p ${{ secrets.DOCKER_PASSWORD }}
|
./build/go-semantic-release-temp release --loglevel trace
|
||||||
docker push nightapes/go-semantic-release:latest
|
|
||||||
docker push nightapes/go-semantic-release:"$(./build/go-semantic-release next)"
|
|
||||||
|
|
||||||
- name: Build Docker image
|
|
||||||
if: github.ref != 'refs/heads/master'
|
|
||||||
run: |
|
|
||||||
docker build -t nightapes/go-semantic-release:development .
|
|
||||||
|
|
||||||
- name: Push Docker image
|
|
||||||
if: github.ref != 'refs/heads/master'
|
|
||||||
run: |
|
|
||||||
docker login -u nightapes -p ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
docker push nightapes/go-semantic-release:development
|
|
||||||
|
|
||||||
- name: Release
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: ./build/go-semantic-release-temp release --loglevel trace
|
|
||||||
|
|||||||
@@ -14,3 +14,10 @@ changelog:
|
|||||||
docker:
|
docker:
|
||||||
latest: true
|
latest: true
|
||||||
repository: "nightapes/go-semantic-release"
|
repository: "nightapes/go-semantic-release"
|
||||||
|
hooks:
|
||||||
|
preRelease:
|
||||||
|
- docker build -t nightapes/go-semantic-release:latest .
|
||||||
|
- docker build -t nightapes/go-semantic-release:$RELEASE_VERSION .
|
||||||
|
postRelease:
|
||||||
|
- docker push nightapes/go-semantic-release:latest
|
||||||
|
- docker push nightapes/go-semantic-release:$RELEASE_VERSION
|
||||||
|
|||||||
Reference in New Issue
Block a user