Skip to content

Commit

Permalink
Update semaphore.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
anchitj committed Nov 26, 2024
1 parent b4817f8 commit 8f9dc66
Showing 1 changed file with 38 additions and 50 deletions.
88 changes: 38 additions & 50 deletions .semaphore/semaphore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ version: v1.0
name: 'librdkafka build and release artifact pipeline'
agent:
machine:
type: s1-prod-macos-arm64
type: s1-prod-macos-13-5-arm64
execution_time_limit:
hours: 3
global_job_config:
prologue:
commands:
Expand All @@ -15,7 +17,7 @@ blocks:
task:
agent:
machine:
type: s1-prod-macos-arm64
type: s1-prod-macos-13-5-arm64
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-osx__arch-arm64__lnk-all
Expand All @@ -41,7 +43,7 @@ blocks:
task:
agent:
machine:
type: s1-prod-macos
type: s1-prod-macos-13-5-amd64
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-osx__arch-x64__lnk-all
Expand Down Expand Up @@ -108,14 +110,23 @@ blocks:
env_vars:
- name: CFLAGS
value: -std=gnu90 # Test minimum C standard, default in CentOS 7
prologue:
commands:
- '[[ -z $DOCKERHUB_APIKEY ]] || docker login --username $DOCKERHUB_USER --password $DOCKERHUB_APIKEY'
jobs:
- name: 'Build configuration checks'
commands:
- wget -O rapidjson-dev.deb https://launchpad.net/ubuntu/+archive/primary/+files/rapidjson-dev_1.1.0+dfsg2-3_all.deb
- sudo dpkg -i rapidjson-dev.deb
- python3 -m pip install -U pip
- ./packaging/tools/build-configurations-checks.sh
- name: 'Build and integration tests'
commands:
- wget -O rapidjson-dev.deb https://launchpad.net/ubuntu/+archive/primary/+files/rapidjson-dev_1.1.0+dfsg2-3_all.deb
- sudo dpkg -i rapidjson-dev.deb
- python3 -m pip install -U pip
- python3 -m pip -V
- python3 -m pip install -r tests/requirements.txt
- (cd tests && python3 -m pip install -r requirements.txt)
- ./configure --install-deps
# split these up
- ./packaging/tools/rdutcoverage.sh
Expand All @@ -140,51 +151,40 @@ blocks:
agent:
machine:
type: s1-prod-ubuntu20-04-amd64-2
prologue:
commands:
- '[[ -z $DOCKERHUB_APIKEY ]] || docker login --username $DOCKERHUB_USER --password $DOCKERHUB_APIKEY'
epilogue:
commands:
- '[[ -z $SEMAPHORE_GIT_TAG_NAME ]] || artifact push workflow artifacts/ --destination artifacts/${ARTIFACT_KEY}/'
jobs:
- name: 'Build: centos6 glibc +gssapi'
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-linux__dist-centos6__arch-x64__lnk-std__extra-gssapi
commands:
- packaging/tools/build-release-artifacts.sh quay.io/pypa/manylinux2010_x86_64 artifacts/librdkafka.tgz

- name: 'Build: centos6 glibc'
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-linux__dist-centos6__arch-x64__lnk-all
commands:
- packaging/tools/build-release-artifacts.sh --disable-gssapi quay.io/pypa/manylinux2010_x86_64 artifacts/librdkafka.tgz

- name: 'Build: centos7 glibc +gssapi'
- name: 'Build: centos8 glibc +gssapi'
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-linux__dist-centos7__arch-x64__lnk-std__extra-gssapi
value: p-librdkafka__plat-linux__dist-centos8__arch-x64__lnk-std__extra-gssapi
commands:
- packaging/tools/build-release-artifacts.sh quay.io/pypa/manylinux2014_x86_64 artifacts/librdkafka.tgz
- packaging/tools/build-release-artifacts.sh quay.io/pypa/manylinux_2_28_x86_64:2024.07.01-1 artifacts/librdkafka.tgz

- name: 'Build: centos7 glibc'
- name: 'Build: centos8 glibc'
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-linux__dist-centos7__arch-x64__lnk-all
value: p-librdkafka__plat-linux__dist-centos8__arch-x64__lnk-all
commands:
- packaging/tools/build-release-artifacts.sh --disable-gssapi quay.io/pypa/manylinux2014_x86_64 artifacts/librdkafka.tgz
- packaging/tools/build-release-artifacts.sh --disable-gssapi quay.io/pypa/manylinux_2_28_x86_64:2024.07.01-1 artifacts/librdkafka.tgz

- name: 'Build: alpine musl +gssapi'
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-linux__dist-alpine__arch-x64__lnk-std__extra-gssapi
commands:
- packaging/tools/build-release-artifacts.sh alpine:3.16 artifacts/librdkafka.tgz
- packaging/tools/build-release-artifacts.sh alpine:3.16.9 artifacts/librdkafka.tgz

