From 113ddf2b1fc83705c1685b052b37c646303af082 Mon Sep 17 00:00:00 2001 From: Nightapes Date: Sun, 5 Jan 2020 19:02:20 +0100 Subject: [PATCH] build(ci): use new hooks for docker release --- .github/workflows/main.yml | 91 ++++++++++++++++---------------------- .release.yml | 7 +++ 2 files changed, 44 insertions(+), 54 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4b4e3f1..d7d960b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,68 +1,51 @@ name: Go on: [push, pull_request] jobs: - build: name: Build runs-on: ubuntu-latest 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 + uses: actions/setup-go@v1 + with: + go-version: 1.13 + id: go - - name: Check out code into the Go module directory - uses: actions/checkout@v1 + - name: Check out code into the Go module directory + uses: actions/checkout@v1 - - name: Lint - 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 + 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: Run tests - run: go test ./... + - name: Run tests + run: go test ./... - - name: Build binary - 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 + 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 Docker image for master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - 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: Build Docker image + if: github.ref != 'refs/heads/master' + run: | + docker build -t nightapes/go-semantic-release:development . + docker login -u nightapes -p ${{ secrets.DOCKER_PASSWORD }} + docker push nightapes/go-semantic-release:development - - name: Push Docker image for master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: github.ref == 'refs/heads/master' - run: | - docker login -u nightapes -p ${{ secrets.DOCKER_PASSWORD }} - docker push nightapes/go-semantic-release:latest - docker push nightapes/go-semantic-release:"$(./build/go-semantic-release next)" + - name: Push Docker image + if: github.ref != 'refs/heads/master' + run: | - - 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 \ No newline at end of file + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + docker login -u nightapes -p ${{ secrets.DOCKER_PASSWORD }} + ./build/go-semantic-release-temp release --loglevel trace diff --git a/.release.yml b/.release.yml index d9a0aef..64892da 100644 --- a/.release.yml +++ b/.release.yml @@ -14,3 +14,10 @@ changelog: docker: latest: true 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