266 lines
8.2 KiB
YAML
266 lines
8.2 KiB
YAML
name: Push To Main
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "main"
|
|
|
|
# Can be triggered manually from within the UI or using the GH CLI,
|
|
# e.g. `gh workflow run on_push_main.yml --ref main`
|
|
workflow_dispatch:
|
|
inputs:
|
|
CONCURRENCY:
|
|
required: true
|
|
type: string
|
|
|
|
permissions: write-all
|
|
|
|
jobs:
|
|
checks:
|
|
name: Checks
|
|
uses: ./.github/workflows/reusable_checks.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
CHANNEL: main
|
|
secrets: inherit
|
|
|
|
cpp_checks:
|
|
name: Checks
|
|
uses: ./.github/workflows/reusable_checks_cpp.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
CHANNEL: main
|
|
secrets: inherit
|
|
|
|
rust_checks:
|
|
name: Checks
|
|
uses: ./.github/workflows/reusable_checks_rust.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
CHANNEL: main
|
|
secrets: inherit
|
|
|
|
python_checks:
|
|
name: Checks
|
|
uses: ./.github/workflows/reusable_checks_python.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
secrets: inherit
|
|
|
|
deploy-docs:
|
|
needs: [checks]
|
|
name: Deploy Docs
|
|
uses: ./.github/workflows/reusable_deploy_docs.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PY_DOCS_VERSION_NAME: "main"
|
|
CPP_DOCS_VERSION_NAME: "main"
|
|
JS_DOCS_VERSION_NAME: "main"
|
|
MARKDOWN_DOCS_VERSION_NAME: "dev"
|
|
UPDATE_LATEST: false
|
|
secrets: inherit
|
|
|
|
build-web:
|
|
name: "Build web viewer"
|
|
uses: ./.github/workflows/reusable_build_web.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
CHANNEL: main
|
|
secrets: inherit
|
|
|
|
web-test:
|
|
name: "Web tests"
|
|
uses: ./.github/workflows/reusable_web_test.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
secrets: inherit
|
|
|
|
upload-web:
|
|
name: "Upload Web"
|
|
needs: [build-web]
|
|
uses: ./.github/workflows/reusable_upload_web.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
secrets: inherit
|
|
|
|
build-js:
|
|
name: "Build JS"
|
|
uses: ./.github/workflows/reusable_build_js.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
secrets: inherit
|
|
|
|
upload-js:
|
|
name: "Upload JS"
|
|
needs: [build-js]
|
|
uses: ./.github/workflows/reusable_upload_js.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
secrets: inherit
|
|
|
|
build-examples:
|
|
name: "Build Examples"
|
|
needs: [build-wheel-linux-x64]
|
|
uses: ./.github/workflows/reusable_build_examples.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
CHANNEL: main
|
|
WHEEL_ARTIFACT_NAME: linux-x64-wheel
|
|
secrets: inherit
|
|
|
|
track-sizes:
|
|
name: "Track Sizes"
|
|
needs: [build-web, build-examples]
|
|
uses: ./.github/workflows/reusable_track_size.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
WITH_EXAMPLES: true
|
|
secrets: inherit
|
|
|
|
upload-examples:
|
|
name: "Upload Examples"
|
|
needs: [build-examples]
|
|
uses: ./.github/workflows/reusable_upload_examples.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
secrets: inherit
|
|
|
|
# -----------------------------------------------------------------------------------
|
|
# Build rerun_c library binaries:
|
|
|
|
build-rerun_c-and-upload-linux-arm64:
|
|
needs: [checks]
|
|
name: "Linux-Arm64: Build & Upload rerun_c"
|
|
uses: ./.github/workflows/reusable_build_and_upload_rerun_c.yml
|
|
with:
|
|
CONCURRENCY: push-linux-arm64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: linux-arm64
|
|
secrets: inherit
|
|
|
|
build-rerun_c-and-upload-linux-x64:
|
|
needs: [checks]
|
|
name: "Linux-x64: Build & Upload rerun_c"
|
|
uses: ./.github/workflows/reusable_build_and_upload_rerun_c.yml
|
|
with:
|
|
CONCURRENCY: push-linux-x64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: linux-x64
|
|
secrets: inherit
|
|
|
|
build-rerun_c-and-upload-macos-arm64:
|
|
needs: [checks]
|
|
name: "Mac-Arm64: Build & Upload rerun_c"
|
|
uses: ./.github/workflows/reusable_build_and_upload_rerun_c.yml
|
|
with:
|
|
CONCURRENCY: push-macos-arm64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: macos-arm64
|
|
secrets: inherit
|
|
|
|
# -----------------------------------------------------------------------------------
|
|
# Build rerun-cli (rerun binaries):
|
|
|
|
build-rerun-cli-and-upload-linux-arm64:
|
|
needs: [checks]
|
|
name: "Linux-arm64: Build & Upload rerun-cli"
|
|
uses: ./.github/workflows/reusable_build_and_upload_rerun_cli.yml
|
|
with:
|
|
CONCURRENCY: push-linux-arm64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: linux-arm64
|
|
secrets: inherit
|
|
|
|
build-rerun-cli-and-upload-linux-x64:
|
|
needs: [checks]
|
|
name: "Linux-x64: Build & Upload rerun-cli"
|
|
uses: ./.github/workflows/reusable_build_and_upload_rerun_cli.yml
|
|
with:
|
|
CONCURRENCY: push-linux-x64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: linux-x64
|
|
secrets: inherit
|
|
|
|
build-rerun-cli-and-upload-macos-arm64:
|
|
needs: [checks]
|
|
name: "Mac-arm64: Build & Upload rerun-cli"
|
|
uses: ./.github/workflows/reusable_build_and_upload_rerun_cli.yml
|
|
with:
|
|
CONCURRENCY: push-macos-arm64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: macos-arm64
|
|
secrets: inherit
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Build wheels:
|
|
|
|
build-wheel-linux-arm64:
|
|
needs: [checks, build-rerun-cli-and-upload-linux-arm64]
|
|
name: "Linux-arm64: Build & Upload Wheels"
|
|
uses: ./.github/workflows/reusable_build_and_upload_wheels.yml
|
|
with:
|
|
CONCURRENCY: push-linux-arm64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: linux-arm64
|
|
WHEEL_ARTIFACT_NAME: linux-arm64-wheel
|
|
MODE: "pypi"
|
|
secrets: inherit
|
|
|
|
build-wheel-linux-x64:
|
|
needs: [checks, build-rerun-cli-and-upload-linux-x64]
|
|
name: "Linux-x64: Build & Upload Wheels"
|
|
uses: ./.github/workflows/reusable_build_and_upload_wheels.yml
|
|
with:
|
|
CONCURRENCY: push-linux-x64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: linux-x64
|
|
WHEEL_ARTIFACT_NAME: linux-x64-wheel
|
|
MODE: "pypi"
|
|
secrets: inherit
|
|
|
|
build-wheel-macos-arm64:
|
|
needs: [checks, build-rerun-cli-and-upload-macos-arm64]
|
|
name: "Macos-arm64: Build & Upload Wheels"
|
|
uses: ./.github/workflows/reusable_build_and_upload_wheels.yml
|
|
with:
|
|
CONCURRENCY: push-macos-arm64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: macos-arm64
|
|
WHEEL_ARTIFACT_NAME: macos-arm64-wheel
|
|
MODE: "pypi"
|
|
secrets: inherit
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Test wheels:
|
|
|
|
test-wheel-linux-arm64:
|
|
needs: [checks, build-wheel-linux-arm64]
|
|
name: "linux-arm64: Test Wheels"
|
|
uses: ./.github/workflows/reusable_test_wheels.yml
|
|
with:
|
|
CONCURRENCY: push-linux-arm64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: linux-arm64
|
|
WHEEL_ARTIFACT_NAME: linux-arm64-wheel
|
|
secrets: inherit
|
|
|
|
test-wheel-linux-x64:
|
|
needs: [checks, build-wheel-linux-x64]
|
|
name: "Linux-x64: Test Wheels"
|
|
uses: ./.github/workflows/reusable_test_wheels.yml
|
|
with:
|
|
CONCURRENCY: push-linux-x64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: linux-x64
|
|
WHEEL_ARTIFACT_NAME: linux-x64-wheel
|
|
secrets: inherit
|
|
|
|
test-wheel-macos-arm64:
|
|
needs: [checks, build-wheel-macos-arm64]
|
|
name: "macos-arm64: Test Wheels"
|
|
uses: ./.github/workflows/reusable_test_wheels.yml
|
|
with:
|
|
CONCURRENCY: push-macos-arm64-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
PLATFORM: macos-arm64
|
|
WHEEL_ARTIFACT_NAME: macos-arm64-wheel
|
|
secrets: inherit
|
|
|
|
generate-pip-index:
|
|
name: "Generate Pip Index"
|
|
needs:
|
|
[build-wheel-linux-arm64, build-wheel-linux-x64, build-wheel-macos-arm64]
|
|
uses: ./.github/workflows/reusable_pip_index.yml
|
|
with:
|
|
CONCURRENCY: push-${{ github.ref_name }}-${{ inputs.CONCURRENCY }}
|
|
CHECK: false # we don't build wheels for all platforms on push-to-main
|
|
secrets: inherit
|