- name: 'Build: alpine musl'
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-linux__dist-alpine__arch-x64__lnk-all
commands:
- packaging/tools/build-release-artifacts.sh --disable-gssapi alpine:3.16 artifacts/librdkafka.tgz
- packaging/tools/build-release-artifacts.sh --disable-gssapi alpine:3.16.9 artifacts/librdkafka.tgz


- name: 'Linux arm64: release artifact docker builds'
Expand All @@ -193,37 +193,40 @@ blocks:
agent:
machine:
type: s1-prod-ubuntu20-04-arm64-1
prologue:
commands:
- '[[ -z $DOCKERHUB_APIKEY ]] || docker login --username $DOCKERHUB_USER --password $DOCKERHUB_APIKEY'
epilogue:
commands:
- '[[ -z $SEMAPHORE_GIT_TAG_NAME ]] || artifact push workflow artifacts/ --destination artifacts/${ARTIFACT_KEY}/'
jobs:
- name: 'Build: centos7 glibc +gssapi'
- name: 'Build: centos8 glibc +gssapi'
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-linux__dist-centos7__arch-arm64__lnk-std__extra-gssapi
value: p-librdkafka__plat-linux__dist-centos8__arch-arm64__lnk-std__extra-gssapi
commands:
- packaging/tools/build-release-artifacts.sh quay.io/pypa/manylinux2014_aarch64 artifacts/librdkafka.tgz
- packaging/tools/build-release-artifacts.sh quay.io/pypa/manylinux_2_28_aarch64:2024.07.01-1 artifacts/librdkafka.tgz

- name: 'Build: centos7 glibc'
- name: 'Build: centos8 glibc'
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-linux__dist-centos7__arch-arm64__lnk-all
value: p-librdkafka__plat-linux__dist-centos8__arch-arm64__lnk-all
commands:
- packaging/tools/build-release-artifacts.sh --disable-gssapi quay.io/pypa/manylinux2014_aarch64 artifacts/librdkafka.tgz
- packaging/tools/build-release-artifacts.sh --disable-gssapi quay.io/pypa/manylinux_2_28_aarch64:2024.07.01-1 artifacts/librdkafka.tgz

- name: 'Build: alpine musl +gssapi'
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-linux__dist-alpine__arch-arm64__lnk-all__extra-gssapi
commands:
- packaging/tools/build-release-artifacts.sh alpine:3.16 artifacts/librdkafka.tgz
- packaging/tools/build-release-artifacts.sh alpine:3.16.9 artifacts/librdkafka.tgz

- name: 'Build: alpine musl'
env_vars:
- name: ARTIFACT_KEY
value: p-librdkafka__plat-linux__dist-alpine__arch-arm64__lnk-all
commands:
- packaging/tools/build-release-artifacts.sh --disable-gssapi alpine:3.16 artifacts/librdkafka.tgz
- packaging/tools/build-release-artifacts.sh --disable-gssapi alpine:3.16.9 artifacts/librdkafka.tgz


- name: 'Windows x64: MinGW-w64'
Expand All @@ -239,11 +242,8 @@ blocks:
value: UCRT64
prologue:
commands:
- cache restore msys2-x64-${Env:ARTIFACT_KEY}
# Set up msys2
- "& .\\win32\\setup-msys2.ps1"
- cache delete msys2-x64-${Env:ARTIFACT_KEY}
- cache store msys2-x64-${Env:ARTIFACT_KEY} c:/msys64
epilogue:
commands:
- if ($env:SEMAPHORE_GIT_TAG_NAME -ne "") { artifact push workflow artifacts/ --destination artifacts/$Env:ARTIFACT_KEY/ }
Expand Down Expand Up @@ -275,25 +275,13 @@ blocks:
prologue:
commands:
# install vcpkg in the parent directory.
- pwd
- cd ..
# Restore vcpkg caches, if any.
- cache restore vcpkg-archives-$Env:ARTIFACT_KEY
# Setup vcpkg
- "& .\\librdkafka\\win32\\setup-vcpkg.ps1"
- cd librdkafka
- ..\vcpkg\vcpkg integrate install
# Install required packages.
- ..\vcpkg\vcpkg --feature-flags=versions install --triplet $Env:triplet
- cd ..
- pwd
# Store vcpkg caches
- ls vcpkg/
- echo $Env:VCPKG_ROOT
- cache delete vcpkg-archives-$Env:ARTIFACT_KEY
- cache store vcpkg-archives-$Env:ARTIFACT_KEY C:/Users/semaphore/AppData/Local/vcpkg/archives
- pwd
- cd librdkafka
epilogue:
commands:
- Get-ChildItem . -include *.dll -recurse
Expand Down Expand Up @@ -364,4 +352,4 @@ blocks:
- cd ..
# Upload all packages to project artifact store
- artifact push project packages --destination librdkafka-packages-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}
- echo Thank you
- echo Thank you

0 comments on commit 8f9dc66

Please sign in to comment.