name: Release hrp cli binaries

on:
  release:
    types: [created]

env:
  DISABLE_GA: "true"

jobs:
  releases-matrix:
    name: Release hrp cli binaries
    runs-on: ubuntu-latest
    strategy:
      matrix:
        # build and publish in parallel: linux/amd64/windows
        goos: [linux, windows, darwin]
        goarch: [amd64, arm64]
        exclude:
          - goarch: arm64
            goos: windows
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Release hrp cli binaries
        uses: wangyoucao577/go-release-action@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          goos: ${{ matrix.goos }}
          goarch: ${{ matrix.goarch }}
          project_path: "hrp/cmd/cli/" # go build hrp/cmd/cli/main.go
          binary_name: "hrp"
          ldflags: "-s -w"
          extra_files: LICENSE README.md docs/CHANGELOG.md
          post_command: |
            echo "ASSET_PATH=$INPUT_PROJECT_PATH/$BUILD_ARTIFACTS_FOLDER/$RELEASE_ASSET_FILE" >> $GITHUB_ENV
      - name: Setup aliyun OSS
        uses: manyuanrong/setup-ossutil@v2.0
        with:
          endpoint: "oss-cn-beijing.aliyuncs.com"
          access-key-id: ${{ secrets.ALIYUN_ACCESSKEY_ID }}
          access-key-secret: ${{ secrets.ALIYUN_ACCESSKEY_SECRET }}
      - name: Upload artifacts to aliyun OSS
        run: |
          ossutil cp -rf hrp/internal/version/VERSION oss://httprunner/
          ossutil cp -rf scripts/install.sh oss://httprunner/
          ossutil cp -rf ${{ env.ASSET_PATH }} oss://httprunner/
      - name: Test install.sh
        run: bash -c "$(curl -ksSL https://httprunner.com/script/install.sh)"
