Skip to content

Add Bob's reusable workflow. Add dependabot configuration #1

Add Bob's reusable workflow. Add dependabot configuration

Add Bob's reusable workflow. Add dependabot configuration #1

Workflow file for this run

name: Build with bob

Check failure on line 1 in .github/workflows/bob.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/bob.yml

Invalid workflow file

(Line: 28, Col: 15): Unexpected value 'choice', (Line: 30, Col: 9): Unexpected value 'options'
on:
workflow_call:
inputs:
ubuntu_runner:
required: false
type: string
description: 'Which Ubuntu runner should use'
default: ubuntu-latest
macos_runner:
required: false
type: string
description: 'Which MacOS runner should use'
default: 'macOSlatest'
windows_runner:
required: false
type: string
description: 'Which Windows runner should use'
default: windows-latest
build_server:
required: false
type: string
description: 'Buld server url'
default: 'https://build-stage.defold.com'
channel:
required: false
type: choice
description: 'Which Defold version use to build. Possible values: alpha, beta, stable'
options:
- alpha
- beta
- stable
default: alpha
bob_version_filename:
required: false
type: string
description: 'JSON filename withi Bob versions'
default: 'info.json'
jobs:
build_with_bob:
strategy:
matrix:
platform: [armv7-android, x86_64-linux, js-web]
runs-on: ${{ inputs.ubuntu_runner }}
name: Build
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with:
java-version: '21.0.5+11.0.LTS'
architecture: x64
distribution: 'temurin'
- name: Get Defold version
id: defold_version
run: |
TMPVAR=`curl -s http://d.defold.com/${{ inputs.channel }}/${{ inputs.bob_version_filename }} | jq -r '.sha1'`
echo "defold_version=${TMPVAR}" >> $GITHUB_OUTPUT
echo "Found version ${TMPVAR}"
- name: Download bob.jar
run: |
wget -q http://d.defold.com/archive/${{ inputs.channel }}/${{ steps.defold_version.outputs.defold_version }}/bob/bob.jar
java -jar bob.jar --version
- name: Installing Shared Library Dependencies
run: |
echo "Remove after we've fixed the headless build for plugins"
sudo add-apt-repository ppa:apt-fast/stable
sudo apt-get update
sudo apt-fast install -y --no-install-recommends libopenal-dev libgl1-mesa-dev libglw1-mesa-dev freeglut3-dev
- name: Resolve libraries
run: java -jar bob.jar resolve
- name: Build
run: java -jar bob.jar --platform=${{ matrix.platform }} build --archive --build-server=${{ inputs.build_server }}
- name: Bundle
run: java -jar bob.jar --platform=${{ matrix.platform }} bundle
build_with_bob_windows:
strategy:
matrix:
platform: [x86_64-win32, x86-win32]
runs-on: ${{ inputs.windows_runner }}
name: Build
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with:
java-version: '21.0.5+11.0.LTS'
architecture: x64
distribution: 'temurin'
- name: Get Defold version
id: defold_version
run: |
TMPVAR=`curl -s http://d.defold.com/${{ inputs.channel }}/${{ inputs.bob_version_filename }} | jq -r '.sha1'`
echo "defold_version=${TMPVAR}" >> $GITHUB_OUTPUT
echo "Found version ${TMPVAR}"
shell: bash
- name: Download bob.jar
run: |
curl -s -o bob.jar http://d.defold.com/archive/${{ inputs.channel }}/${{ steps.defold_version.outputs.defold_version }}/bob/bob.jar
java -jar bob.jar --version
- name: Resolve libraries
run: java -jar bob.jar resolve
- name: Build
run: java -jar bob.jar --platform=${{ matrix.platform }} build --archive --build-server=${{ inputs.build_server }}
- name: Bundle
run: java -jar bob.jar --platform=${{ matrix.platform }} bundle
# macOS is not technically needed for building, but we want to test bundling as well, since we're also testing the manifest merging
build_with_bob_macos:
strategy:
matrix:
platform: [arm64-macos, x86_64-macos]
runs-on: macOS-latest
name: Build
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with:
java-version: '21.0.5+11.0.LTS'
architecture: x64
distribution: 'temurin'
- name: Get Defold version
id: defold_version
run: |
TMPVAR=`curl -s http://d.defold.com/${{ inputs.channel }}/${{ inputs.bob_version_filename }} | jq -r '.sha1'`
echo "defold_version=${TMPVAR}" >> $GITHUB_OUTPUT
echo "Found version ${TMPVAR}"
- name: Download bob.jar
run: |
wget -q http://d.defold.com/archive/${{ inputs.channel }}/${{ steps.defold_version.outputs.defold_version }}/bob/bob.jar
java -jar bob.jar --version
- name: Resolve libraries
run: java -jar bob.jar resolve
- name: Build
run: java -jar bob.jar --platform=${{ matrix.platform }} build --archive --build-server=${{ inputs.build_server }}
- name: Bundle
run: java -jar bob.jar --platform=${{ matrix.platform }} bundle