name: Build ATK on: push: tags: - 'v*' workflow_dispatch: env: GO_VERSION: "1.23" NODE_VERSION: "20" PNPM_VERSION: "10" jobs: build-linux: name: Build Linux runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y \ build-essential pkg-config \ libgtk-3-dev libwebkit2gtk-4.1-dev \ libayatana-appindicator3-dev - name: Setup Go uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} cache: true - name: Setup Node uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: ${{ env.PNPM_VERSION }} run_install: false - name: Install Wails run: go install github.com/wailsapp/wails/v2/cmd/wails@latest - name: Install nfpm run: go install github.com/goreleaser/nfpm/v2/cmd/nfpm@latest - name: Install frontend dependencies run: pnpm install working-directory: frontend - name: Build binary run: wails build -tags webkit2_41 - name: Package .deb run: nfpm pkg --packager deb --target build/ - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: atk-linux-${{ github.ref_name }} path: | build/bin/ATK build/*.deb