Skip to content

Add ARM64 build support #6

Add ARM64 build support

Add ARM64 build support #6

Workflow file for this run

# WARNING: DO NOT EDIT THIS FILE!!!

Check failure on line 1 in .github/workflows/ci-cd-prepare.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci-cd-prepare.yml

Invalid workflow file

(Line: 983, Col: 9): Job 'finalize' depends on unknown job 'build_docker_image_centos_8'., (Line: 984, Col: 9): Job 'finalize' depends on unknown job 'build_docker_image_debian_11'., (Line: 985, Col: 9): Job 'finalize' depends on unknown job 'build_docker_image_debian_12'., (Line: 986, Col: 9): Job 'finalize' depends on unknown job 'build_docker_image_debian_13'., (Line: 987, Col: 9): Job 'finalize' depends on unknown job 'build_docker_image_el_9'., (Line: 988, Col: 9): Job 'finalize' depends on unknown job 'build_docker_image_ubuntu_22_04'., (Line: 989, Col: 9): Job 'finalize' depends on unknown job 'build_docker_image_ubuntu_24_04'., (Line: 990, Col: 9): Job 'finalize' depends on unknown job 'build_docker_image_utility'.
#
# This file is autogenerated from .github/workflows/ci-cd-prepare.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: prepare'
on:
workflow_call:
inputs:
ci_artifacts_run_number:
type: string
required: false
necessary_jobs:
required: true
type: string
env:
CI_ARTIFACTS_RUN_NUMBER: ${{ inputs.ci_artifacts_run_number }}
jobs:
check_version_numbers_need_bumping:
name: Check whether any version numbers need to be changed
needs:
- download_rbenv_source
# Run even if a dependent job has been skipped
if: '!failure() && !cancelled()'
runs-on: ubuntu-24.04
environment: test
permissions:
id-token: write
steps:
- name: Check whether dependent jobs did not fail
run: 'false'
if: |
needs.download_rbenv_source.result == 'skipped'
&& contains(inputs.necessary_jobs, ';Download Rbenv source;')
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
- name: Fetch Rbenv source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: rbenv-src
ARTIFACT_PATH: .
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Extract Rbenv source
run: ./internal-scripts/ci-cd/check-version-numbers-need-changing/extract-rbenv-source.sh
- name: Determine latest release tag
# Sets environment variable $LATEST_RELEASE_TAG
run: ./internal-scripts/ci-cd/check-version-numbers-need-changing/determine-latest-release-tag.sh
- name: Check whether the Rbenv version in config.yml is correct
run: ./internal-scripts/ci-cd/check-version-numbers-need-changing/check-rbenv-version.sh
if: '!cancelled()'
- name: Check whether the Rbenv package revision needs to be changed
run: ./internal-scripts/ci-cd/check-version-numbers-need-changing/check-rbenv-package-revision.sh
if: '!cancelled()'
- name: Check whether the fullstaq-ruby-common Debian package version or revision needs to be changed
run: ./internal-scripts/ci-cd/check-version-numbers-need-changing/check-common-deb-version-revision.sh
if: '!cancelled()'
- name: Check whether the fullstaq-ruby-common RPM package version or revision needs to be changed
run: ./internal-scripts/ci-cd/check-version-numbers-need-changing/check-common-rpm-version-revision.sh
if: '!cancelled()'
- name: Check whether any Ruby package revisions need to be changed
run: ./internal-scripts/ci-cd/check-version-numbers-need-changing/check-ruby-package-revisions.sh
if: '!cancelled()'
- name: Check whether any minor Ruby package revisions need to be changed
run: ./internal-scripts/ci-cd/check-version-numbers-need-changing/check-minor-ruby-package-revisions.sh
if: '!cancelled()'
bundle_install:
name: Install gem bundle
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Install gem bundle;')
steps:
- uses: actions/checkout@v4
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
bundler-cache: true
env:
BUNDLE_CLEAN: true
BUNDLE_JOBS: 4
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: gem-bundle
ARTIFACT_PATH: vendor/bundle
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
### Docker images ###
build_docker_image_centos_8_amd64:
name: 'Build Docker image [centos-8/amd64]'
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Build Docker image centos-8;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Build
run: ./internal-scripts/ci-cd/build-docker-images/build.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'centos-8-v3-amd64'
SOURCE_DIR: 'environments/centos-8'
ARCH: 'amd64'
- name: Dump image
run: ./internal-scripts/ci-cd/build-docker-images/dump-image.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'centos-8-v3-amd64'
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: 'docker-image-centos-8-amd64'
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
build_docker_image_debian_11_amd64:
name: 'Build Docker image [debian-11/amd64]'
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Build Docker image debian-11;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Build
run: ./internal-scripts/ci-cd/build-docker-images/build.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'debian-11-v4-amd64'
SOURCE_DIR: 'environments/debian-11'
ARCH: 'amd64'
- name: Dump image
run: ./internal-scripts/ci-cd/build-docker-images/dump-image.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'debian-11-v4-amd64'
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: 'docker-image-debian-11-amd64'
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
build_docker_image_debian_12_amd64:
name: 'Build Docker image [debian-12/amd64]'
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Build Docker image debian-12;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Build
run: ./internal-scripts/ci-cd/build-docker-images/build.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'debian-12-v3-amd64'
SOURCE_DIR: 'environments/debian-12'
ARCH: 'amd64'
- name: Dump image
run: ./internal-scripts/ci-cd/build-docker-images/dump-image.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'debian-12-v3-amd64'
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: 'docker-image-debian-12-amd64'
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
build_docker_image_debian_13_amd64:
name: 'Build Docker image [debian-13/amd64]'
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Build Docker image debian-13;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Build
run: ./internal-scripts/ci-cd/build-docker-images/build.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'debian-13-v2-amd64'
SOURCE_DIR: 'environments/debian-13'
ARCH: 'amd64'
- name: Dump image
run: ./internal-scripts/ci-cd/build-docker-images/dump-image.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'debian-13-v2-amd64'
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: 'docker-image-debian-13-amd64'
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
build_docker_image_el_9_amd64:
name: 'Build Docker image [el-9/amd64]'
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Build Docker image el-9;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Build
run: ./internal-scripts/ci-cd/build-docker-images/build.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'el-9-v2-amd64'
SOURCE_DIR: 'environments/el-9'
ARCH: 'amd64'
- name: Dump image
run: ./internal-scripts/ci-cd/build-docker-images/dump-image.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'el-9-v2-amd64'
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: 'docker-image-el-9-amd64'
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
build_docker_image_ubuntu_22_04_amd64:
name: 'Build Docker image [ubuntu-22.04/amd64]'
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Build Docker image ubuntu-22.04;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Build
run: ./internal-scripts/ci-cd/build-docker-images/build.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'ubuntu-22.04-v4-amd64'
SOURCE_DIR: 'environments/ubuntu-22.04'
ARCH: 'amd64'
- name: Dump image
run: ./internal-scripts/ci-cd/build-docker-images/dump-image.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'ubuntu-22.04-v4-amd64'
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04-amd64'
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
build_docker_image_ubuntu_24_04_amd64:
name: 'Build Docker image [ubuntu-24.04/amd64]'
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Build Docker image ubuntu-24.04;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Build
run: ./internal-scripts/ci-cd/build-docker-images/build.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'ubuntu-24.04-v2-amd64'
SOURCE_DIR: 'environments/ubuntu-24.04'
ARCH: 'amd64'
- name: Dump image
run: ./internal-scripts/ci-cd/build-docker-images/dump-image.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'ubuntu-24.04-v2-amd64'
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: 'docker-image-ubuntu-24.04-amd64'
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
build_docker_image_utility_amd64:
name: 'Build Docker image [utility/amd64]'
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Build Docker image utility;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Build
run: ./internal-scripts/ci-cd/build-docker-images/build.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'utility-v3-amd64'
SOURCE_DIR: 'environments/utility'
ARCH: 'amd64'
- name: Dump image
run: ./internal-scripts/ci-cd/build-docker-images/dump-image.sh
env:
IMAGE_NAME: 'ghcr.io/fullstaq-ruby/server-edition-ci-images'
IMAGE_TAG: 'utility-v3-amd64'
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: 'docker-image-utility-amd64'
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
### Sources ###
download_ruby_source_3_4_6:
name: Download Ruby source [3.4.6]
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Download Ruby source 3.4.6;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Download
run: ./internal-scripts/ci-cd/download-ruby-sources/download.sh
env:
RUBY_VERSION: 3.4.6
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.4.6
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
download_ruby_source_3_3_9:
name: Download Ruby source [3.3.9]
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Download Ruby source 3.3.9;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Download
run: ./internal-scripts/ci-cd/download-ruby-sources/download.sh
env:
RUBY_VERSION: 3.3.9
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.9
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
download_ruby_source_3_2_9:
name: Download Ruby source [3.2.9]
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Download Ruby source 3.2.9;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Download
run: ./internal-scripts/ci-cd/download-ruby-sources/download.sh
env:
RUBY_VERSION: 3.2.9
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.9
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
download_ruby_source_3_1_7:
name: Download Ruby source [3.1.7]
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Download Ruby source 3.1.7;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Download
run: ./internal-scripts/ci-cd/download-ruby-sources/download.sh
env:
RUBY_VERSION: 3.1.7
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.7
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
download_rbenv_source:
name: Download Rbenv source
runs-on: ubuntu-24.04
permissions:
id-token: write
environment: test
if: contains(inputs.necessary_jobs, ';Download Rbenv source;')
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Prepare
id: prepare
run: ./internal-scripts/ci-cd/download-rbenv-source/prepare.sh
- name: Download
run: ./internal-scripts/ci-cd/download-rbenv-source/download.sh
env:
RBENV_REPO_URL: ${{ steps.prepare.outputs.repo_url }}
RBENV_REPO_REF: ${{ steps.prepare.outputs.ref }}
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: rbenv-src
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
### fullstaq-ruby-common ###
build_common_deb:
name: Build common DEB
runs-on: ubuntu-24.04
permissions:
id-token: write
packages: read
needs:
- build_docker_image_utility_amd64
environment: test
# Run even if a dependent job has been skipped
if: |
contains(inputs.necessary_jobs, ';Build common DEB;')
&& !failure() && !cancelled()
steps:
- name: Check whether dependent jobs did not fail
run: 'false'
if: |
needs.build_docker_image_utility_amd64.result == 'skipped'
&& contains(inputs.necessary_jobs.outputs.necessary_jobs, ';Build Docker image utility;')
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- 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: Download utility Docker image
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Load utility Docker image
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(inputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build package
run: ./internal-scripts/ci-cd/build-common-deb/build-package.sh
env:
PACKAGE_BASENAME: "fullstaq-ruby-common_1.0-1_all.deb"
VERSION: "1.0"
REVISION: "1"
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: common-deb
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
build_common_rpm:
name: Build common RPM
runs-on: ubuntu-24.04
permissions:
id-token: write
packages: read
needs:
- build_docker_image_utility_amd64
environment: test
# Run even if a dependent job has been skipped
if: |
contains(inputs.necessary_jobs, ';Build common RPM;')
&& !failure() && !cancelled()
steps:
- name: Check whether dependent jobs did not fail
run: 'false'
if: |
needs.build_docker_image_utility_amd64.result == 'skipped'
&& contains(inputs.necessary_jobs, ';Build Docker image utility;')
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- 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: Download utility Docker image
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Load utility Docker image
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(inputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build package
run: ./internal-scripts/ci-cd/build-common-rpm/build-package.sh
env:
PACKAGE_BASENAME: "fullstaq-ruby-common-1.0-1.noarch.rpm"
VERSION: "1.0"
REVISION: "1"
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: common-rpm
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
### Rbenv ###
build_rbenv_deb:
name: Build Rbenv DEB
runs-on: ubuntu-24.04
permissions:
id-token: write
packages: read
needs:
- download_rbenv_source
- build_docker_image_utility_amd64
environment: test
# Run even if a dependent job has been skipped
if: |
contains(inputs.necessary_jobs, ';Build Rbenv DEB;')
&& !failure() && !cancelled()
steps:
- name: Check whether dependent jobs did not fail
run: 'false'
if: |
(
needs.download_rbenv_source.result == 'skipped'
&& contains(inputs.necessary_jobs, ';Download Rbenv source;')
) || (
needs.build_docker_image_utility_amd64.result == 'skipped'
&& contains(inputs.necessary_jobs, ';Build Docker image utility;')
)
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- 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: Fetch Rbenv source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: rbenv-src
ARTIFACT_PATH: .
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Download utility Docker image
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Load utility Docker image
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(inputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build package
run: ./internal-scripts/ci-cd/build-rbenv-deb/build-package.sh
env:
PACKAGE_BASENAME: "fullstaq-rbenv_1.1.2-16-1_all.deb"
VERSION: "1.1.2-16"
REVISION: "1"
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: rbenv-deb
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
build_rbenv_rpm:
name: Build Rbenv RPM
runs-on: ubuntu-24.04
permissions:
id-token: write
packages: read
needs:
- download_rbenv_source
- build_docker_image_utility_amd64
environment: test
# Run even if a dependent job has been skipped
if: |
contains(inputs.necessary_jobs, ';Build Rbenv RPM;')
&& !failure() && !cancelled()
steps:
- name: Check whether dependent jobs did not fail
run: 'false'
if: |
(
needs.download_rbenv_source.result == 'skipped'
&& contains(inputs.necessary_jobs, ';Download Rbenv source;')
) || (
needs.build_docker_image_utility_amd64.result == 'skipped'
&& contains(inputs.necessary_jobs, ';Build Docker image utility;')
)
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- 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: Fetch Rbenv source
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: rbenv-src
ARTIFACT_PATH: .
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Download utility Docker image
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
ARTIFACT_NAME: docker-image-utility
ARTIFACT_PATH: .
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Load utility Docker image
run: ./internal-scripts/ci-cd/load-docker-image.sh
if: contains(inputs.necessary_jobs, ';Use locally-built Docker image utility;')
env:
TARBALL: image.tar.zst
- name: Build package
run: ./internal-scripts/ci-cd/build-rbenv-rpm/build-package.sh
env:
PACKAGE_BASENAME: "fullstaq-rbenv-1.1.2_16-1.noarch.rpm"
VERSION: "1.1.2-16"
REVISION: "1"
- name: Archive artifact
run: ./internal-scripts/ci-cd/upload-artifact.sh
env:
ARTIFACT_NAME: rbenv-rpm
ARTIFACT_PATH: output
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
### Finalize ###
finalize:
name: Finalize
permissions:
id-token: write
needs:
- check_version_numbers_need_bumping
- bundle_install
- download_rbenv_source
- build_docker_image_centos_8
- build_docker_image_debian_11
- build_docker_image_debian_12
- build_docker_image_debian_13
- build_docker_image_el_9
- build_docker_image_ubuntu_22_04
- build_docker_image_ubuntu_24_04
- build_docker_image_utility
- download_ruby_source_3_4_6
- download_ruby_source_3_3_9
- download_ruby_source_3_2_9
- download_ruby_source_3_1_7
- build_common_deb
- build_common_rpm
- build_rbenv_deb
- build_rbenv_rpm
runs-on: ubuntu-24.04
environment: test
if: 'always()'
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
tenant-id: ${{ vars.AZURE_TENANT_ID }}
client-id: ${{ vars.AZURE_CLIENT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- uses: google-github-actions/auth@v2
with:
project_id: ${{ vars.GCLOUD_PROJECT_ID }}
workload_identity_provider: projects/${{ vars.GCLOUD_PROJECT_NUM }}/locations/global/workloadIdentityPools/github-ci-test/providers/github-ci-test
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
### 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 gem bundle artifact from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: gem-bundle
ARTIFACT_PATH: vendor/bundle
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Tar up gem bundle artifact
# Because actions/upload-archive is very slow when operating on directories
# with many files
run: tar -C vendor -cf vendor/bundle.tar bundle
- name: Archive gem bundle artifact to Github
uses: actions/upload-artifact@v4
with:
name: gem-bundle
path: vendor/bundle.tar
- name: Download Rbenv source artifact from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: rbenv-src
ARTIFACT_PATH: artifacts
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Rbenv source artifact to Github
uses: actions/upload-artifact@v4
with:
name: rbenv-src
path: artifacts
compression-level: 0
- name: Download Docker image artifact [centos-8] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Build Docker image centos-8;')
env:
ARTIFACT_NAME: 'docker-image-centos-8'
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Docker image artifact [centos-8] to Github
uses: actions/upload-artifact@v4
if: contains(inputs.necessary_jobs, ';Build Docker image centos-8;')
with:
name: 'docker-image-centos-8'
path: artifacts
- name: Download Docker image artifact [debian-11] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Build Docker image debian-11;')
env:
ARTIFACT_NAME: 'docker-image-debian-11'
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Docker image artifact [debian-11] to Github
uses: actions/upload-artifact@v4
if: contains(inputs.necessary_jobs, ';Build Docker image debian-11;')
with:
name: 'docker-image-debian-11'
path: artifacts
- name: Download Docker image artifact [debian-12] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Build Docker image debian-12;')
env:
ARTIFACT_NAME: 'docker-image-debian-12'
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Docker image artifact [debian-12] to Github
uses: actions/upload-artifact@v4
if: contains(inputs.necessary_jobs, ';Build Docker image debian-12;')
with:
name: 'docker-image-debian-12'
path: artifacts
- name: Download Docker image artifact [debian-13] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Build Docker image debian-13;')
env:
ARTIFACT_NAME: 'docker-image-debian-13'
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Docker image artifact [debian-13] to Github
uses: actions/upload-artifact@v4
if: contains(inputs.necessary_jobs, ';Build Docker image debian-13;')
with:
name: 'docker-image-debian-13'
path: artifacts
- name: Download Docker image artifact [el-9] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Build Docker image el-9;')
env:
ARTIFACT_NAME: 'docker-image-el-9'
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Docker image artifact [el-9] to Github
uses: actions/upload-artifact@v4
if: contains(inputs.necessary_jobs, ';Build Docker image el-9;')
with:
name: 'docker-image-el-9'
path: artifacts
- name: Download Docker image artifact [ubuntu-22.04] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Build Docker image ubuntu-22.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-22.04'
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Docker image artifact [ubuntu-22.04] to Github
uses: actions/upload-artifact@v4
if: contains(inputs.necessary_jobs, ';Build Docker image ubuntu-22.04;')
with:
name: 'docker-image-ubuntu-22.04'
path: artifacts
- name: Download Docker image artifact [ubuntu-24.04] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Build Docker image ubuntu-24.04;')
env:
ARTIFACT_NAME: 'docker-image-ubuntu-24.04'
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Docker image artifact [ubuntu-24.04] to Github
uses: actions/upload-artifact@v4
if: contains(inputs.necessary_jobs, ';Build Docker image ubuntu-24.04;')
with:
name: 'docker-image-ubuntu-24.04'
path: artifacts
- name: Download Docker image artifact [utility] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
if: contains(inputs.necessary_jobs, ';Build Docker image utility;')
env:
ARTIFACT_NAME: 'docker-image-utility'
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Docker image artifact [utility] to Github
uses: actions/upload-artifact@v4
if: contains(inputs.necessary_jobs, ';Build Docker image utility;')
with:
name: 'docker-image-utility'
path: artifacts
- name: Download Ruby source artifact [3.4.6] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.4.6
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Ruby source artifact [3.4.6] to Github
uses: actions/upload-artifact@v4
with:
name: ruby-src-3.4.6
path: artifacts
compression-level: 0
- name: Download Ruby source artifact [3.3.9] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.3.9
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Ruby source artifact [3.3.9] to Github
uses: actions/upload-artifact@v4
with:
name: ruby-src-3.3.9
path: artifacts
compression-level: 0
- name: Download Ruby source artifact [3.2.9] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.2.9
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Ruby source artifact [3.2.9] to Github
uses: actions/upload-artifact@v4
with:
name: ruby-src-3.2.9
path: artifacts
compression-level: 0
- name: Download Ruby source artifact [3.1.7] from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: ruby-src-3.1.7
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Ruby source artifact [3.1.7] to Github
uses: actions/upload-artifact@v4
with:
name: ruby-src-3.1.7
path: artifacts
compression-level: 0
- name: Download common DEB artifact from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: common-deb
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive common DEB artifact to Github
uses: actions/upload-artifact@v4
with:
name: common-deb
path: artifacts
compression-level: 0
- name: Download common RPM artifact from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: common-rpm
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive common RPM artifact to Github
uses: actions/upload-artifact@v4
with:
name: common-rpm
path: artifacts
compression-level: 0
- name: Download Rbenv DEB artifact from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: rbenv-deb
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Rbenv DEB artifact to Github
uses: actions/upload-artifact@v4
with:
name: rbenv-deb
path: artifacts
compression-level: 0
- name: Download Rbenv RPM artifact from Google Cloud
run: ./internal-scripts/ci-cd/download-artifact.sh
env:
ARTIFACT_NAME: rbenv-rpm
ARTIFACT_PATH: artifacts
CLEAR: true
CI_ARTIFACTS_BUCKET: ${{ vars.CI_ARTIFACTS_BUCKET }}
- name: Archive Rbenv RPM artifact to Github
uses: actions/upload-artifact@v4
with:
name: rbenv-rpm
path: artifacts
compression-level: 0
### Check whether dependent jobs failed ###
- name: Check whether 'Check whether any version numbers need to be changed' succeeded
run: 'false'
if: needs.check_version_numbers_need_bumping.result != 'success'
- name: Check whether 'Install gem bundle' did not fail
run: 'false'
if: |
needs.bundle_install.result != 'success'
&& (needs.bundle_install.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Install gem bundle;'))
- name: Check whether 'Download Rbenv source' did not fail
run: 'false'
if: |
needs.download_rbenv_source.result != 'success'
&& (needs.download_rbenv_source.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Download Rbenv source;'))
- name: Check whether 'Build Docker image' did not fail
run: 'false'
if: |
false
|| (needs.build_docker_image_centos_8.result != 'success'
&& (needs.build_docker_image_centos_8.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build Docker image centos-8;')))
|| (needs.build_docker_image_debian_11.result != 'success'
&& (needs.build_docker_image_debian_11.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build Docker image debian-11;')))
|| (needs.build_docker_image_debian_12.result != 'success'
&& (needs.build_docker_image_debian_12.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build Docker image debian-12;')))
|| (needs.build_docker_image_debian_13.result != 'success'
&& (needs.build_docker_image_debian_13.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build Docker image debian-13;')))
|| (needs.build_docker_image_el_9.result != 'success'
&& (needs.build_docker_image_el_9.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build Docker image el-9;')))
|| (needs.build_docker_image_ubuntu_22_04.result != 'success'
&& (needs.build_docker_image_ubuntu_22_04.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build Docker image ubuntu-22.04;')))
|| (needs.build_docker_image_ubuntu_24_04.result != 'success'
&& (needs.build_docker_image_ubuntu_24_04.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build Docker image ubuntu-24.04;')))
|| (needs.build_docker_image_utility.result != 'success'
&& (needs.build_docker_image_utility.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build Docker image utility;')))
- name: Check whether 'Download Ruby source' did not fail
run: 'false'
if: |
false
|| (needs.download_ruby_source_3_4_6.result != 'success'
&& (needs.download_ruby_source_3_4_6.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Download Ruby source 3.4.6;')))
|| (needs.download_ruby_source_3_3_9.result != 'success'
&& (needs.download_ruby_source_3_3_9.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Download Ruby source 3.3.9;')))
|| (needs.download_ruby_source_3_2_9.result != 'success'
&& (needs.download_ruby_source_3_2_9.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Download Ruby source 3.2.9;')))
|| (needs.download_ruby_source_3_1_7.result != 'success'
&& (needs.download_ruby_source_3_1_7.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Download Ruby source 3.1.7;')))
- name: Check whether 'Build common DEB' did not fail
run: 'false'
if: |
needs.build_common_deb.result != 'success'
&& (needs.build_common_deb.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build common DEB;'))
- name: Check whether 'Build common RPM' did not fail
run: 'false'
if: |
needs.build_common_rpm.result != 'success'
&& (needs.build_common_rpm.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build common RPM;'))
- name: Check whether 'Build Rbenv DEB' did not fail
run: 'false'
if: |
needs.build_rbenv_deb.result != 'success'
&& (needs.build_rbenv_deb.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build Rbenv DEB;'))
- name: Check whether 'Build Rbenv RPM' did not fail
run: 'false'
if: |
needs.build_rbenv_rpm.result != 'success'
&& (needs.build_rbenv_rpm.result != 'skipped'
|| contains(inputs.necessary_jobs, ';Build Rbenv RPM;'))