Skip to content

chore(deps): update pre-commit hook pre-commit/mirrors-eslint to v9.3.0 #1610

chore(deps): update pre-commit hook pre-commit/mirrors-eslint to v9.3.0

chore(deps): update pre-commit hook pre-commit/mirrors-eslint to v9.3.0 #1610

Workflow file for this run

name: Build
on:
push: {}
schedule:
- cron: '41 8 5 * *'
env:
LINUX_DEPENDENCIES: >
libasound2-dev
libc6-dev
libgl1-mesa-dev
libglu1-mesa-dev
libxcursor-dev
libxi-dev
libxinerama-dev
libxrandr-dev
libxxf86vm-dev
BUILD_TAGS: gzip,ebitenginesinglethread
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: true
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: Install apt dependencies
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: ${{ env.LINUX_DEPENDENCIES }}
- name: Lint
uses: golangci/golangci-lint-action@v6
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: true
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Install apt dependencies
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: ${{ env.LINUX_DEPENDENCIES }}
- name: Test
run: xvfb-run go test ./... -coverprofile=coverage.txt -covermode=atomic
build-windows:
name: Build (windows)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Generate
run: go generate -x
- name: Build
env:
VERSION: ${{ github.ref_name }}
run: ./hack/build-windows.sh
- name: Compress
working-directory: dist
run: |
zip -r ../gones_windows_amd64.zip GoNES-amd64.exe
zip -r ../gones_windows_arm64.zip GoNES-arm64.exe
- name: Upload Artifact (amd64)
uses: actions/upload-artifact@v4
with:
name: gones_windows_amd64
path: gones_windows_amd64.zip
- name: Upload Artifact (arm64)
uses: actions/upload-artifact@v4
with:
name: gones_windows_arm64
path: gones_windows_arm64.zip
build-darwin:
name: Build (darwin)
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Generate
run: go generate -x
- name: Build
env:
VERSION: ${{ github.ref_name }}
run: ./hack/build-darwin.sh
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: gones_darwin
path: dist/gones_darwin.tar.gz
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: gones_cask
path: dist/gones.rb
build-linux-amd64:
name: Build (linux-amd64)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Install apt dependencies
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: ${{ env.LINUX_DEPENDENCIES }}
- name: Generate
run: go generate -x
- name: Build
env:
CGO_ENABLED: "1"
run: go build -ldflags='-w -s' -trimpath -tags "${{ env.BUILD_TAGS }}" -o dist/gones
- name: Compress
run: tar -cvf gones_linux_amd64.tar.gz -C dist .
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: gones_linux_amd64
path: gones_linux_amd64.tar.gz
build-linux-arm64:
name: Build (linux-arm64)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
id: setup-go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build container
uses: docker/build-push-action@v5
with:
context: .
file: hack/builder.Dockerfile
tags: builder
load: true
platforms: linux/arm64/v8
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Generate
run: go generate -x
- name: Build
run: |
docker run --rm -i --platform=linux/arm64/v8 \
-v "$(go env GOCACHE):/root/.cache/go-build" \
-v "$(go env GOMODCACHE):/go/pkg/mod" \
-v "$PWD:/app" \
builder \
go build -ldflags='-w -s' -trimpath -tags "${{ env.BUILD_TAGS }}" -o dist/gones
- name: Compress
run: tar -cvf gones_linux_arm64.tar.gz -C dist .
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: gones_linux_arm64
path: gones_linux_arm64.tar.gz
build-web:
name: Build Web
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
id: setup-go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Generate
run: go generate -x
- name: Build Go
env:
GOOS: js
GOARCH: wasm
run: go build -ldflags='-w -s' -trimpath -tags "${{ env.BUILD_TAGS }}" -o web/src/assets/gones.wasm
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version-file: web/.nvmrc
cache: npm
cache-dependency-path: web/package-lock.json
- name: Install Node dependencies
run: npm --prefix web install --prefer-offline --no-audit
- name: Build Node
run: npm --prefix web run build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: web/dist
deploy-web:
name: Deploy Web
if: startsWith(github.ref, 'refs/tags/')
needs: [lint, test, build-web]
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
release:
name: Release
if: startsWith(github.ref, 'refs/tags/')
needs: [lint, test, build-windows, build-darwin, build-linux-amd64, build-linux-arm64]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/download-artifact@v4
with:
pattern: gones_*
path: dist
merge-multiple: true
- name: Generate Changelog
id: changelog
uses: gabe565/changelog-generator@v1
- name: Release
uses: softprops/action-gh-release@v2
with:
body: ${{ steps.changelog.outputs.changelog }}
files: |
dist/gones_*
update-homebrew-tap:
name: Update Homebrew Tap
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
needs: [release]
env:
commit_name: gabe565-goreleaser[bot]
commit_email: 159411820+gabe565-goreleaser[bot]@users.noreply.github.com
steps:
- name: Generate Token
id: app-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.BOT_APP_ID }}
private-key: ${{ secrets.BOT_APP_PRIVATE_KEY }}
repositories: homebrew-tap
- uses: actions/checkout@v4
with:
repository: gabe565/homebrew-tap
token: ${{ steps.app-token.outputs.token }}
- uses: actions/download-artifact@v4
with:
name: gones_cask
path: Casks
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Brew formula update for gones version ${{ github.ref_name }}
commit_user_name: ${{ env.commit_name }}
commit_user_email: ${{ env.commit_email }}
commit_author: ${{ env.commit_name }} <${{ env.commit_email }}>