CI/CD: build packages [3] #116
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |