Update Go and Ebitengine to latest version #63
This file contains 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: Build Executables | |
on: [push] | |
jobs: | |
tests: | |
name: Run tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.21 | |
- name: Install dependencies | |
shell: bash | |
run: sudo apt-get update && sudo apt-get -y install libgl1-mesa-dev xorg-dev libasound2-dev | |
- name: Run tests | |
shell: bash | |
run: xvfb-run go test -v ./... | |
build-win: | |
name: Build Windows binary | |
needs: tests | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.21 | |
- name: Build Windows exe | |
shell: bash | |
run: go build | |
- name: Upload Windows exe | |
uses: actions/[email protected] | |
with: | |
name: nokia-defence-win | |
path: | | |
LICENSE | |
nokia-defence.exe | |
build-mac: | |
name: Build MacOS binary | |
needs: tests | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.21 | |
- name: Build Mac exe | |
shell: bash | |
run: go build | |
- name: Tar it up | |
shell: bash | |
run: tar -zcvf nokia-defence-mac.tar.gz nokia-defence LICENSE | |
- name: Upload Mac exe | |
uses: actions/[email protected] | |
with: | |
name: nokia-defence-mac | |
path: nokia-defence-mac.tar.gz | |
build-lin: | |
name: Build Linux binary | |
needs: tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.21 | |
- name: Install dependencies | |
shell: bash | |
run: sudo apt-get update && sudo apt-get -y install libgl1-mesa-dev xorg-dev libasound2-dev | |
- name: Build Linux exe | |
shell: bash | |
run: go build -v | |
- name: Tar it up | |
shell: bash | |
run: tar -zcvf nokia-defence-lin.tar.gz nokia-defence LICENSE | |
- name: Upload Linux exe | |
uses: actions/[email protected] | |
with: | |
name: nokia-defence-lin | |
path: nokia-defence-lin.tar.gz | |
build-web: | |
name: Build Web binary | |
needs: tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.21 | |
- name: Build Web binary | |
shell: bash | |
run: GOOS=js GOARCH=wasm go build -v -ldflags "-w -s" -o dist/web/nokia-defence.wasm | |
- name: Copy WASM exec script | |
shell: bash | |
run: cp $(go env GOROOT)/misc/wasm/wasm_exec.js dist/web/. | |
- name: Upload Web build | |
uses: actions/[email protected] | |
with: | |
name: nokia-defence-web | |
path: | | |
dist/web/ | |
LICENSE | |
upload-bundle: | |
name: Bundle binaries with dev assets | |
runs-on: ubuntu-latest | |
needs: [build-lin, build-mac, build-win] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Download Windows binary | |
uses: actions/download-artifact@v2 | |
with: | |
name: nokia-defence-win | |
- name: Download Linux binary | |
uses: actions/download-artifact@v2 | |
with: | |
name: nokia-defence-lin | |
- name: Download Mac binary | |
uses: actions/download-artifact@v2 | |
with: | |
name: nokia-defence-mac | |
- name: Upload beta testing bundle | |
uses: actions/[email protected] | |
with: | |
name: nokia-defence-bundle | |
path: | | |
README.md | |
LICENSE | |
nokia-defence-lin.tar.gz | |
nokia-defence-mac.tar.gz | |
nokia-defence.exe | |
deploy-win: | |
name: Deploy Windows build to itch.io | |
if: startsWith(github.event.ref, 'refs/tags/v') | |
needs: build-win | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v2 | |
with: | |
name: nokia-defence-win | |
- uses: josephbmanley/butler-publish-itchio-action@master | |
env: | |
BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} | |
CHANNEL: windows | |
ITCH_GAME: nokia-defence | |
ITCH_USER: sinisterstuf | |
PACKAGE: nokia-defence.exe | |
VERSION: ${{github.ref_name}} | |
deploy-mac: | |
name: Deploy MacOs build to itch.io | |
if: startsWith(github.event.ref, 'refs/tags/v') | |
needs: build-mac | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v2 | |
with: | |
name: nokia-defence-mac | |
- name: Extract tarball | |
shell: bash | |
run: tar -zxvf nokia-defence-mac.tar.gz | |
- uses: josephbmanley/butler-publish-itchio-action@master | |
env: | |
BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} | |
CHANNEL: mac | |
ITCH_GAME: nokia-defence | |
ITCH_USER: sinisterstuf | |
PACKAGE: nokia-defence | |
VERSION: ${{github.ref_name}} | |
deploy-lin: | |
name: Deploy Linux build to itch.io | |
if: startsWith(github.event.ref, 'refs/tags/v') | |
needs: build-lin | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v2 | |
with: | |
name: nokia-defence-lin | |
- name: Extract tarball | |
shell: bash | |
run: tar -zxvf nokia-defence-lin.tar.gz | |
- uses: josephbmanley/butler-publish-itchio-action@master | |
env: | |
BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} | |
CHANNEL: linux | |
ITCH_GAME: nokia-defence | |
ITCH_USER: sinisterstuf | |
PACKAGE: nokia-defence | |
VERSION: ${{github.ref_name}} | |
deploy-web: | |
name: Deploy Web build to itch.io | |
if: startsWith(github.event.ref, 'refs/tags/v') | |
needs: build-web | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v2 | |
with: | |
name: nokia-defence-web | |
- uses: josephbmanley/butler-publish-itchio-action@master | |
env: | |
BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} | |
CHANNEL: web | |
ITCH_GAME: nokia-defence | |
ITCH_USER: sinisterstuf | |
PACKAGE: dist/web | |
VERSION: ${{github.ref_name}} |