Skip to content

Test JSON read/write #59

Test JSON read/write

Test JSON read/write #59

Workflow file for this run

name: ~CI, single-arch

Check failure on line 1 in .github/workflows/_ci.yaml

View workflow run for this annotation

GitHub Actions / .github/workflows/_ci.yaml

Invalid workflow file

No steps defined in `steps` and no workflow called in `uses` for the following jobs: save-tags
run-name: CI-${{ inputs.ARCHITECTURE }}
on:
workflow_call:
inputs:
ARCHITECTURE:
type: string
required: true
outputs:
ALL_TAGS:
description: Single JSON object to store all tags
value: ${{ jobs.save-tags.output.ALL_TAGS }}
permissions:
contents: read # to fetch code
actions: write # to cancel previous workflows
packages: write # to upload container
jobs:
metadata:
runs-on: ubuntu-22.04
outputs:
BUILD_DATE: ${{ steps.date.outputs.BUILD_DATE }}
steps:
- name: Check out the repository under ${GITHUB_WORKSPACE}
uses: actions/checkout@v3
- name: Set build date
id: date
shell: bash -x -e {0}
run: |
BUILD_DATE=$(TZ='US/Los_Angeles' date '+%Y-%m-%d')
echo "BUILD_DATE=${BUILD_DATE}" >> $GITHUB_OUTPUT
build-base:
needs: metadata
uses: ./.github/workflows/_build_base.yaml
with:
ARCHITECTURE: ${{ inputs.ARCHITECTURE }}
BUILD_DATE: ${{ needs.metadata.outputs.BUILD_DATE }}
secrets: inherit
build-jax:
needs: [metadata, build-base]
uses: ./.github/workflows/_build_jax.yaml
with:
ARCHITECTURE: ${{ inputs.ARCHITECTURE }}
BUILD_DATE: ${{ needs.metadata.outputs.BUILD_DATE }}
BASE_IMAGE: ${{ needs.build-base.outputs.DOCKER_TAG }}
secrets: inherit
build-t5x:
needs: [metadata, build-jax]
if: inputs.ARCHITECTURE == 'amd64' # T5X arm64 build is wip in PR 252
uses: ./.github/workflows/_build.yaml
with:
ARCHITECTURE: amd64
ARTIFACT_NAME: "artifact-t5x-build"
BADGE_FILENAME: "badge-t5x-build"
BUILD_DATE: ${{ needs.metadata.outputs.BUILD_DATE }}
BASE_IMAGE: ${{ needs.build-jax.outputs.DOCKER_TAG_MEALKIT }}
CONTAINER_NAME: "upstream-t5x"
DOCKERFILE: ".github/container/Dockerfile.t5x"
secrets: inherit
build-pallas:
needs: [metadata, build-jax]
if: inputs.ARCHITECTURE == 'amd64' # Triton does not seem to support arm64
uses: ./.github/workflows/_build.yaml
with:
ARCHITECTURE: ${{ inputs.ARCHITECTURE }}
ARTIFACT_NAME: "artifact-pallas-build"
BADGE_FILENAME: "badge-pallas-build"
BUILD_DATE: ${{ needs.metadata.outputs.BUILD_DATE }}
BASE_IMAGE: ${{ needs.build-jax.outputs.DOCKER_TAG_MEALKIT }}
CONTAINER_NAME: "pallas"
DOCKERFILE: .github/container/Dockerfile.pallas
secrets: inherit
build-pax:
needs: [metadata, build-jax]
uses: ./.github/workflows/_build.yaml
with:
ARCHITECTURE: ${{ inputs.ARCHITECTURE }}
ARTIFACT_NAME: "artifact-pax-build"
BADGE_FILENAME: "badge-pax-build"
BUILD_DATE: ${{ needs.metadata.outputs.BUILD_DATE }}
BASE_IMAGE: ${{ needs.build-jax.outputs.DOCKER_TAG_MEALKIT }}
CONTAINER_NAME: "upstream-pax"
DOCKERFILE: .github/container/Dockerfile.pax.${{ inputs.ARCHITECTURE }}
secrets: inherit
build-rosetta-t5x:
uses: ./.github/workflows/_build_rosetta.yaml
needs: [metadata, build-t5x]
with:
ARCHITECTURE: ${{ inputs.ARCHITECTURE }}
BUILD_DATE: ${{ needs.metadata.outputs.BUILD_DATE }}
BASE_IMAGE: ${{ needs.build-t5x.outputs.DOCKER_TAG_MEALKIT }}
BASE_LIBRARY: t5x
secrets: inherit
build-rosetta-pax:
uses: ./.github/workflows/_build_rosetta.yaml
needs: [metadata, build-pax]
with:
ARCHITECTURE: ${{ inputs.ARCHITECTURE }}
BUILD_DATE: ${{ needs.metadata.outputs.BUILD_DATE }}
BASE_IMAGE: ${{ needs.build-pax.outputs.DOCKER_TAG_MEALKIT }}
BASE_LIBRARY: pax
secrets: inherit
save-tags:
needs: [build-base, build-jax, build-t5x, build-pallas, build-pax, build-rosetta-t5x, build-rosetta-pax]
run: |
ALL_TAGS_JSON="ALL_TAGS={" \
\"TAG_JAX_MEALKIT\": \"${{ needs.build-jax.outputs.DOCKER_TAG_MEALKIT }}\"," \
\"TAG_JAX_FINAL\": \"${{ needs.build-jax.outputs.DOCKER_TAG_FINAL }}\"," \
\"TAG_UPSTREAM_T5X_MEALKIT\": \"${{ needs.build-t5x.outputs.DOCKER_TAG_MEALKIT }}\"," \
\"TAG_UPSTREAM_T5X_FINAL\": \"${{ needs.build-t5x.outputs.DOCKER_TAG_FINAL }}\"," \
\"TAG_PALLAS_MEALKIT\": \"${{ needs.build-pallas.outputs.DOCKER_TAG_MEALKIT }}\"," \
\"TAG_PALLAS_FINAL\": \"${{ needs.build-pallas.outputs.DOCKER_TAG_FINAL }}\"," \
\"TAG_UPSTREAM_PAX_MEALKIT\": \"${{ needs.build-pax.outputs.DOCKER_TAG_MEALKIT }}\"," \
\"TAG_UPSTREAM_PAX_FINAL\": \"${{ needs.build-pax.outputs.DOCKER_TAG_FINAL }}\"," \
\"TAG_T5X_MEALKIT\": \"${{ needs.build-rosetta-t5x.outputs.DOCKER_TAG_MEALKIT }}\"," \
\"TAG_T5X_FINAL\": \"${{ needs.build-rosetta-t5x.outputs.DOCKER_TAG_FINAL }}\"," \
\"TAG_PAX_MEALKIT\": \"${{ needs.build-rosetta-pax.outputs.DOCKER_TAG_MEALKIT }}\"," \
\"TAG_PAX_FINAL\": \"${{ needs.build-rosetta-pax.outputs.DOCKER_TAG_FINAL }}\"" \
"}"
echo $ALL_TAGS_JSON >> $GITHUB_OUTPUT
test-distribution:
needs: metadata
uses: ./.github/workflows/_test_distribution.yaml
secrets: inherit
test-jax:
needs: build-jax
if: inputs.ARCHITECTURE == 'amd64' # arm64 runners n/a
uses: ./.github/workflows/_test_jax.yaml
with:
JAX_IMAGE: ${{ needs.build-jax.outputs.DOCKER_TAG_FINAL }}
secrets: inherit
test-te:
needs: build-pax
if: inputs.ARCHITECTURE == 'amd64' # arm64 runners n/a
uses: ./.github/workflows/_test_te.yaml
with:
TE_IMAGE: ${{ needs.build-pax.outputs.DOCKER_TAG_FINAL }}
secrets: inherit
test-upstream-t5x:
needs: build-t5x
if: inputs.ARCHITECTURE == 'amd64' # arm64 runners n/a
uses: ./.github/workflows/_test_t5x.yaml
with:
T5X_IMAGE: ${{ needs.build-t5x.outputs.DOCKER_TAG_FINAL }}
secrets: inherit
test-rosetta-t5x:
needs: build-rosetta-t5x
if: inputs.ARCHITECTURE == 'amd64' # arm64 runners n/a
uses: ./.github/workflows/_test_t5x_rosetta.yaml
with:
T5X_IMAGE: ${{ needs.build-rosetta-t5x.outputs.DOCKER_TAG_FINAL }}
secrets: inherit
test-pallas:
needs: build-pallas
if: inputs.ARCHITECTURE == 'amd64' # no images for arm64
uses: ./.github/workflows/_test_pallas.yaml
with:
PALLAS_IMAGE: ${{ needs.build-pallas.outputs.DOCKER_TAG_FINAL }}
secrets: inherit
test-upstream-pax:
needs: build-pax
if: inputs.ARCHITECTURE == 'amd64' # arm64 runners n/a
uses: ./.github/workflows/_test_pax.yaml
with:
PAX_IMAGE: ${{ needs.build-pax.outputs.DOCKER_TAG_FINAL }}
secrets: inherit
test-rosetta-pax:
needs: build-rosetta-pax
if: inputs.ARCHITECTURE == 'amd64' # arm64 runners n/a
uses: ./.github/workflows/_test_pax_rosetta.yaml
with:
PAX_IMAGE: ${{ needs.build-rosetta-pax.outputs.DOCKER_TAG_FINAL }}
secrets: inherit