goup 1.7.0

A simple version manager for Go written in Rust! 🚀
name: Tests

on:
  workflow_dispatch:
  pull_request:
  push:
    branches:
      - "*"
    paths-ignore:
      - "**.md"

jobs:
  tests:
    name: Tests
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os:
          - ubuntu-latest
          - macos-latest
          - windows-latest

    steps:
      - name: Checkout repo
        uses: actions/checkout@v3

      - name: Setup Rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly

      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.11"

      - name: Install e2e dependencies
        run: pip install -r e2e/requirements.txt

      - name: Run Unit Tests
        run: cargo test

      - name: Install goup
        run: cargo install --path .

      - name: Run e2e Tests
        if: ${{ matrix.os != 'windows-latest' }}
        run: |
          eval "$(goup env)"
          python3 e2e/main.py
      - name: Run e2e Tests
        if: ${{ matrix.os == 'windows-latest' }}
        run: |
          goup env | Out-String | Invoke-Expression
          python3 e2e/main.py