Skip to content

Kickoff nightly builds #140

Kickoff nightly builds

Kickoff nightly builds #140

name: Kickoff Nightly builds
run-name: Kickoff nightly builds
on:
# Run manually
workflow_dispatch:
# Run on Mon-Fri at 4PM PST / 5PM PDT
schedule:
- cron: '0 0 * * 1-5'
jobs:
generate-version-matrix:
name: Generate version matrix
runs-on: ubuntu-latest
if: github.repository == 'aws/sagemaker-distribution'
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
patch-versions: ${{ steps.set-matrix.outputs.patch-versions }}
minor-versions: ${{ steps.set-matrix.outputs.minor-versions }}
major-versions: ${{ steps.set-matrix.outputs.major-versions }}
steps:
- uses: actions/checkout@v4
- name: Get versions from schedule
id: set-matrix
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
SCHEDULE='${{ vars.NIGHTLY_BUILD_SCHEDULE }}'
echo "Triggering builds for $(echo $SCHEDULE | jq -c '.active_nightly_builds')"
echo "matrix=$(echo $SCHEDULE | jq -c)" >> $GITHUB_OUTPUT
echo "patch-versions=$(echo $SCHEDULE | jq -c '.patch_base_versions')" >> $GITHUB_OUTPUT
echo "minor-versions=$(echo $SCHEDULE | jq -c '.minor_base_versions')" >> $GITHUB_OUTPUT
echo "major-versions=$(echo $SCHEDULE | jq -c '.major_base_versions')" >> $GITHUB_OUTPUT
start-minor-build:
name: Start nightly minor version build
needs: generate-version-matrix
permissions:
pull-requests: write
contents: write
id-token: write
strategy:
matrix:
version: ${{ fromJson(needs.generate-version-matrix.outputs.minor-versions) }}
fail-fast: false
uses: aws/sagemaker-distribution/.github/workflows/build-image.yml@main
secrets: inherit
with:
release-type: "minor"
base-version: ${{ matrix.version }}
start-patch-build:
name: Start nightly patch version build
needs: generate-version-matrix
permissions:
pull-requests: write
contents: write
id-token: write
strategy:
matrix:
version: ${{ fromJson(needs.generate-version-matrix.outputs.patch-versions) }}
fail-fast: false
uses: aws/sagemaker-distribution/.github/workflows/build-image.yml@main
secrets: inherit
with:
release-type: "patch"
base-version: ${{ matrix.version }}
start-major-build:
name: Start nightly major version build
needs: generate-version-matrix
permissions:
pull-requests: write
contents: write
id-token: write
strategy:
matrix:
version: ${{ fromJson(needs.generate-version-matrix.outputs.major-versions) }}
fail-fast: false
uses: aws/sagemaker-distribution/.github/workflows/build-image.yml@main
secrets: inherit
with:
release-type: "major"
base-version: ${{ matrix.version }}