forked from hpcc-systems/HPCC-Platform
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
25 additions
and
334 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -76,16 +76,6 @@ jobs: | |
generateReleaseNotes: false | ||
prerelease: ${{ contains(github.ref, '-rc') }} | ||
|
||
- name: Release LN | ||
uses: ncipollo/[email protected] | ||
with: | ||
allowUpdates: true | ||
generateReleaseNotes: false | ||
prerelease: ${{ contains(github.ref, '-rc') }} | ||
owner: ${{ secrets.LNB_ACTOR }} | ||
repo: LN | ||
token: ${{ secrets.LNB_TOKEN }} | ||
tag: ${{ steps.vars.outputs.internal_tag }} | ||
|
||
build-docker: | ||
name: Build Docker | ||
|
@@ -95,48 +85,7 @@ jobs: | |
matrix: | ||
include: | ||
- os: ubuntu-22.04 | ||
- os: ubuntu-22.04 | ||
name: k8s | ||
container: true | ||
- os: ubuntu-22.04 | ||
name: docs | ||
documentation: true | ||
- os: ubuntu-20.04 | ||
- os: centos-8 | ||
- os: centos-7 | ||
cmake_options_extra: "-DVCPKG_TARGET_TRIPLET=x64-centos-7-dynamic" | ||
- os: amazonlinux | ||
cmake_options_extra: "-DVCPKG_TARGET_TRIPLET=x64-amazonlinux-dynamic" | ||
- os: rockylinux-8 | ||
- os: ubuntu-22.04 | ||
name: LN k8s | ||
ln: true | ||
container: true | ||
- os: ubuntu-22.04 | ||
name: LN | ||
ln: true | ||
- os: ubuntu-22.04 | ||
name: Enterprise | ||
ee: true | ||
- os: ubuntu-20.04 | ||
name: LN | ||
ln: true | ||
- os: centos-8 | ||
name: LN | ||
cmake_options_extra: "" | ||
ln: true | ||
- os: centos-7 | ||
name: LN | ||
cmake_options_extra: "-DVCPKG_TARGET_TRIPLET=x64-centos-7-dynamic" | ||
ln: true | ||
- os: rockylinux-8 | ||
name: LN | ||
cmake_options_extra: "" | ||
ln: true | ||
- os: centos-7-rh-python38 | ||
name: LN Python 3.8 | ||
cmake_options_extra: "-DVCPKG_TARGET_TRIPLET=x64-centos-7-dynamic -DCUSTOM_LABEL=_rh_python38" | ||
ln: true | ||
|
||
fail-fast: false | ||
|
||
steps: | ||
|
@@ -475,287 +424,8 @@ jobs: | |
name: ${{ matrix.os }}-${{ matrix.ln }}-${{ matrix.container }}-${{ matrix.documentation }}-logs | ||
path: ${{ needs.preamble.outputs.folder_build }}/**/*.log | ||
|
||
build-bare-metal: | ||
name: Build Bare Metal | ||
# if: github.repository == 'hpcc-systems/HPCC-Platform' | ||
needs: preamble | ||
strategy: | ||
matrix: | ||
include: | ||
- os: "windows-2022" | ||
mono: "" | ||
sudo: "" | ||
cmake_config_options: '-T host=x64 -A x64 -DUSE_OPTIONAL=OFF -DCLIENTTOOLS_ONLY=ON -DUSE_AZURE=OFF -DUSE_CASSANDRA=OFF -DUSE_PARQUET=OFF -DUSE_JAVA=OFF -DUSE_OPENLDAP=OFF' | ||
cmake_build_options: "--config Release --parallel $NUMBER_OF_PROCESSORS" | ||
- os: "macos-12" | ||
mono: "mono" | ||
sudo: "sudo" | ||
cmake_config_options: "-DCMAKE_BUILD_TYPE=Release -DUSE_OPTIONAL=OFF -DCLIENTTOOLS_ONLY=ON -DUSE_AZURE=OFF -DUSE_CASSANDRA=OFF -DUSE_PARQUET=OFF -DUSE_JAVA=OFF -DUSE_OPENLDAP=OFF" | ||
cmake_build_options: "--parallel $(nproc)" | ||
fail-fast: false | ||
|
||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Print vars | ||
shell: "bash" | ||
run: | | ||
echo ${{ matrix.os }} | ||
echo "${{ toJSON(needs.preamble.outputs) }})" | ||
- name: OSX Dependencies | ||
if: ${{ contains(matrix.os, 'macos') }} | ||
shell: "bash" | ||
run: | | ||
brew install bison flex pkg-config autoconf autoconf-archive automake libtool cmake openjdk@11 | ||
- name: "Remove builtin vcpkg (old)" | ||
working-directory: . | ||
shell: "bash" | ||
run: | | ||
${{ matrix.sudo }} rm -rf "$VCPKG_INSTALLATION_ROOT" | ||
- name: Checkout HPCC-Platform | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ needs.preamble.outputs.community_ref }} | ||
submodules: recursive | ||
path: ./HPCC-Platform | ||
|
||
- name: Checkout LN | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: ${{ github.repository_owner }}/LN | ||
token: ${{ secrets.LNB_TOKEN }} | ||
ref: ${{ needs.preamble.outputs.internal_ref }} | ||
submodules: recursive | ||
path: ./LN | ||
|
||
- name: "Create code signing" | ||
if: ${{ contains(matrix.os,'windows') }} | ||
shell: "pwsh" | ||
run: | | ||
mkdir -p ./sign | ||
cd sign | ||
$pfxPath = "hpcc_code_signing.pfx" | ||
$encodedBytes = [System.Convert]::FromBase64String("${{ secrets.SIGNING_CERTIFICATE }}") | ||
$currentDirectory = Get-Location | ||
$certificatePath = Join-Path -Path $currentDirectory -ChildPath $pfxPath | ||
[IO.File]::WriteAllBytes("$certificatePath", $encodedBytes) | ||
CertUtil -p ${{ secrets.SIGNING_CERTIFICATE_PASSPHRASE }} hpcc_code_signing.pfx | ||
- name: "vcpkg Bootstrap" | ||
shell: "bash" | ||
run: | | ||
./HPCC-Platform/vcpkg/bootstrap-vcpkg.sh | ||
- name: "Setup NuGet credentials" | ||
shell: "bash" | ||
run: | | ||
${{ matrix.mono }} `./HPCC-Platform/vcpkg/vcpkg fetch nuget | tail -n 1` \ | ||
sources add \ | ||
-name "GitHub" \ | ||
-source "https://nuget.pkg.github.com/hpcc-systems/index.json" \ | ||
-storepasswordincleartext \ | ||
-username "${{ github.repository_owner }}" \ | ||
-password "${{ secrets.GITHUB_TOKEN }}" | ||
- name: CMake Packages | ||
shell: "bash" | ||
run: | | ||
mkdir -p ./build | ||
cmake -S ./HPCC-Platform -B ./build ${{ matrix.cmake_config_options }} | ||
cmake --build ./build ${{ matrix.cmake_build_options }} --target package | ||
- name: Sign Windows Package | ||
if: ${{ contains(matrix.os,'windows') }} | ||
shell: "pwsh" | ||
run: | | ||
cd ./build | ||
C:\"Program Files (x86)"\"Microsoft SDKs"\ClickOnce\SignTool\signtool.exe sign /debug /f ../sign/hpcc_code_signing.pfx /p ${{ secrets.SIGNING_CERTIFICATE_PASSPHRASE }} /t http://timestamp.digicert.com /fd SHA256 hpccsystems-clienttools*.exe | ||
- name: Upload Artifact for ECLIDE build | ||
if: ${{ contains(matrix.os, 'windows') }} | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: Windows-Clienttools | ||
path: ./build/hpccsystems-clienttools*.exe | ||
compression-level: 0 | ||
|
||
- name: Upload Assets | ||
uses: ncipollo/[email protected] | ||
with: | ||
allowUpdates: true | ||
generateReleaseNotes: false | ||
prerelease: ${{ contains(github.ref, '-rc') }} | ||
artifacts: "./build/*.exe,./build/*.msi,./build/*.dmg,./build/*.pkg,./build/*.tar.gz" | ||
|
||
- name: CMake LN Packages | ||
shell: "bash" | ||
run: | | ||
${{ matrix.sudo }} rm -f ./build/CMakeCache.txt | ||
${{ matrix.sudo }} rm -rf ./build/CMakeFiles | ||
cmake -S ./LN -B ./build ${{ matrix.cmake_config_options }} | ||
cmake --build ./build ${{ matrix.cmake_build_options }} --target package | ||
- name: Sign LN Windows Package | ||
if: ${{ contains(matrix.os,'windows') }} | ||
shell: "pwsh" | ||
run: | | ||
cd ./build | ||
C:\"Program Files (x86)"\"Microsoft SDKs"\ClickOnce\SignTool\signtool.exe sign /debug /f ../sign/hpcc_code_signing.pfx /p ${{ secrets.SIGNING_CERTIFICATE_PASSPHRASE }} /t http://timestamp.digicert.com /fd SHA256 hpccsystems-clienttools*.exe | ||
- name: Upload LN Assets | ||
uses: ncipollo/[email protected] | ||
with: | ||
allowUpdates: true | ||
generateReleaseNotes: false | ||
prerelease: ${{ contains(github.ref, '-rc') }} | ||
owner: ${{ secrets.LNB_ACTOR }} | ||
repo: LN | ||
token: ${{ secrets.LNB_TOKEN }} | ||
tag: ${{ needs.preamble.outputs.internal_tag }} | ||
artifacts: "./build/hpccsystems-clienttools-internal*.exe,./build/hpccsystems-clienttools-internal*.msi,./build/hpccsystems-clienttools-internal*.dmg,./build/hpccsystems-clienttools-internal*.pkg,./build/hpccsystems-clienttools-internal*.tar.gz" | ||
|
||
- name: Upload Assets to Jfrog (windows) | ||
if: ${{ contains(matrix.os, 'windows') && github.repository_owner == 'hpcc-systems' }} | ||
shell: bash | ||
run: | | ||
cd ./build | ||
packages=($(ls -1 hpccsystems-*.exe )) | ||
for _package in ${packages[@]}; do | ||
curl -u${{ secrets.JFROG_USERNAME }}:${{ secrets.JFROG_PASSWORD }} "https://${{ secrets.JFROG_REGISTRY }}/hpccpl-windows-local/LN/windows/x86_64/${_package}" -T ${_package} | ||
done | ||
- name: Upload Assets to Jfrog (macos) | ||
if: ${{ contains(matrix.os, 'macos') && github.repository_owner == 'hpcc-systems' }} | ||
shell: bash | ||
run: | | ||
cd ./build | ||
packages=($(ls -1 hpccsystems-*.pkg )) | ||
for _package in ${packages[@]}; do | ||
curl -u${{ secrets.JFROG_USERNAME }}:${{ secrets.JFROG_PASSWORD }} "https://${{ secrets.JFROG_REGISTRY }}/hpccpl-macos-local/LN/macos/x86_64/${_package}" -T ${_package} | ||
done | ||
- name: Upload error logs | ||
if: ${{ failure() || cancelled() }} | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: ${{ matrix.os }}-logs | ||
path: ./build/**/*.log | ||
|
||
build-bare-metal-eclide: | ||
name: Build Bare Metal ECLIDE | ||
needs: [ preamble, build-docker, build-bare-metal ] | ||
runs-on: "windows-2022" | ||
steps: | ||
- name: Print vars | ||
shell: "bash" | ||
run: | | ||
echo "${{ toJSON(needs.preamble.outputs) }})" | ||
- name: Checkout HPCC-Platform | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ needs.preamble.outputs.community_ref }} | ||
submodules: recursive | ||
path: ./HPCC-Platform | ||
|
||
- name: Checkout ECLIDE | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: ${{ github.repository_owner }}/ECLIDE | ||
ref: ${{ needs.preamble.outputs.eclide_ref }} | ||
submodules: recursive | ||
path: ./ECLIDE | ||
fetch-depth: 0 | ||
|
||
- name: "Install html-help-workshop" | ||
shell: "bash" | ||
run: | | ||
choco install html-help-workshop | ||
mkdir -p ./ECLIDE/docs }} | ||
- name: "Fetch html artifacts" | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: html-help-documents | ||
merge-multiple: true | ||
|
||
- name: "Fetch clienttools artifact" | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: Windows-Clienttools | ||
merge-multiple: true | ||
|
||
- name: "Create EN_US CHM file" | ||
shell: "bash" | ||
run: | | ||
html_doc=$(find . -type f -name "html_help_EN_US-*") | ||
mkdir html_help_EN_US | ||
7z x $html_doc -ohtml_help_EN_US | ||
cd html_help_EN_US/html_help | ||
# Chocolate install a package but it is not in PATH variable. Use path full of hhc.exe | ||
# hhc.exe return non-zero. Appending "true" to work-around | ||
C:/"Program Files (x86)"/"HTML Help Workshop"/hhc.exe htmlhelp.hhp || true | ||
mv htmlhelp.chm ECLReference.chm | ||
cp ECLReference.chm ../../ECLIDE/docs/ | ||
- name: "Create PT_BR CHM file" | ||
shell: "bash" | ||
run: | | ||
html_doc=$(find . -type f -name "html_help_PT_BR-*") | ||
mkdir html_help_PT_BR | ||
7z x $html_doc -ohtml_help_PT_BR | ||
cd html_help_PT_BR/html_help | ||
# Chocolate install a package but it is not in PATH variable. Use path full of hhc.exe | ||
# hhc.exe return non-zero. Appending "true" to work-around | ||
C:/"Program Files (x86)"/"HTML Help Workshop"/hhc.exe htmlhelp.hhp || true | ||
mv htmlhelp.chm ECLReference_PT_BR.chm | ||
cp ECLReference_PT_BR.chm ../../ECLIDE/docs/ | ||
- name: "Load code signing" | ||
shell: "pwsh" | ||
run: | | ||
mkdir -p ./sign | ||
cd sign | ||
$pfxPath = "hpcc_code_signing.pfx" | ||
$encodedBytes = [System.Convert]::FromBase64String("${{ secrets.SIGNING_CERTIFICATE }}") | ||
$currentDirectory = Get-Location | ||
$certificatePath = Join-Path -Path $currentDirectory -ChildPath $pfxPath | ||
[IO.File]::WriteAllBytes("$certificatePath", $encodedBytes) | ||
CertUtil -p ${{ secrets.SIGNING_CERTIFICATE_PASSPHRASE }} hpcc_code_signing.pfx | ||
- name: "Build ECLIDE" | ||
run: | | ||
cd ECLIDE | ||
mkdir -p ./build | ||
cd ./build | ||
cmake -A Win32 -S ../ -B . | ||
cmake --build . --config RelWithDebInfo --target package --parallel | ||
- name: Sign ECLIDE Package | ||
shell: "pwsh" | ||
run: | | ||
cd ./ECLIDE/build | ||
C:\"Program Files (x86)"\"Microsoft SDKs"\ClickOnce\SignTool\signtool.exe sign /debug /f ../../sign/hpcc_code_signing.pfx /p ${{ secrets.SIGNING_CERTIFICATE_PASSPHRASE}} /t http://timestamp.digicert.com /fd SHA256 hpccsystems-eclide*.exe | ||
- name: Upload Assets | ||
uses: ncipollo/[email protected] | ||
with: | ||
allowUpdates: true | ||
generateReleaseNotes: false | ||
prerelease: ${{ contains(github.ref, '-rc') }} | ||
artifacts: "./ECLIDE/build/*.exe" | ||
|
||
- name: Upload error logs | ||
if: ${{ failure() || cancelled() }} | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: windows-2022-logs | ||
path: ./ECLIDE/build/**/*.log | ||
|
||
run-package-manifest: | ||
needs: [ preamble, build-docker, build-bare-metal, build-bare-metal-eclide ] | ||
needs: [ preamble, build-docker ] | ||
uses: ./.github/workflows/package-manifests.yml | ||
with: | ||
tag: ${{ needs.preamble.outputs.community_tag }} | ||
|
Oops, something went wrong.