name: Go on: push: branches: [ "main" ] pull_request: branches: [ "main" ] permissions: contents: read actions: write jobs: go_tests: #runs-on: alrest-techarohq runs-on: ubuntu-24.04 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: build essential run: | sudo apt-get update sudo apt-get install -y build-essential - name: Set up Homebrew uses: Homebrew/actions/setup-homebrew@main - name: Setup Homebrew cellar cache uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 with: path: | /home/linuxbrew/.linuxbrew/Cellar /home/linuxbrew/.linuxbrew/bin /home/linuxbrew/.linuxbrew/etc /home/linuxbrew/.linuxbrew/include /home/linuxbrew/.linuxbrew/lib /home/linuxbrew/.linuxbrew/opt /home/linuxbrew/.linuxbrew/sbin /home/linuxbrew/.linuxbrew/share /home/linuxbrew/.linuxbrew/var key: ${{ runner.os }}-go-homebrew-cellar-${{ hashFiles('go.sum') }} restore-keys: | ${{ runner.os }}-go-homebrew-cellar- - name: Install Brew dependencies run: | brew bundle - name: Setup Golang caches uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 with: path: | ~/.cache/go-build ~/go/pkg/mod key: ${{ runner.os }}-golang-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-golang- - name: Cache playwright binaries uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 id: playwright-cache with: path: | ~/.cache/ms-playwright key: ${{ runner.os }}-playwright-${{ hashFiles('**/go.sum') }} - name: install node deps run: | npm ci - name: install playwright browsers run: | npx --no-install playwright@1.52.0 install --with-deps npx --no-install playwright@1.52.0 run-server --port 9001 & - name: Build run: npm run build - name: Test run: npm run test - name: Lint with staticcheck uses: dominikh/staticcheck-action@024238d2898c874f26d723e7d0ff4308c35589a2 # v1.4.0 with: version: "latest" - name: Govulncheck run: | go tool govulncheck ./...