name: Build MacOS Dev

on:
  workflow_dispatch:
    inputs:
      tags:
        description: "Version tags"

env:
  VERSION: 0.9.0

jobs:
  build:
    strategy:
      matrix:
        go: [1.19.2]
    runs-on: "macos-12"
    steps:
      - name: Install coscmd
        run: |
          sudo /Library/Frameworks/Python.framework/Versions/3.11/bin/python -m pip install --upgrade pip
          sudo pip3 install coscmd 
          echo "/Library/Frameworks/Python.framework/Versions/3.11/bin" >> $GITHUB_PATH

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 18

      - name: Install pnpm
        run: npm install -g pnpm

      - name: Setup Cache
        uses: actions/cache@v3
        with:
          path: |
            ~/.cache/go-build
            ~/go/pkg/mod
          key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
          restore-keys: |
            ${{ runner.os }}-go-

      - name: Checkout Kun
        uses: actions/checkout@v3
        with:
          repository: yaoapp/kun
          path: kun

      - name: Checkout Xun
        uses: actions/checkout@v3
        with:
          repository: yaoapp/xun
          path: xun

      - name: Checkout Gou
        uses: actions/checkout@v3
        with:
          repository: yaoapp/gou
          # ref: dc3d98411f61e21cf775e4c82d92d5ac2acfc03c
          path: gou

      - name: Checkout V8Go
        uses: actions/checkout@v3
        with:
          repository: yaoapp/v8go
          # ref: aac4923ed74083e58ae7b42b1acb0fa0d11a26cb
          path: v8go

      - name: Checkout XGen v1.0
        uses: actions/checkout@v3
        with:
          repository: yaoapp/xgen
          # ref: 408470b84c9d6bb8ed988b545b6e46ffc2872014
          path: xgen-v1.0

      - name: Checkout Yao-Init
        uses: actions/checkout@v3
        with:
          repository: yaoapp/yao-init
          path: yao-init

      - name: Move Kun, Xun, Gou, UI, V8Go
        run: |
          mv kun ../
          mv xun ../
          mv gou ../
          mv v8go ../
          mv xgen-v1.0 ../
          mv yao-init ../
          rm -f ../xgen-v1.0/packages/setup/vite.config.ts.*
          ls -l .
          ls -l ../
          ls -l ../xgen-v1.0/packages/setup/

      - name: Checkout Code
        uses: actions/checkout@v3

      - name: Setup Go ${{ matrix.go }}
        uses: actions/setup-go@v3
        with:
          go-version: ${{ matrix.go }}

      - name: Setup Go Tools
        run: |
          make tools

      - name: Get Version
        run: |
          echo VERSION=$(cat share/const.go  |grep 'const VERSION' | awk '{print $4}' | sed "s/\"//g")  >> $GITHUB_ENV

      - name: Make Artifacts MacOS
        run: |
          make artifacts-macos
          mv dist/release/yao-$VERSION-dev-darwin-arm64 dist/release/yao-$VERSION-unstable-darwin-arm64
          mv dist/release/yao-$VERSION-dev-darwin-amd64 dist/release/yao-$VERSION-unstable-darwin-amd64

      - name: Configure COS For Silicon Valley
        env:
          SECRET_ID: ${{ secrets.COS_ID }}
          SECRET_KEY: ${{ secrets.COS_KEY }}
          BUCKET: release-sv-1252011659
          REGION: na-siliconvalley
        run: |
          coscmd config -a $SECRET_ID -s $SECRET_KEY -b $BUCKET -r $REGION

      - name: Push To Silicon Valley
        run: |
          for file in ./dist/release/*; do coscmd upload $file /archives/; done;

      - name: Archive production artifacts
        uses: actions/upload-artifact@v3
        with:
          name: yao-macos
          path: |
            dist/release/*

      # - name: Configure COS For Beijing
      #   env:
      #     SECRET_ID: ${{ secrets.COS_ID }}
      #     SECRET_KEY: ${{ secrets.COS_KEY }}
      #     BUCKET: release-bj-1252011659
      #     REGION: ap-beijing
      #   run: |
      #     coscmd config -a $SECRET_ID -s $SECRET_KEY -b $BUCKET -r $REGION

      # - name: Push To Beijing
      #   run: |
      #     for file in ./dist/release/*; do coscmd upload $file /archives/; done;
