From a76aec25dd72bbcbfdeeb23313c5d0f659f27ec3 Mon Sep 17 00:00:00 2001 From: Nightapes Date: Thu, 27 Feb 2020 21:40:49 +0100 Subject: [PATCH] ci(github): add golang 1.14 and macos --- .github/workflows/main.yml | 43 ++++++++++++++++++++++++-------------- .release.yml | 12 +++++++---- Dockerfile | 4 ++-- 3 files changed, 37 insertions(+), 22 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9761882..e08624a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,13 +2,16 @@ name: Go on: [push, pull_request] jobs: build: - name: Build + strategy: + matrix: + go: ["1.13", "1.14"] + name: Build with go version ${{ matrix.go }} runs-on: ubuntu-latest steps: - - name: Set up Go 1.13 + - name: Set up Go 1.14 uses: actions/setup-go@v1 with: - go-version: 1.13 + go-version: ${{ matrix.go }} id: go - name: Check out code into the Go module directory @@ -29,23 +32,31 @@ jobs: 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/ - + GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o build/go-semantic-release.linux_x86_64 -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.windows_i386.exe -ldflags "-w -s -X main.version=`./build/go-semantic-release-temp next`" ./cmd/go-semantic-release/ + GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o build/go-semantic-release.windows_x86_64.exe -ldflags "-w -s -X main.version=`./build/go-semantic-release-temp next`" ./cmd/go-semantic-release/ + GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -o build/go-semantic-release.darwin_x86_64 -ldflags "-w -s -X main.version=`./build/go-semantic-release-temp next`" ./cmd/go-semantic-release/ - name: Build Docker image - if: github.ref != 'refs/heads/master' + if: github.ref != 'refs/heads/master' && matrix.go == '1.14' run: | docker login -u nightapes -p ${{ secrets.DOCKER_PASSWORD }} docker login -u nightapes -p ${{ secrets.GITHUB_TOKEN }} docker.pkg.github.com - docker build -t nightapes/go-semantic-release:development . - docker push nightapes/go-semantic-release:development - docker tag nightapes/go-semantic-release:development docker.pkg.github.com/nightapes/go-semantic-release/go-semantic-release:development - docker push docker.pkg.github.com/nightapes/go-semantic-release/go-semantic-release:development - - - name: Push Docker image - if: github.ref != 'refs/heads/master' - run: | - + docker build -t nightapes/go-semantic-release:development-${{matrix.go}} . + docker push nightapes/go-semantic-release:development-${{matrix.go}} + docker tag nightapes/go-semantic-release:development docker.pkg.github.com/nightapes/go-semantic-release/go-semantic-release:development-${{matrix.go}} + docker push docker.pkg.github.com/nightapes/go-semantic-release/go-semantic-release:development-${{matrix.go}} + - uses: actions/upload-artifact@v1 + with: + name: build + path: build + release: + name: Release + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v1 + with: + name: build + path: build - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.release.yml b/.release.yml index 00c33ff..44e6e9c 100644 --- a/.release.yml +++ b/.release.yml @@ -7,10 +7,14 @@ branch: master: release beta: beta assets: - - name: ./build/go-semantic-release - compress: false - - name: ./build/go-semantic-release.exe - compress: false + - name: ./build/go-semantic-release.linux_x86_64 + compress: true + - name: ./build/go-semantic-release.windows_i386.exe + compress: true + - name: ./build/go-semantic-release.windows_x86_64.exe + compress: true + - name: ./build/go-semantic-release.darwin_x86_64 + compress: true changelog: docker: latest: true diff --git a/Dockerfile b/Dockerfile index 58a16af..6af2954 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,8 @@ FROM alpine:3.10.2 WORKDIR /code -COPY ./build/go-semantic-release . +COPY ./build/go-semantic-release.linux_x86_64 . USER 1000 -ENTRYPOINT [ "./go-semantic-release" ] \ No newline at end of file +ENTRYPOINT [ "./go-semantic-release.linux_x86_64" ] \ No newline at end of file