Skip to content

Commit

Permalink
s3 bucket upload
Browse files Browse the repository at this point in the history
  • Loading branch information
ebelfarsi committed Jul 8, 2024
1 parent 3fda554 commit ed27cc0
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 334 deletions.
334 changes: 2 additions & 332 deletions .github/workflows/build-assets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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:
Expand Down Expand Up @@ -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 }}
Expand Down
Loading

0 comments on commit ed27cc0

Please sign in to comment.