Skip to content

CI/CD: build packages [3] #116

CI/CD: build packages [3]

CI/CD: build packages [3] #116

# WARNING: DO NOT EDIT THIS FILE!!!
#
# This file is autogenerated from .github/workflows/ci-cd-build-packages.yml.erb
# by ./internal-scripts/generate-ci-cd-yaml.rb.
# Please edit the .erb file instead, then regenerate YAML
# by running that script.
#
# TIP: run this on your development machine to ensure generate-ci-cd-yaml.rb
# is run automatically as a Git pre-commit hook:
#
# git config core.hooksPath .githooks
name: 'CI/CD: build packages [3]'
on:
workflow_dispatch:
inputs:
ci_artifacts_run_number:
required: false
check_id:
required: false
push:
branches:
- fix/cicd-new-workflows
env:
CI_ARTIFACTS_BUCKET: fullstaq-ruby-server-edition-ci-artifacts
CI_ARTIFACTS_RUN_NUMBER: ${{ github.event.inputs.ci_artifacts_run_number || github.run_number }}
CACHE_CONTAINER: server-edition-ci-cache
jobs:
# Determines which jobs should be run, or (in case this is a re-run)
# which jobs can be skipped this time because the last run succeeded.
# We determine this by checking whether the artifacts produced by jobs
# exist in this run.
determine_necessary_jobs:
name: Determine necessary jobs
runs-on: ubuntu-22.04
permissions:
checks: write
packages: read
outputs:
necessary_jobs: ${{ steps.check.outputs.necessary_jobs }}
steps:
- name: Workaround for detecting new workflows in branches
run: |
echo 'New workflow detected. Please delete the fix/cicd-new-workflows branch now.'
exit 1
if: github.event_name == 'push'
- name: Dump inputs
run: echo "$INPUTS"
env:
INPUTS: ${{ toJSON(github.event.inputs) }}
- name: Mark check as 'in progress'
uses: LouisBrunner/checks-action@3d24d4813a797720cc4e2080a50bdafb3373aef1
if: github.event.inputs.check_id
with:
token: ${{ secrets.GITHUB_TOKEN }}
check_id: ${{ github.event.inputs.check_id }}
status: in_progress
details_url: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
output: |
{
"summary": "Packages are built in another workflow.\n[**➜ See workflow run #${{ github.run_id }} for logs**](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})"
}
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
- name: List artifacts built in previous try of same CI run
run: ./internal-scripts/ci-cd/determine-necessary-jobs/list-artifacts.sh
- name: Determine necessary jobs
id: check
run: ./internal-scripts/ci-cd/determine-necessary-jobs/determine-necessary-jobs.rb
env:
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
### Jemalloc ###
build_jemalloc_debian_11:
name: 'Build Jemalloc [debian-11]'
runs-on: ubuntu-22.04
permissions:
packages: read
needs:
- determine_necessary_jobs
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [debian-11];')
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- run: mkdir cache
- name: Download source
run: ./internal-scripts/ci-cd/build-jemalloc-binaries/download-source.sh
env:
JEMALLOC_VERSION: "3.6.0"
- name: Build
run: ./internal-scripts/ci-cd/build-jemalloc-binaries/build.sh
env:
ENVIRONMENT_NAME: 'debian-11'
CACHE_KEY_PREFIX: 'sccache/debian-11'
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: 'jemalloc-bin-debian-11'
ARTIFACT_PATH: output
build_jemalloc_ubuntu_22_04:
name: 'Build Jemalloc [ubuntu-22.04]'
runs-on: ubuntu-22.04
permissions:
packages: read
needs:
- determine_necessary_jobs
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [ubuntu-22.04];')
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- run: mkdir cache
- name: Download source
run: ./internal-scripts/ci-cd/build-jemalloc-binaries/download-source.sh
env:
JEMALLOC_VERSION: "3.6.0"
- name: Build
run: ./internal-scripts/ci-cd/build-jemalloc-binaries/build.sh
env:
ENVIRONMENT_NAME: 'ubuntu-22.04'
CACHE_KEY_PREFIX: 'sccache/ubuntu-22.04'
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: 'jemalloc-bin-ubuntu-22.04'
ARTIFACT_PATH: output
### Ruby ###
build_ruby_debian_11-3_3-normal:
name: 'Build Ruby [debian-11/3.3/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.3"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3"
RUBY_PACKAGE_REVISION: "4"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3_debian-11_normal"
ARTIFACT_PATH: output-normal
build_ruby_debian_11-3_3-jemalloc:
name: 'Build Ruby [debian-11/3.3/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_debian_11
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [debian-11]' did not fail
run: 'false'
if: |
needs.build_jemalloc_debian_11.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [debian-11];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-debian-11
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.3"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3"
RUBY_PACKAGE_REVISION: "4"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3_debian-11_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_debian_11-3_3-malloctrim:
name: 'Build Ruby [debian-11/3.3/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.3"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3"
RUBY_PACKAGE_REVISION: "4"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3_debian-11_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_debian_11-3_2-normal:
name: 'Build Ruby [debian-11/3.2/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.2"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2"
RUBY_PACKAGE_REVISION: "7"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2_debian-11_normal"
ARTIFACT_PATH: output-normal
build_ruby_debian_11-3_2-jemalloc:
name: 'Build Ruby [debian-11/3.2/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_debian_11
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [debian-11]' did not fail
run: 'false'
if: |
needs.build_jemalloc_debian_11.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [debian-11];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-debian-11
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.2"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2"
RUBY_PACKAGE_REVISION: "7"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2_debian-11_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_debian_11-3_2-malloctrim:
name: 'Build Ruby [debian-11/3.2/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.2"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2"
RUBY_PACKAGE_REVISION: "7"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2_debian-11_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_debian_11-3_1-normal:
name: 'Build Ruby [debian-11/3.1/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.1"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1"
RUBY_PACKAGE_REVISION: "15"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1_debian-11_normal"
ARTIFACT_PATH: output-normal
build_ruby_debian_11-3_1-jemalloc:
name: 'Build Ruby [debian-11/3.1/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_debian_11
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [debian-11]' did not fail
run: 'false'
if: |
needs.build_jemalloc_debian_11.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [debian-11];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-debian-11
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.1"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1"
RUBY_PACKAGE_REVISION: "15"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1_debian-11_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_debian_11-3_1-malloctrim:
name: 'Build Ruby [debian-11/3.1/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.1"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1"
RUBY_PACKAGE_REVISION: "15"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1_debian-11_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_debian_11-3_0-normal:
name: 'Build Ruby [debian-11/3.0/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.0.7
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.0"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.0"
RUBY_PACKAGE_REVISION: "13"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.0_debian-11_normal"
ARTIFACT_PATH: output-normal
build_ruby_debian_11-3_0-jemalloc:
name: 'Build Ruby [debian-11/3.0/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_debian_11
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [debian-11]' did not fail
run: 'false'
if: |
needs.build_jemalloc_debian_11.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [debian-11];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.0.7
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-debian-11
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.0"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.0"
RUBY_PACKAGE_REVISION: "13"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.0_debian-11_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_debian_11-3_0-malloctrim:
name: 'Build Ruby [debian-11/3.0/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.0.7
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.0"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.0"
RUBY_PACKAGE_REVISION: "13"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.0_debian-11_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_debian_11-3_3_4-normal:
name: 'Build Ruby [debian-11/3.3.4/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3.4/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3.4_debian-11_normal"
ARTIFACT_PATH: output-normal
build_ruby_debian_11-3_3_4-jemalloc:
name: 'Build Ruby [debian-11/3.3.4/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_debian_11
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3.4/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [debian-11]' did not fail
run: 'false'
if: |
needs.build_jemalloc_debian_11.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [debian-11];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-debian-11
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3.4_debian-11_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_debian_11-3_3_4-malloctrim:
name: 'Build Ruby [debian-11/3.3.4/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3.4/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3.4_debian-11_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_debian_11-3_2_4-normal:
name: 'Build Ruby [debian-11/3.2.4/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2.4/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2.4_debian-11_normal"
ARTIFACT_PATH: output-normal
build_ruby_debian_11-3_2_4-jemalloc:
name: 'Build Ruby [debian-11/3.2.4/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_debian_11
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2.4/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [debian-11]' did not fail
run: 'false'
if: |
needs.build_jemalloc_debian_11.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [debian-11];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-debian-11
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2.4_debian-11_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_debian_11-3_2_4-malloctrim:
name: 'Build Ruby [debian-11/3.2.4/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2.4/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2.4_debian-11_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_debian_11-3_1_6-normal:
name: 'Build Ruby [debian-11/3.1.6/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1.6/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1.6_debian-11_normal"
ARTIFACT_PATH: output-normal
build_ruby_debian_11-3_1_6-jemalloc:
name: 'Build Ruby [debian-11/3.1.6/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_debian_11
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1.6/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [debian-11]' did not fail
run: 'false'
if: |
needs.build_jemalloc_debian_11.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [debian-11];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-debian-11
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1.6_debian-11_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_debian_11-3_1_6-malloctrim:
name: 'Build Ruby [debian-11/3.1.6/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1.6/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1.6_debian-11_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_debian_11-3_0_7-normal:
name: 'Build Ruby [debian-11/3.0.7/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0.7/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.0.7
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.0.7"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.0.7"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.0.7_debian-11_normal"
ARTIFACT_PATH: output-normal
build_ruby_debian_11-3_0_7-jemalloc:
name: 'Build Ruby [debian-11/3.0.7/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_debian_11
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0.7/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [debian-11]' did not fail
run: 'false'
if: |
needs.build_jemalloc_debian_11.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [debian-11];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.0.7
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-debian-11
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.0.7"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.0.7"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.0.7_debian-11_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_debian_11-3_0_7-malloctrim:
name: 'Build Ruby [debian-11/3.0.7/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0.7/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.0.7
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image debian-11;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.0.7"
CACHE_KEY_PREFIX: "sccache/debian-11"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "debian-11"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.0.7"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.0.7_debian-11_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_ubuntu_22_04-3_3-normal:
name: 'Build Ruby [ubuntu-22.04/3.3/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.3"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3"
RUBY_PACKAGE_REVISION: "4"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3_ubuntu-22.04_normal"
ARTIFACT_PATH: output-normal
build_ruby_ubuntu_22_04-3_3-jemalloc:
name: 'Build Ruby [ubuntu-22.04/3.3/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_ubuntu_22_04
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [ubuntu-22.04]' did not fail
run: 'false'
if: |
needs.build_jemalloc_ubuntu_22_04.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [ubuntu-22.04];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-ubuntu-22.04
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.3"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3"
RUBY_PACKAGE_REVISION: "4"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3_ubuntu-22.04_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_ubuntu_22_04-3_3-malloctrim:
name: 'Build Ruby [ubuntu-22.04/3.3/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.3"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3"
RUBY_PACKAGE_REVISION: "4"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3_ubuntu-22.04_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_ubuntu_22_04-3_2-normal:
name: 'Build Ruby [ubuntu-22.04/3.2/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.2"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2"
RUBY_PACKAGE_REVISION: "7"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2_ubuntu-22.04_normal"
ARTIFACT_PATH: output-normal
build_ruby_ubuntu_22_04-3_2-jemalloc:
name: 'Build Ruby [ubuntu-22.04/3.2/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_ubuntu_22_04
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [ubuntu-22.04]' did not fail
run: 'false'
if: |
needs.build_jemalloc_ubuntu_22_04.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [ubuntu-22.04];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-ubuntu-22.04
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.2"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2"
RUBY_PACKAGE_REVISION: "7"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2_ubuntu-22.04_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_ubuntu_22_04-3_2-malloctrim:
name: 'Build Ruby [ubuntu-22.04/3.2/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.2"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2"
RUBY_PACKAGE_REVISION: "7"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2_ubuntu-22.04_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_ubuntu_22_04-3_1-normal:
name: 'Build Ruby [ubuntu-22.04/3.1/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.1"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1"
RUBY_PACKAGE_REVISION: "15"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1_ubuntu-22.04_normal"
ARTIFACT_PATH: output-normal
build_ruby_ubuntu_22_04-3_1-jemalloc:
name: 'Build Ruby [ubuntu-22.04/3.1/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_ubuntu_22_04
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [ubuntu-22.04]' did not fail
run: 'false'
if: |
needs.build_jemalloc_ubuntu_22_04.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [ubuntu-22.04];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-ubuntu-22.04
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.1"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1"
RUBY_PACKAGE_REVISION: "15"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1_ubuntu-22.04_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_ubuntu_22_04-3_1-malloctrim:
name: 'Build Ruby [ubuntu-22.04/3.1/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.1"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1"
RUBY_PACKAGE_REVISION: "15"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1_ubuntu-22.04_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_ubuntu_22_04-3_3_4-normal:
name: 'Build Ruby [ubuntu-22.04/3.3.4/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3.4/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3.4_ubuntu-22.04_normal"
ARTIFACT_PATH: output-normal
build_ruby_ubuntu_22_04-3_3_4-jemalloc:
name: 'Build Ruby [ubuntu-22.04/3.3.4/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_ubuntu_22_04
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3.4/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [ubuntu-22.04]' did not fail
run: 'false'
if: |
needs.build_jemalloc_ubuntu_22_04.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [ubuntu-22.04];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-ubuntu-22.04
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3.4_ubuntu-22.04_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_ubuntu_22_04-3_3_4-malloctrim:
name: 'Build Ruby [ubuntu-22.04/3.3.4/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3.4/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.3.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.3.4_ubuntu-22.04_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_ubuntu_22_04-3_2_4-normal:
name: 'Build Ruby [ubuntu-22.04/3.2.4/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2.4/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2.4_ubuntu-22.04_normal"
ARTIFACT_PATH: output-normal
build_ruby_ubuntu_22_04-3_2_4-jemalloc:
name: 'Build Ruby [ubuntu-22.04/3.2.4/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_ubuntu_22_04
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2.4/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [ubuntu-22.04]' did not fail
run: 'false'
if: |
needs.build_jemalloc_ubuntu_22_04.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [ubuntu-22.04];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-ubuntu-22.04
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2.4_ubuntu-22.04_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_ubuntu_22_04-3_2_4-malloctrim:
name: 'Build Ruby [ubuntu-22.04/3.2.4/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2.4/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.4
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.2.4"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.2.4_ubuntu-22.04_malloctrim"
ARTIFACT_PATH: output-malloctrim
build_ruby_ubuntu_22_04-3_1_6-normal:
name: 'Build Ruby [ubuntu-22.04/3.1.6/normal]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1.6/normal];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "normal"
VARIANT_PACKAGE_SUFFIX: ""
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1.6_ubuntu-22.04_normal"
ARTIFACT_PATH: output-normal
build_ruby_ubuntu_22_04-3_1_6-jemalloc:
name: 'Build Ruby [ubuntu-22.04/3.1.6/jemalloc]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
- build_jemalloc_ubuntu_22_04
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1.6/jemalloc];')
&& !failure() && !cancelled()
steps:
- name: Check whether 'Build Jemalloc [ubuntu-22.04]' did not fail
run: 'false'
if: |
needs.build_jemalloc_ubuntu_22_04.result == 'skipped'
&& contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [ubuntu-22.04];')
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Fetch Jemalloc binary
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: jemalloc-bin-ubuntu-22.04
ARTIFACT_PATH: .
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "jemalloc"
VARIANT_PACKAGE_SUFFIX: "-jemalloc"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1.6_ubuntu-22.04_jemalloc"
ARTIFACT_PATH: output-jemalloc
build_ruby_ubuntu_22_04-3_1_6-malloctrim:
name: 'Build Ruby [ubuntu-22.04/3.1.6/malloctrim]'
runs-on: ubuntu-22.04
timeout-minutes: 30
permissions:
packages: read
needs:
- determine_necessary_jobs
# Run even if a dependent job has been skipped
if: |
contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1.6/malloctrim];')
&& !failure() && !cancelled()
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
write_keyfile_to: gcloud-credentials.json
- name: Login to Github Container Registry
run: docker login ghcr.io -u ${{ github.actor }} --password-stdin <<<"$GITHUB_TOKEN"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dump Azure connection string
run: echo -n "$CONNECTION_STRING" > azure-connection-string.txt
env:
CONNECTION_STRING: ${{ secrets.AZURE_CI1_STORAGE_CONNECTION_STRING }}
- name: Fetch Ruby source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.6
ARTIFACT_PATH: .
- name: Download Docker image necessary for building
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: .
- name: Load Docker image necessary for building
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image ubuntu-22.04;')
env:
TARBALL: image.tar.zst
- name: Download Docker image necessary for packaging
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
- name: Load Docker image necessary for packaging
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build binaries
run: ./internal-scripts/ci-cd/build-ruby-packages/build-binaries.sh
env:
ENVIRONMENT_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
CACHE_KEY_PREFIX: "sccache/ubuntu-22.04"
- name: Build package
run: ./internal-scripts/ci-cd/build-ruby-packages/build-package.sh
env:
DISTRIBUTION_NAME: "ubuntu-22.04"
VARIANT_NAME: "malloctrim"
VARIANT_PACKAGE_SUFFIX: "-malloctrim"
PACKAGE_FORMAT: "DEB"
RUBY_PACKAGE_VERSION_ID: "3.1.6"
RUBY_PACKAGE_REVISION: "0"
- name: Archive package artifact to Google Cloud
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: "ruby-pkg_3.1.6_ubuntu-22.04_malloctrim"
ARTIFACT_PATH: output-malloctrim
### Finalize ###
finalize:
name: Finalize
permissions:
checks: write
needs:
- determine_necessary_jobs
- build_jemalloc_debian_11
- build_ruby_debian_11-3_3-normal
- build_ruby_debian_11-3_3-jemalloc
- build_ruby_debian_11-3_3-malloctrim
- build_ruby_debian_11-3_2-normal
- build_ruby_debian_11-3_2-jemalloc
- build_ruby_debian_11-3_2-malloctrim
- build_ruby_debian_11-3_1-normal
- build_ruby_debian_11-3_1-jemalloc
- build_ruby_debian_11-3_1-malloctrim
- build_ruby_debian_11-3_0-normal
- build_ruby_debian_11-3_0-jemalloc
- build_ruby_debian_11-3_0-malloctrim
- build_ruby_debian_11-3_3_4-normal
- build_ruby_debian_11-3_3_4-jemalloc
- build_ruby_debian_11-3_3_4-malloctrim
- build_ruby_debian_11-3_2_4-normal
- build_ruby_debian_11-3_2_4-jemalloc
- build_ruby_debian_11-3_2_4-malloctrim
- build_ruby_debian_11-3_1_6-normal
- build_ruby_debian_11-3_1_6-jemalloc
- build_ruby_debian_11-3_1_6-malloctrim
- build_ruby_debian_11-3_0_7-normal
- build_ruby_debian_11-3_0_7-jemalloc
- build_ruby_debian_11-3_0_7-malloctrim
- build_jemalloc_ubuntu_22_04
- build_ruby_ubuntu_22_04-3_3-normal
- build_ruby_ubuntu_22_04-3_3-jemalloc
- build_ruby_ubuntu_22_04-3_3-malloctrim
- build_ruby_ubuntu_22_04-3_2-normal
- build_ruby_ubuntu_22_04-3_2-jemalloc
- build_ruby_ubuntu_22_04-3_2-malloctrim
- build_ruby_ubuntu_22_04-3_1-normal
- build_ruby_ubuntu_22_04-3_1-jemalloc
- build_ruby_ubuntu_22_04-3_1-malloctrim
- build_ruby_ubuntu_22_04-3_3_4-normal
- build_ruby_ubuntu_22_04-3_3_4-jemalloc
- build_ruby_ubuntu_22_04-3_3_4-malloctrim
- build_ruby_ubuntu_22_04-3_2_4-normal
- build_ruby_ubuntu_22_04-3_2_4-jemalloc
- build_ruby_ubuntu_22_04-3_2_4-malloctrim
- build_ruby_ubuntu_22_04-3_1_6-normal
- build_ruby_ubuntu_22_04-3_1_6-jemalloc
- build_ruby_ubuntu_22_04-3_1_6-malloctrim
runs-on: ubuntu-22.04
timeout-minutes: 30
if: 'always()'
steps:
- uses: actions/checkout@v3
- name: Login to Google Cloud
uses: ./.github/actions/gcloud-login
with:
private_key: ${{ secrets.GCLOUD_KEY }}
### Publish all artifacts in Google Cloud as Github Actions artifacts ###
# We publish these artifacts in a dedicated job instead
# of in each job individually, because the individual jobs
# could be skipped during a re-run.
- name: Download Jemalloc binary artifacts from Google Cloud
run: ./internal-scripts/ci-cd/download-artifacts.sh
env:
ARTIFACT_NAMES: |
jemalloc-bin-debian-11
jemalloc-bin-ubuntu-22.04
ARTIFACT_PATH: artifacts
CLEAR: true
- name: Archive Jemalloc binary artifact [debian-11] to Github
uses: actions/upload-artifact@v3
with:
name: 'jemalloc-bin-debian-11'
path: 'artifacts/jemalloc-bin-debian-11'
- name: Archive Jemalloc binary artifact [ubuntu-22.04] to Github
uses: actions/upload-artifact@v3
with:
name: 'jemalloc-bin-ubuntu-22.04'
path: 'artifacts/jemalloc-bin-ubuntu-22.04'
- name: Download Ruby package artifacts from Google Cloud
run: ./internal-scripts/ci-cd/download-artifacts.sh
env:
ARTIFACT_NAMES: 'ruby-pkg_3.3_debian-11_normal ruby-pkg_3.3_debian-11_jemalloc ruby-pkg_3.3_debian-11_malloctrim ruby-pkg_3.2_debian-11_normal ruby-pkg_3.2_debian-11_jemalloc ruby-pkg_3.2_debian-11_malloctrim ruby-pkg_3.1_debian-11_normal ruby-pkg_3.1_debian-11_jemalloc ruby-pkg_3.1_debian-11_malloctrim ruby-pkg_3.0_debian-11_normal ruby-pkg_3.0_debian-11_jemalloc ruby-pkg_3.0_debian-11_malloctrim ruby-pkg_3.3.4_debian-11_normal ruby-pkg_3.3.4_debian-11_jemalloc ruby-pkg_3.3.4_debian-11_malloctrim ruby-pkg_3.2.4_debian-11_normal ruby-pkg_3.2.4_debian-11_jemalloc ruby-pkg_3.2.4_debian-11_malloctrim ruby-pkg_3.1.6_debian-11_normal ruby-pkg_3.1.6_debian-11_jemalloc ruby-pkg_3.1.6_debian-11_malloctrim ruby-pkg_3.0.7_debian-11_normal ruby-pkg_3.0.7_debian-11_jemalloc ruby-pkg_3.0.7_debian-11_malloctrim ruby-pkg_3.3_ubuntu-22.04_normal ruby-pkg_3.3_ubuntu-22.04_jemalloc ruby-pkg_3.3_ubuntu-22.04_malloctrim ruby-pkg_3.2_ubuntu-22.04_normal ruby-pkg_3.2_ubuntu-22.04_jemalloc ruby-pkg_3.2_ubuntu-22.04_malloctrim ruby-pkg_3.1_ubuntu-22.04_normal ruby-pkg_3.1_ubuntu-22.04_jemalloc ruby-pkg_3.1_ubuntu-22.04_malloctrim ruby-pkg_3.3.4_ubuntu-22.04_normal ruby-pkg_3.3.4_ubuntu-22.04_jemalloc ruby-pkg_3.3.4_ubuntu-22.04_malloctrim ruby-pkg_3.2.4_ubuntu-22.04_normal ruby-pkg_3.2.4_ubuntu-22.04_jemalloc ruby-pkg_3.2.4_ubuntu-22.04_malloctrim ruby-pkg_3.1.6_ubuntu-22.04_normal ruby-pkg_3.1.6_ubuntu-22.04_jemalloc ruby-pkg_3.1.6_ubuntu-22.04_malloctrim'
ARTIFACT_PATH: artifacts
CLEAR: true
- name: Archive Ruby package artifact [ruby-pkg_3.3_debian-11_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3_debian-11_normal
path: artifacts/ruby-pkg_3.3_debian-11_normal
- name: Archive Ruby package artifact [ruby-pkg_3.3_debian-11_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3_debian-11_jemalloc
path: artifacts/ruby-pkg_3.3_debian-11_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.3_debian-11_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3_debian-11_malloctrim
path: artifacts/ruby-pkg_3.3_debian-11_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.2_debian-11_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2_debian-11_normal
path: artifacts/ruby-pkg_3.2_debian-11_normal
- name: Archive Ruby package artifact [ruby-pkg_3.2_debian-11_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2_debian-11_jemalloc
path: artifacts/ruby-pkg_3.2_debian-11_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.2_debian-11_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2_debian-11_malloctrim
path: artifacts/ruby-pkg_3.2_debian-11_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.1_debian-11_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1_debian-11_normal
path: artifacts/ruby-pkg_3.1_debian-11_normal
- name: Archive Ruby package artifact [ruby-pkg_3.1_debian-11_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1_debian-11_jemalloc
path: artifacts/ruby-pkg_3.1_debian-11_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.1_debian-11_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1_debian-11_malloctrim
path: artifacts/ruby-pkg_3.1_debian-11_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.0_debian-11_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.0_debian-11_normal
path: artifacts/ruby-pkg_3.0_debian-11_normal
- name: Archive Ruby package artifact [ruby-pkg_3.0_debian-11_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.0_debian-11_jemalloc
path: artifacts/ruby-pkg_3.0_debian-11_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.0_debian-11_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.0_debian-11_malloctrim
path: artifacts/ruby-pkg_3.0_debian-11_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.3.4_debian-11_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3.4_debian-11_normal
path: artifacts/ruby-pkg_3.3.4_debian-11_normal
- name: Archive Ruby package artifact [ruby-pkg_3.3.4_debian-11_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3.4_debian-11_jemalloc
path: artifacts/ruby-pkg_3.3.4_debian-11_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.3.4_debian-11_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3.4_debian-11_malloctrim
path: artifacts/ruby-pkg_3.3.4_debian-11_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.2.4_debian-11_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2.4_debian-11_normal
path: artifacts/ruby-pkg_3.2.4_debian-11_normal
- name: Archive Ruby package artifact [ruby-pkg_3.2.4_debian-11_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2.4_debian-11_jemalloc
path: artifacts/ruby-pkg_3.2.4_debian-11_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.2.4_debian-11_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2.4_debian-11_malloctrim
path: artifacts/ruby-pkg_3.2.4_debian-11_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.1.6_debian-11_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1.6_debian-11_normal
path: artifacts/ruby-pkg_3.1.6_debian-11_normal
- name: Archive Ruby package artifact [ruby-pkg_3.1.6_debian-11_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1.6_debian-11_jemalloc
path: artifacts/ruby-pkg_3.1.6_debian-11_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.1.6_debian-11_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1.6_debian-11_malloctrim
path: artifacts/ruby-pkg_3.1.6_debian-11_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.0.7_debian-11_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.0.7_debian-11_normal
path: artifacts/ruby-pkg_3.0.7_debian-11_normal
- name: Archive Ruby package artifact [ruby-pkg_3.0.7_debian-11_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.0.7_debian-11_jemalloc
path: artifacts/ruby-pkg_3.0.7_debian-11_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.0.7_debian-11_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.0.7_debian-11_malloctrim
path: artifacts/ruby-pkg_3.0.7_debian-11_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.3_ubuntu-22.04_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3_ubuntu-22.04_normal
path: artifacts/ruby-pkg_3.3_ubuntu-22.04_normal
- name: Archive Ruby package artifact [ruby-pkg_3.3_ubuntu-22.04_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3_ubuntu-22.04_jemalloc
path: artifacts/ruby-pkg_3.3_ubuntu-22.04_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.3_ubuntu-22.04_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3_ubuntu-22.04_malloctrim
path: artifacts/ruby-pkg_3.3_ubuntu-22.04_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.2_ubuntu-22.04_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2_ubuntu-22.04_normal
path: artifacts/ruby-pkg_3.2_ubuntu-22.04_normal
- name: Archive Ruby package artifact [ruby-pkg_3.2_ubuntu-22.04_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2_ubuntu-22.04_jemalloc
path: artifacts/ruby-pkg_3.2_ubuntu-22.04_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.2_ubuntu-22.04_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2_ubuntu-22.04_malloctrim
path: artifacts/ruby-pkg_3.2_ubuntu-22.04_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.1_ubuntu-22.04_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1_ubuntu-22.04_normal
path: artifacts/ruby-pkg_3.1_ubuntu-22.04_normal
- name: Archive Ruby package artifact [ruby-pkg_3.1_ubuntu-22.04_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1_ubuntu-22.04_jemalloc
path: artifacts/ruby-pkg_3.1_ubuntu-22.04_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.1_ubuntu-22.04_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1_ubuntu-22.04_malloctrim
path: artifacts/ruby-pkg_3.1_ubuntu-22.04_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.3.4_ubuntu-22.04_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3.4_ubuntu-22.04_normal
path: artifacts/ruby-pkg_3.3.4_ubuntu-22.04_normal
- name: Archive Ruby package artifact [ruby-pkg_3.3.4_ubuntu-22.04_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3.4_ubuntu-22.04_jemalloc
path: artifacts/ruby-pkg_3.3.4_ubuntu-22.04_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.3.4_ubuntu-22.04_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.3.4_ubuntu-22.04_malloctrim
path: artifacts/ruby-pkg_3.3.4_ubuntu-22.04_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.2.4_ubuntu-22.04_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2.4_ubuntu-22.04_normal
path: artifacts/ruby-pkg_3.2.4_ubuntu-22.04_normal
- name: Archive Ruby package artifact [ruby-pkg_3.2.4_ubuntu-22.04_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2.4_ubuntu-22.04_jemalloc
path: artifacts/ruby-pkg_3.2.4_ubuntu-22.04_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.2.4_ubuntu-22.04_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.2.4_ubuntu-22.04_malloctrim
path: artifacts/ruby-pkg_3.2.4_ubuntu-22.04_malloctrim
- name: Archive Ruby package artifact [ruby-pkg_3.1.6_ubuntu-22.04_normal] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1.6_ubuntu-22.04_normal
path: artifacts/ruby-pkg_3.1.6_ubuntu-22.04_normal
- name: Archive Ruby package artifact [ruby-pkg_3.1.6_ubuntu-22.04_jemalloc] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1.6_ubuntu-22.04_jemalloc
path: artifacts/ruby-pkg_3.1.6_ubuntu-22.04_jemalloc
- name: Archive Ruby package artifact [ruby-pkg_3.1.6_ubuntu-22.04_malloctrim] to Github
uses: actions/upload-artifact@v3
with:
name: ruby-pkg_3.1.6_ubuntu-22.04_malloctrim
path: artifacts/ruby-pkg_3.1.6_ubuntu-22.04_malloctrim
### Check whether dependent jobs failed ###
# Only trigger next workflow if there are no failures.
- name: Check whether 'Determine necessary jobs' succeeded
run: 'false'
if: needs.determine_necessary_jobs.result != 'success'
- name: Check whether 'Build Jemalloc' did not fail
run: 'false'
if: |
false
|| (needs.build_jemalloc_debian_11.result != 'success'
&& (needs.build_jemalloc_debian_11.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [debian-11];')))
|| (needs.build_jemalloc_ubuntu_22_04.result != 'success'
&& (needs.build_jemalloc_ubuntu_22_04.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Jemalloc [ubuntu-22.04];')))
- name: Check whether 'Build Ruby [debian-11]' did not fail
run: 'false'
if: |
false
|| (needs.build_ruby_debian_11-3_3-normal.result != 'success'
&& (needs.build_ruby_debian_11-3_3-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3/normal];')))
|| (needs.build_ruby_debian_11-3_3-jemalloc.result != 'success'
&& (needs.build_ruby_debian_11-3_3-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3/jemalloc];')))
|| (needs.build_ruby_debian_11-3_3-malloctrim.result != 'success'
&& (needs.build_ruby_debian_11-3_3-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3/malloctrim];')))
|| (needs.build_ruby_debian_11-3_2-normal.result != 'success'
&& (needs.build_ruby_debian_11-3_2-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2/normal];')))
|| (needs.build_ruby_debian_11-3_2-jemalloc.result != 'success'
&& (needs.build_ruby_debian_11-3_2-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2/jemalloc];')))
|| (needs.build_ruby_debian_11-3_2-malloctrim.result != 'success'
&& (needs.build_ruby_debian_11-3_2-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2/malloctrim];')))
|| (needs.build_ruby_debian_11-3_1-normal.result != 'success'
&& (needs.build_ruby_debian_11-3_1-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1/normal];')))
|| (needs.build_ruby_debian_11-3_1-jemalloc.result != 'success'
&& (needs.build_ruby_debian_11-3_1-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1/jemalloc];')))
|| (needs.build_ruby_debian_11-3_1-malloctrim.result != 'success'
&& (needs.build_ruby_debian_11-3_1-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1/malloctrim];')))
|| (needs.build_ruby_debian_11-3_0-normal.result != 'success'
&& (needs.build_ruby_debian_11-3_0-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0/normal];')))
|| (needs.build_ruby_debian_11-3_0-jemalloc.result != 'success'
&& (needs.build_ruby_debian_11-3_0-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0/jemalloc];')))
|| (needs.build_ruby_debian_11-3_0-malloctrim.result != 'success'
&& (needs.build_ruby_debian_11-3_0-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0/malloctrim];')))
|| (needs.build_ruby_debian_11-3_3_4-normal.result != 'success'
&& (needs.build_ruby_debian_11-3_3_4-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3.4/normal];')))
|| (needs.build_ruby_debian_11-3_3_4-jemalloc.result != 'success'
&& (needs.build_ruby_debian_11-3_3_4-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3.4/jemalloc];')))
|| (needs.build_ruby_debian_11-3_3_4-malloctrim.result != 'success'
&& (needs.build_ruby_debian_11-3_3_4-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.3.4/malloctrim];')))
|| (needs.build_ruby_debian_11-3_2_4-normal.result != 'success'
&& (needs.build_ruby_debian_11-3_2_4-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2.4/normal];')))
|| (needs.build_ruby_debian_11-3_2_4-jemalloc.result != 'success'
&& (needs.build_ruby_debian_11-3_2_4-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2.4/jemalloc];')))
|| (needs.build_ruby_debian_11-3_2_4-malloctrim.result != 'success'
&& (needs.build_ruby_debian_11-3_2_4-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.2.4/malloctrim];')))
|| (needs.build_ruby_debian_11-3_1_6-normal.result != 'success'
&& (needs.build_ruby_debian_11-3_1_6-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1.6/normal];')))
|| (needs.build_ruby_debian_11-3_1_6-jemalloc.result != 'success'
&& (needs.build_ruby_debian_11-3_1_6-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1.6/jemalloc];')))
|| (needs.build_ruby_debian_11-3_1_6-malloctrim.result != 'success'
&& (needs.build_ruby_debian_11-3_1_6-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.1.6/malloctrim];')))
|| (needs.build_ruby_debian_11-3_0_7-normal.result != 'success'
&& (needs.build_ruby_debian_11-3_0_7-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0.7/normal];')))
|| (needs.build_ruby_debian_11-3_0_7-jemalloc.result != 'success'
&& (needs.build_ruby_debian_11-3_0_7-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0.7/jemalloc];')))
|| (needs.build_ruby_debian_11-3_0_7-malloctrim.result != 'success'
&& (needs.build_ruby_debian_11-3_0_7-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [debian-11/3.0.7/malloctrim];')))
- name: Check whether 'Build Ruby [ubuntu-22.04]' did not fail
run: 'false'
if: |
false
|| (needs.build_ruby_ubuntu_22_04-3_3-normal.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_3-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3/normal];')))
|| (needs.build_ruby_ubuntu_22_04-3_3-jemalloc.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_3-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3/jemalloc];')))
|| (needs.build_ruby_ubuntu_22_04-3_3-malloctrim.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_3-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3/malloctrim];')))
|| (needs.build_ruby_ubuntu_22_04-3_2-normal.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_2-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2/normal];')))
|| (needs.build_ruby_ubuntu_22_04-3_2-jemalloc.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_2-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2/jemalloc];')))
|| (needs.build_ruby_ubuntu_22_04-3_2-malloctrim.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_2-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2/malloctrim];')))
|| (needs.build_ruby_ubuntu_22_04-3_1-normal.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_1-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1/normal];')))
|| (needs.build_ruby_ubuntu_22_04-3_1-jemalloc.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_1-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1/jemalloc];')))
|| (needs.build_ruby_ubuntu_22_04-3_1-malloctrim.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_1-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1/malloctrim];')))
|| (needs.build_ruby_ubuntu_22_04-3_3_4-normal.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_3_4-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3.4/normal];')))
|| (needs.build_ruby_ubuntu_22_04-3_3_4-jemalloc.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_3_4-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3.4/jemalloc];')))
|| (needs.build_ruby_ubuntu_22_04-3_3_4-malloctrim.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_3_4-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.3.4/malloctrim];')))
|| (needs.build_ruby_ubuntu_22_04-3_2_4-normal.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_2_4-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2.4/normal];')))
|| (needs.build_ruby_ubuntu_22_04-3_2_4-jemalloc.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_2_4-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2.4/jemalloc];')))
|| (needs.build_ruby_ubuntu_22_04-3_2_4-malloctrim.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_2_4-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.2.4/malloctrim];')))
|| (needs.build_ruby_ubuntu_22_04-3_1_6-normal.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_1_6-normal.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1.6/normal];')))
|| (needs.build_ruby_ubuntu_22_04-3_1_6-jemalloc.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_1_6-jemalloc.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1.6/jemalloc];')))
|| (needs.build_ruby_ubuntu_22_04-3_1_6-malloctrim.result != 'success'
&& (needs.build_ruby_ubuntu_22_04-3_1_6-malloctrim.result != 'skipped'
|| contains(needs.determine_necessary_jobs.outputs.necessary_jobs, ';Build Ruby [ubuntu-22.04/3.1.6/malloctrim];')))
### Trigger next workflow ###
- name: Download gem bundle artifact
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: gem-bundle
ARTIFACT_PATH: vendor/bundle
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2
- run: bundle install --local
env:
BUNDLE_FROZEN: true
BUNDLE_PATH: vendor/bundle
BUNDLE_JOBS: 4
- name: Increment build counter
id: increment_counter
run: |
base64 -d <<< "$GCLOUD_KEY_DATA" > gcloud-key.json
bundle exec ./internal-scripts/ci-cd/update-counter.rb
env:
BUNDLE_PATH: vendor/bundle
BUCKET_NAME: ${{ env.CI_ARTIFACTS_BUCKET }}
LOCK_PATH: ${{ env.CI_ARTIFACTS_RUN_NUMBER }}/build-lock
COUNTER_PATH: ${{ env.CI_ARTIFACTS_RUN_NUMBER }}/build-count
OPERATION: increment
GCLOUD_KEY_DATA: ${{ secrets.GCLOUD_KEY }}
GCLOUD_KEY: gcloud-key.json
- name: Create check for 'Publish & test against test repos'
uses: LouisBrunner/checks-action@3d24d4813a797720cc4e2080a50bdafb3373aef1
id: create_check
if: steps.increment_counter.outputs.value >= 4
with:
token: ${{ secrets.GITHUB_TOKEN }}
name: Publish & test against test repos
status: queued
- name: Trigger workflow for 'Publish & test against test repos'
uses: benc-uk/workflow-dispatch@4c044c1613fabbe5250deadc65452d54c4ad4fc7
if: steps.increment_counter.outputs.value >= 4
with:
workflow: 'CI/CD: publish & test against test repos'
token: ${{ secrets.WORKFLOW_DISPATCH_TOKEN }}
inputs: |
{
"ci_artifacts_run_number": "${{ env.CI_ARTIFACTS_RUN_NUMBER }}",
"check_id": "${{ steps.create_check.outputs.check_id }}"
}
### Update own check status ###
- name: Mark check as 'success'
uses: LouisBrunner/checks-action@3d24d4813a797720cc4e2080a50bdafb3373aef1
if: 'github.event.inputs.check_id && success()'
with:
token: ${{ secrets.GITHUB_TOKEN }}
check_id: ${{ github.event.inputs.check_id }}
conclusion: success
- name: Mark check as 'failure'
uses: LouisBrunner/checks-action@3d24d4813a797720cc4e2080a50bdafb3373aef1
if: 'github.event.inputs.check_id && failure()'
with:
token: ${{ secrets.GITHUB_TOKEN }}
check_id: ${{ github.event.inputs.check_id }}
conclusion: failure
- name: Mark check as 'cancelled'
uses: LouisBrunner/checks-action@3d24d4813a797720cc4e2080a50bdafb3373aef1
if: 'github.event.inputs.check_id && cancelled()'
with:
token: ${{ secrets.GITHUB_TOKEN }}
check_id: ${{ github.event.inputs.check_id }}
conclusion: cancelled