mirror of
https://github.com/TecharoHQ/anubis.git
synced 2026-04-11 02:58:49 +00:00
Closes #1159 This uses the binaryen tool wasm2js to compile the Anubis WASM blobs to JavaScript. This produces biblically large (520Ki) outputs when you inline both hashx and sha256 solvers, but this is a tradeoff that I'm willing to accept. The performance is good enough in my testing with JIT enabled. I fear that this may end up being terrible with JIT disabled. I have no idea if this will work on big endian or not. Signed-off-by: Xe Iaso <me@xeiaso.net>
100 lines
2.8 KiB
YAML
100 lines
2.8 KiB
YAML
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
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@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
|
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@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
|
with:
|
|
path: |
|
|
~/.cache/go-build
|
|
~/go/pkg/mod
|
|
key: ${{ runner.os }}-golang-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-golang-
|
|
|
|
- uses: actions-rust-lang/setup-rust-toolchain@02be93da58aa71fb456aa9c43b301149248829d8 # v1.15.1
|
|
with:
|
|
cache: false
|
|
target: wasm32-unknown-unknown
|
|
|
|
- name: Setup Binaryen
|
|
uses: Aandreba/setup-binaryen@77f25f9d7d30f09667a2535888bf9516b31a4cd7 # v1.0.0
|
|
|
|
- name: Cache playwright binaries
|
|
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
|
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 ./...
|