Build xPack MinGW-w64 GCC win32-x64 #18
This file contains hidden or 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
| # ----------------------------------------------------------------------------- | |
| # DO NOT EDIT! | |
| # Automatically generated from npm-packages-helper/templates/*. | |
| # | |
| # This file is part of the xPack project (http://xpack.github.io). | |
| # Copyright (c) 2021-2025 Liviu Ionescu. All rights reserved. | |
| # | |
| # Permission to use, copy, modify, and/or distribute this software | |
| # for any purpose is hereby granted, under the terms of the MIT license. | |
| # | |
| # If a copy of the license was not distributed with this file, it can | |
| # be obtained from https://opensource.org/licenses/mit. | |
| # | |
| # ----------------------------------------------------------------------------- | |
| # https://help.github.com/en/actions | |
| # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners | |
| # https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_dispatch | |
| # https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_dispatch | |
| # https://docs.github.com/en/rest/reference/actions#create-a-workflow-dispatch-event | |
| # https://github.com/actions/checkout | |
| # https://github.com/actions/upload-artifact | |
| # https://github.com/actions/download-artifact | |
| # ----------------------------------------------------------------------------- | |
| name: 'Build xPack MinGW-w64 GCC win32-x64' | |
| on: | |
| workflow_dispatch: | |
| # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs | |
| inputs: | |
| version: | |
| description: 'The semver of the release' | |
| required: false | |
| type: string | |
| default: 'current' | |
| xpm_version: | |
| description: 'The version of xpm to install' | |
| required: false | |
| type: string | |
| default: 'next' | |
| xpm_install_loglevel: | |
| description: 'Optional loglevel for xpm install' | |
| required: false | |
| default: 'info' | |
| type: choice | |
| options: | |
| - silent | |
| - warn | |
| - info | |
| - verbose | |
| - debug | |
| - trace | |
| xpm_install_options: | |
| description: 'Optional switches to pass to xpm install' | |
| required: false | |
| type: string | |
| default: '' | |
| helper-git-ref: | |
| description: 'The helper branch, tag or SHA to checkout' | |
| required: false | |
| default: 'xpack-development' | |
| jobs: | |
| win32-x64-build: | |
| name: 'win32-x64 mingw-w64-gcc ${{github.event.inputs.version}} build' | |
| timeout-minutes: 2880 # 2 days | |
| runs-on: ubuntu-24.04 | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: 'Show environment' | |
| run: | | |
| uname -a | |
| lsb_release -sd | |
| df -BG -H / | |
| echo "whoami: $(whoami)" | |
| echo "pwd: $(pwd)" | |
| ls -lLA | |
| env | sort | grep -E '^[^ \t]+=' | |
| - name: 'Install xpm' | |
| timeout-minutes: 1440 | |
| run: | | |
| npm install --location=global xpm@${{github.event.inputs.xpm_version}} | |
| - name: 'Verify Node.js, npm and xpm' | |
| run: | | |
| echo "$(which node): $(node --version)" | |
| echo "$(which npm): $(npm --version)" | |
| echo "$(which xpm): $(xpm --version)" | |
| - name: 'Checkout project' | |
| uses: actions/checkout@v1 # v1 for old Git | |
| with: | |
| fetch-depth: 3 | |
| - name: 'Build win32-x64 binaries' | |
| timeout-minutes: 1440 | |
| run: | | |
| xpm install --loglevel ${{github.event.inputs.xpm_install_loglevel}} ${{github.event.inputs.xpm_install_options}} -C build-assets | |
| xpm run docker-prepare --config win32-x64 --loglevel ${{github.event.inputs.xpm_install_loglevel}} ${{github.event.inputs.xpm_install_options}} -C build-assets | |
| xpm run docker-build --config win32-x64 -C build-assets | |
| - name: 'Show results' | |
| run: | | |
| ls -l build-assets/build/win32-x64/application | |
| ls -l build-assets/build/win32-x64/deploy | |
| - name: Upload platform artefacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: deploy-win32-x64 | |
| path: ${{github.workspace}}/build-assets/build/win32-x64/deploy/* | |
| overwrite: true | |
| - name: 'Publish pre-release' | |
| # https://github.com/ncipollo/release-action | |
| uses: ncipollo/[email protected] # v1.13 for 18.04 | |
| with: | |
| allowUpdates: true | |
| artifacts: 'build-assets/build/win32-x64/deploy/*' | |
| bodyFile: '.github/workflows/body-github-pre-releases-test.md' | |
| commit: 'master' | |
| draft: false | |
| name: 'Test binaries' | |
| omitBodyDuringUpdate: true | |
| omitDraftDuringUpdate: true | |
| omitNameDuringUpdate: true | |
| owner: 'xpack-dev-tools' | |
| prerelease: true | |
| replacesArtifacts: true | |
| repo: 'pre-releases' | |
| tag: 'test' | |
| token: ${{secrets.PUBLISH_TOKEN}} | |
| win32-x64-test: | |
| name: 'win32-x64 mingw-w64-gcc ${{github.event.inputs.version}} test' | |
| runs-on: windows-2025 | |
| needs: [win32-x64-build] | |
| defaults: | |
| run: | |
| # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell | |
| shell: bash # for -- | |
| steps: | |
| - name: 'Show environment' | |
| run: | | |
| uname -a | |
| systeminfo # lsb_release -sd | |
| df -BG -H / | |
| echo "whoami: $(whoami)" | |
| echo "pwd: $(pwd)" | |
| ls -lLA | |
| env | sort | grep -E '^[^ \t]+=' | |
| # https://github.com/actions/checkout | |
| - name: 'Checkout project' | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 3 | |
| - name: 'Checkout helper ${{github.event.inputs.helper-git-ref}}' | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: xpack-dev-tools/xbb-helper-xpack | |
| path: build-assets/xpacks/@xpack-dev-tools/xbb-helper | |
| ref: ${{github.event.inputs.helper-git-ref}} | |
| fetch-depth: 3 | |
| - name: 'Run ${{github.event.inputs.version}} native test' | |
| run: bash build-assets/scripts/test.sh --version ${{github.event.inputs.version}} --base-url pre-release | |
| - name: Upload platform tests report | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: tests-report-win32-x64 | |
| path: ${{github.workspace}}/build-assets/build/win32-x64/artefacts/tests-report-*.md | |
| overwrite: true |