[WIP] Update to Go 1.19 and React with line numbers #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 ./... |