Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
playground/go.sum linguist-generated
playground/internal/cmd/precompile/go.sum linguist-generated

**/*.a.js linguist-generated
playground/playground.js linguist-generated

playground/internal/imports/zstdlib.go linguist-generated
96 changes: 96 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: CI

on:
push:
branches: [ "*" ]
pull_request:
branches: [ "*" ]

permissions:
contents: read
pull-requests: read

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

env:
GO_VERSION: 1.19.13
NODE_VERSION: 18
GOLANGCI_VERSION: v1.53.3
SOURCE_MAP_SUPPORT: true
GOPATH: ${{ github.workspace }}/go
GOPHERJS_PATH: ${{ github.workspace }}/go/src/github.com/${{ github.repository }}

jobs:
lint:
name: Lint Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
path: ${{ env.GOPHERJS_PATH }}
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- name: Install golangci-lint
uses: golangci/golangci-lint-action@v3
with:
working-directory: ${{ env.GOPHERJS_PATH }}
version: ${{ env.GOLANGCI_VERSION }}
only-new-issues: true
- name: Check go.mod
working-directory: ${{ env.GOPHERJS_PATH }}
run: go mod tidy && git diff --exit-code
- name: Check natives build tags
working-directory: ${{ env.GOPHERJS_PATH }}
run: |
echo "Any following packages have at least one file that is missing //go:build js"
diff -u <(echo -n) <(go list ./compiler/natives/src/...)

go_tests:
name: Go Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
path: ${{ env.GOPHERJS_PATH }}
- name: Copy Actions
run: cp -r ${{ env.GOPHERJS_PATH }}/.github .
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- name: Setup Go Environment
working-directory: ${{ env.GOPHERJS_PATH }}
shell: bash
run: echo "GOROOT=$(go env GOROOT)" >> $GITHUB_ENV
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Install Node.js for Linux
working-directory: ${{ env.GOPHERJS_PATH }}
shell: bash
# Install required Node.js packages including optional (node-syscall).
run: |
npm install --include=optional --no-package-lock
- name: Setup Node.js Environment
working-directory: ${{ env.GOPHERJS_PATH }}
shell: bash
# Make nodejs able to require installed modules from any working path.
run: echo "NODE_PATH=$(npm root)" >> $GITHUB_ENV
- name: Install GopherJS
working-directory: ${{ env.GOPHERJS_PATH }}
shell: bash
run: go install -v
- name: Setup information
shell: bash
run: |
echo ::notice::go version: $(go version)
echo ::notice::node version: $(node -v)
echo ::notice::npm version: $(npm -v)
echo ::notice::gopherjs version: $(gopherjs version)
- name: Run Tests
working-directory: ${{ env.GOPHERJS_PATH }}
run: go test -v -race ./...
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
/playground/playground.js.map
/playground/compile.js.map
.DS_Store
7 changes: 7 additions & 0 deletions go.work
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
go 1.20

use (
./playground
./playground/internal/cmd/compile
./playground/internal/cmd/precompile
)
610 changes: 610 additions & 0 deletions go.work.sum

Large diffs are not rendered by default.

Loading