Skip to content

Building GAMA release #97

Building GAMA release

Building GAMA release #97

name: "Create & Publish new GAMA release"
on:
workflow_dispatch:
inputs:
IS_STABLE_RELEASE:
description: 'Is this a stable release ?'
required: true
default: false
type: boolean
tag:
description: "The tag of the release to publish (YYYY.MM.0)"
type: string
required: true
default: 2024.06.0
jdk:
description: "Choose a JDK version to embed inside GAMA release"
type: string
required: true
default: 21.0.3+9
releaseGithubOnly:
description: "Release only on Github (not on Microsoft Stores, else) ?"
type: boolean
required: true
default: false
run-name: Building GAMA release
jobs:
compiling-gama:
name: Compiling GAMA
uses: ./.github/workflows/travis-build.yaml
with:
get_testing_compiled_archives: false
get_all_archives_for_release: true
new_release_tag: ${{ inputs.tag }}
jdk_embedded_version: ${{ inputs.jdk }}
IS_STABLE_RELEASE: ${{ inputs.IS_STABLE_RELEASE }}
secrets:
GAMA_KEYSTORE_BASE64: ${{ secrets.GAMA_KEYSTORE_BASE64 }}
GAMA_KEYSTORE_STOREPASS: ${{ secrets.GAMA_KEYSTORE_STOREPASS }}
GAMA_SERVER_USERNAME: ${{ secrets.GAMA_SERVER_USERNAME }}
GAMA_SERVER_PASSWORD: ${{ secrets.GAMA_SERVER_PASSWORD }}
GAMA_SERVER_SSH_PRIVATE_KEY: ${{ secrets.GAMA_SERVER_SSH_PRIVATE_KEY }}
GAMA_SERVER_SSH_KNOWN_HOSTS: ${{ secrets.GAMA_SERVER_SSH_KNOWN_HOSTS }}
travis-scripts:
runs-on: ubuntu-latest
outputs:
commit: ${{ steps.commit.outputs.commit }}
steps:
- uses: actions/checkout@v4
- name: Prepare travis-script
id: commit
run: |
chmod +x ${{ github.workspace }}/travis/*
mv ${{ github.workspace }}/gama.product/extraresources ${{ github.workspace }}/travis
mv ${{ github.workspace }}/LICENSE ${{ github.workspace }}/travis
commit=$(git rev-parse --short=7 HEAD)
echo "commit=$commit" >> "$GITHUB_OUTPUT"
- uses: actions/upload-artifact@v4
with:
name: travis-scripts
if-no-files-found: error
compression-level: 9
overwrite: true
path: |
${{ github.workspace }}/travis
#
# ██████╗ █████╗ ██████╗██╗ ██╗ █████╗ ██████╗ ██╗███╗ ██╗ ██████╗
# ██╔══██╗██╔══██╗██╔════╝██║ ██╔╝██╔══██╗██╔════╝ ██║████╗ ██║██╔════╝
# ██████╔╝███████║██║ █████╔╝ ███████║██║ ███╗██║██╔██╗ ██║██║ ███╗
# ██╔═══╝ ██╔══██║██║ ██╔═██╗ ██╔══██║██║ ██║██║██║╚██╗██║██║ ██║
# ██║ ██║ ██║╚██████╗██║ ██╗██║ ██║╚██████╔╝██║██║ ╚████║╚██████╔╝
# ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
#
packaging-gama:
needs: [compiling-gama, travis-scripts]
name: Package GAMA
uses: ./.github/workflows/travis-packaging.yaml
with:
RELEASE_VERSION: ${{ inputs.tag }}
jdk_embedded_version: ${{ inputs.jdk }}
secrets:
# === MacOS needs ===
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
MACOS_KEYCHAIN_PWD: ${{ secrets.MACOS_KEYCHAIN_PWD }}
MACOS_DEV_ID: ${{ secrets.MACOS_DEV_ID }}
NOTARY_APPLE_ID: ${{ secrets.NOTARY_APPLE_ID }}
NOTARY_PASSWORD: ${{ secrets.NOTARY_PASSWORD }}
NOTARY_TEAM_ID: ${{ secrets.NOTARY_TEAM_ID }}
# === JDK needs ===
GAMA_KEYSTORE_BASE64: ${{ secrets.GAMA_KEYSTORE_BASE64 }}
GAMA_KEYSTORE_STOREPASS: ${{ secrets.GAMA_KEYSTORE_STOREPASS }}
#
# ██████╗ ██╗ ██╗██████╗ ██╗ ██╗███████╗██╗ ██╗██╗███╗ ██╗ ██████╗
# ██╔══██╗██║ ██║██╔══██╗██║ ██║██╔════╝██║ ██║██║████╗ ██║██╔════╝
# ██████╔╝██║ ██║██████╔╝██║ ██║███████╗███████║██║██╔██╗ ██║██║ ███╗
# ██╔═══╝ ██║ ██║██╔══██╗██║ ██║╚════██║██╔══██║██║██║╚██╗██║██║ ██║
# ██║ ╚██████╔╝██████╔╝███████╗██║███████║██║ ██║██║██║ ╚████║╚██████╔╝
# ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝╚══════╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝
#
publish-gama:
needs: [packaging-gama, travis-scripts]
name: Publish GAMA
uses: ./.github/workflows/travis-publish.yaml
with:
RELEASE_VERSION: ${{ inputs.tag }}
IS_STABLE_RELEASE: ${{ inputs.IS_STABLE_RELEASE }}
COMMIT_SHA: ${{needs.travis-scripts.outputs.commit}}
RELEASE_GITHUB_ONLY: ${{ inputs.releaseGithubOnly }}
secrets:
BOT_TOKEN: ${{ secrets.BOT_TOKEN }}