diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..75b8066 --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,39 @@ +name: Release +on: + release: + types: [published] + +jobs: + build-and-test: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.21' + + - name: Install dependencies + run: go mod download + + - name: Build + run: go build -v ./... + + - name: Test + run: go test -v ./... + + - name: Build release binary + run: | + mkdir -p release + GOOS=linux GOARCH=amd64 go build -o release/learning-linux-amd64 . + GOOS=windows GOARCH=amd64 go build -o release/learning-windows-amd64.exe . + GOOS=darwin GOARCH=amd64 go build -o release/learning-darwin-amd64 . + GOOS=darwin GOARCH=arm64 go build -o release/learning-darwin-arm64 . + + - name: Upload release assets + uses: actions/upload-artifact@v4 + with: + name: release-binaries + path: release/