diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..2671eb9 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,52 @@ +# .github/workflows/release.yml +name: release + +on: + push: + tags: + - 'v*' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: 1.18 + + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up golanci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: latest + + - name: Run Tests + run: make test + + - name: Build release + run: make release + + - name: Set version + run: echo "NUMERIC_VERSION=$(echo ${GITHUB_REF#refs/*/v})" >> $GITHUB_ENV + + - name: Rename files + run: | + mv build/zfse-linux-amd64 build/zfse-${{ env.NUMERIC_VERSION }}-linux-amd64 + mv build/zfse-windows-amd64.exe build/zfse-${{ env.NUMERIC_VERSION }}-windows-amd64.exe + mv build/zfse-darwin-amd64 build/zfse-${{ env.NUMERIC_VERSION }}-darwin-amd64 + + - name: Upload Release + uses: softprops/action-gh-release@v1 + with: + draft: true + name: v${{ env.NUMERIC_VERSION }} + files: | + build/zfse-${{ env.NUMERIC_VERSION }}-linux-amd64 + build/zfse-${{ env.NUMERIC_VERSION }}-windows-amd64.exe + build/zfse-${{ env.NUMERIC_VERSION }}-darwin-amd64 + env: + GITHUB_TOKEN: ${{ secrets.ACTION_GH_RELEASE_SECRET }} \ No newline at end of file diff --git a/Makefile b/Makefile index 19605cd..f0183f7 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ build: release: GOARCH=amd64 GOOS=linux go build -o ${BUILD_OUTPUT_PREFIX_DIR}${BUILD_OUTPUT_BASE_NAME}-linux-amd64 ./cmd/main.go - GOARCH=amd64 GOOS=windows go build -o ${BUILD_OUTPUT_PREFIX_DIR}${BUILD_OUTPUT_BASE_NAME}-windows-amd64 ./cmd/main.go + GOARCH=amd64 GOOS=windows go build -o ${BUILD_OUTPUT_PREFIX_DIR}${BUILD_OUTPUT_BASE_NAME}-windows-amd64.exe ./cmd/main.go GOARCH=amd64 GOOS=darwin go build -o ${BUILD_OUTPUT_PREFIX_DIR}${BUILD_OUTPUT_BASE_NAME}-darwin-amd64 ./cmd/main.go clean: