Update GHA dependencies #65
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@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.23 | |
- 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@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.23 | |
- name: Build Windows exe | |
shell: bash | |
run: go build | |
- name: Upload Windows exe | |
uses: actions/upload-artifact@v3 | |
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@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.23 | |
- 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/upload-artifact@v3 | |
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@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.23 | |
- 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/upload-artifact@v3 | |
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@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.23 | |
- 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/upload-artifact@v3 | |
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@v3 | |
- name: Download Windows binary | |
uses: actions/download-artifact@v3 | |
with: | |
name: nokia-defence-win | |
- name: Download Linux binary | |
uses: actions/download-artifact@v3 | |
with: | |
name: nokia-defence-lin | |
- name: Download Mac binary | |
uses: actions/download-artifact@v3 | |
with: | |
name: nokia-defence-mac | |
- name: Upload beta testing bundle | |
uses: actions/upload-artifact@v3 | |
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@v3 | |
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@v3 | |
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@v3 | |
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@v3 | |
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}} |