GitHub Actions: Copy LICENSE to built extension folder #51
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 GDExtension | |
on: | |
workflow_call: | |
push: | |
pull_request: | |
merge_group: | |
env: | |
LIBNAME: example | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# Debug templates | |
# - platform: linux | |
# float-precision: single | |
# arch: x86_64 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# - platform: windows | |
# float-precision: single | |
# arch: x86_32 | |
# target-type: template_debug | |
# os: windows-latest | |
# - platform: windows | |
# float-precision: single | |
# arch: x86_64 | |
# target-type: template_debug | |
# os: windows-latest | |
# - platform: macos | |
# float-precision: single | |
# arch: universal | |
# target-type: template_debug | |
# os: macos-latest | |
# - platform: android | |
# float-precision: single | |
# arch: arm64 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: single | |
# arch: arm32 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: single | |
# arch: x86_64 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: single | |
# arch: x86_32 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# - platform: ios | |
# float-precision: single | |
# arch: arm64 | |
# target-type: template_debug | |
# os: macos-latest | |
# - platform: web | |
# float-precision: single | |
# arch: wasm32 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# # Release templates | |
# - platform: linux | |
# float-precision: single | |
# arch: x86_64 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
# - platform: windows | |
# float-precision: single | |
# arch: x86_32 | |
# target-type: template_release | |
# os: windows-latest | |
# - platform: windows | |
# float-precision: single | |
# arch: x86_64 | |
# target-type: template_release | |
# os: windows-latest | |
# - platform: macos | |
# float-precision: single | |
# arch: universal | |
# target-type: template_release | |
# os: macos-latest | |
# - platform: android | |
# float-precision: single | |
# arch: arm64 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: single | |
# arch: arm32 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: single | |
# arch: x86_64 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: single | |
# arch: x86_32 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
# - platform: ios | |
# float-precision: single | |
# arch: arm64 | |
# target-type: template_release | |
# os: macos-latest | |
# - platform: web | |
# float-precision: single | |
# arch: wasm32 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
# Double precision templates | |
# Double precision debug templates | |
- platform: linux | |
float-precision: double | |
arch: x86_64 | |
target-type: template_debug | |
os: ubuntu-20.04 | |
# - platform: windows | |
# float-precision: double | |
# arch: x86_32 | |
# target-type: template_debug | |
# os: windows-latest | |
- platform: windows | |
float-precision: double | |
arch: x86_64 | |
target-type: template_debug | |
os: ubuntu-22.04 | |
host: x86_64-w64-mingw32 | |
- platform: macos | |
float-precision: double | |
arch: universal | |
target-type: template_debug | |
os: macos-latest | |
# - platform: android | |
# float-precision: double | |
# arch: arm64 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: double | |
# arch: arm32 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: double | |
# arch: x86_64 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: double | |
# arch: x86_32 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# - platform: ios | |
# float-precision: double | |
# arch: arm64 | |
# target-type: template_debug | |
# os: macos-latest | |
# - platform: web | |
# float-precision: double | |
# arch: wasm32 | |
# target-type: template_debug | |
# os: ubuntu-20.04 | |
# Double precision release templates | |
- platform: linux | |
float-precision: double | |
arch: x86_64 | |
target-type: template_release | |
os: ubuntu-20.04 | |
# - platform: windows | |
# float-precision: double | |
# arch: x86_32 | |
# target-type: template_release | |
# os: windows-latest | |
- platform: windows | |
float-precision: double | |
arch: x86_64 | |
target-type: template_release | |
os: ubuntu-22.04 | |
host: x86_64-w64-mingw32 | |
- platform: macos | |
float-precision: double | |
arch: universal | |
target-type: template_release | |
os: macos-latest | |
# - platform: android | |
# float-precision: double | |
# arch: arm64 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: double | |
# arch: arm32 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: double | |
# arch: x86_64 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
# - platform: android | |
# float-precision: double | |
# arch: x86_32 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
# - platform: ios | |
# float-precision: double | |
# arch: arm64 | |
# target-type: template_release | |
# os: macos-latest | |
# - platform: web | |
# float-precision: double | |
# arch: wasm32 | |
# target-type: template_release | |
# os: ubuntu-20.04 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
# Lint | |
#- name: Setup clang-format | |
# shell: bash | |
# run: | | |
# python -m pip install clang-format | |
#- name: Run clang-format | |
# shell: bash | |
# run: | | |
# clang-format src/** --dry-run --Werror | |
# Build | |
- name: 🔗 GDExtension Debug Build | |
uses: ./.github/actions/build | |
with: | |
platform: ${{ matrix.platform }} | |
arch: ${{ matrix.arch }} | |
float-precision: ${{ matrix.float-precision }} | |
build-target-type: ${{ matrix.target-type }} | |
host: ${{ matrix.host }} | |
# Sign | |
- name: Mac Sign | |
# Disable sign if secrets are not set | |
if: ${{ matrix.platform == 'macos' && env.APPLE_CERT_BASE64 }} | |
env: | |
APPLE_CERT_BASE64: ${{ secrets.APPLE_CERT_BASE64 }} | |
uses: ./.github/actions/sign | |
with: | |
FRAMEWORK_PATH: bin/macos/macos.framework | |
APPLE_CERT_BASE64: ${{ secrets.APPLE_CERT_BASE64 }} | |
APPLE_CERT_PASSWORD: ${{ secrets.APPLE_CERT_PASSWORD }} | |
APPLE_DEV_PASSWORD: ${{ secrets.APPLE_DEV_PASSWORD }} | |
APPLE_DEV_ID: ${{ secrets.APPLE_DEV_ID }} | |
APPLE_DEV_TEAM_ID: ${{ secrets.APPLE_DEV_TEAM_ID }} | |
APPLE_DEV_APP_ID: ${{ secrets.APPLE_DEV_APP_ID }} | |
# - name: Windows - Delete compilation files | |
# if: ${{ matrix.platform == 'windows' }} | |
# shell: pwsh | |
# run: | | |
# Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force | |
- name: Copy LICENSE to extension folder | |
shell: bash | |
run: | | |
mkdir --parents "${{ github.workspace }}/artifact/addons/libm8gd/" | |
cp -a "${{ github.workspace }}/LICENSE" "${{ github.workspace }}/project/addons/libm8gd/." "${{ github.workspace }}/artifact/addons/libm8gd/" | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: libm8gd-${{ matrix.platform }}-${{ matrix.arch }}-${{ matrix.float-precision }}-${{ matrix.target-type }} | |
path: | | |
${{ github.workspace }}/artifact | |
# Merges all the build artifacts together into a single godot-cpp-template artifact. | |
# If you comment out this step, all the builds will be uploaded individually. | |
merge: | |
runs-on: ubuntu-20.04 | |
needs: build | |
steps: | |
- name: Merge Artifacts | |
uses: actions/upload-artifact/merge@v4 | |
with: | |
name: libm8gd | |
pattern: libm8gd-* | |
delete-merged: true |