name: Build + Test v2 on: push: branches: [release/*, master] workflow_dispatch: jobs: test_go: name: Run Go Tests if: github.repository == 'wailsapp/wails' runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] go-version: [1.18, 1.19] steps: - name: Checkout code uses: actions/checkout@v3 - name: Install linux dependencies if: matrix.os == 'ubuntu-latest' run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev build-essential pkg-config - name: Setup Go uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} - name: Run tests (mac) if: matrix.os == 'macos-latest' env: CGO_LDFLAGS: -framework UniformTypeIdentifiers -mmacosx-version-min=10.13 working-directory: ./v2 run: go test -v ./... - name: Run tests (!mac) if: matrix.os != 'macos-latest' working-directory: ./v2 run: go test -v ./... test_js: name: Run JS Tests if: github.repository == 'wailsapp/wails' runs-on: ubuntu-latest strategy: matrix: node-version: [16.x] steps: - name: Checkout code uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: Install dependencies run: npm install working-directory: v2/internal/frontend/runtime - name: Run tests run: npm test working-directory: v2/internal/frontend/runtime test_templates: name: Test Templates needs: test_go runs-on: ${{ matrix.os }} strategy: fail-fast: true matrix: os: [ubuntu-latest, windows-latest, macos-latest] template: [ svelte, svelte-ts, vue, vue-ts, react, react-ts, preact, preact-ts, lit, lit-ts, vanilla, vanilla-ts, plain, ] go-version: [1.18, 1.19] steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Go uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} - name: Build Wails CLI run: | cd ./v2/cmd/wails go install wails -help - name: Install linux dependencies if: matrix.os == 'ubuntu-latest' run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev build-essential pkg-config - name: Generate template '${{ matrix.template }}' run: | mkdir -p ./test-${{ matrix.template }} cd ./test-${{ matrix.template }} wails init -n ${{ matrix.template }} -t ${{ matrix.template }} -ci cd ${{ matrix.template }} wails build -v 2