name: CI on: push: branches: [master, main, develop] pull_request: branches: [master, main] env: GO_VERSION: '1.24' jobs: build: name: Build and Test runs-on: windows steps: - name: Checkout tutus-chain uses: actions/checkout@v4 with: path: tutus-chain - name: Checkout dependencies run: | git clone https://git.marketally.com/tutus-one/tutus-bolt.git C:\tutus-bolt git clone https://git.marketally.com/tutus-one/tutus-consensus.git C:\tutus-consensus git clone https://git.marketally.com/tutus-one/tutus-ordered-json.git C:\tutus-ordered-json git clone https://git.marketally.com/tutus-one/tutus-rfc6979.git C:\tutus-rfc6979 - name: Update go.mod for CI working-directory: tutus-chain run: | (Get-Content go.mod) -replace '\.\./\.\./tutus-bolt', 'C:/tutus-bolt' | Set-Content go.mod (Get-Content go.mod) -replace '\.\./\.\./tutus-consensus', 'C:/tutus-consensus' | Set-Content go.mod (Get-Content go.mod) -replace '\.\./\.\./tutus-ordered-json', 'C:/tutus-ordered-json' | Set-Content go.mod (Get-Content go.mod) -replace '\.\./\.\./tutus-rfc6979', 'C:/tutus-rfc6979' | Set-Content go.mod - name: Download dependencies working-directory: tutus-chain run: | $env:CGO_ENABLED = "0" & "C:\Program Files\Go\bin\go.exe" mod download - name: Build working-directory: tutus-chain run: | $env:CGO_ENABLED = "0" & "C:\Program Files\Go\bin\go.exe" build -v -o bin/tutus.exe ./cli/main.go - name: Run tests working-directory: tutus-chain run: | $env:CGO_ENABLED = "0" & "C:\Program Files\Go\bin\go.exe" test -v -short ./... continue-on-error: true - name: Verify binary working-directory: tutus-chain run: | .\bin\tutus.exe --help