-
Notifications
You must be signed in to change notification settings - Fork 115
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
created cloud init workflow and documentation
Signed-off-by: greg pereira <[email protected]>
- Loading branch information
1 parent
00a213a
commit 5ce8e61
Showing
2 changed files
with
97 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
name: Cloud Init Bootc image builds | ||
|
||
on: | ||
schedule: # schedule the job to run at 12 AM daily | ||
- cron: '0 0 * * *' | ||
|
||
pull_request: | ||
branches: | ||
- main | ||
paths: | ||
- '.github/workflows/cloud_init_bootc.yaml' | ||
|
||
workflow_dispatch: | ||
|
||
concurrency: | ||
group: ${{ github.workflow }} | ||
cancel-in-progress: false | ||
|
||
env: | ||
REGISTRY: quay.io | ||
REGISTRY_ORG: ai-lab | ||
|
||
jobs: | ||
instructlab-nvidia: | ||
if: "!contains(github.event.pull_request.labels.*.name, 'hold-tests') && github.repository == 'containers/ai-lab-recipes'" | ||
strategy: | ||
matrix: | ||
include: | ||
- vendor: nvidia | ||
arch: amd64 | ||
- vendor: amd | ||
arch: amd64 | ||
- vendor: intel | ||
arch: amd64 | ||
runs-on: ubuntu-latest | ||
# runs-on: ubuntu-22.04-2core # starting with minimal option | ||
steps: | ||
- name: Remove unnecessary files | ||
run: | | ||
sudo rm -rf /usr/share/dotnet | ||
sudo rm -rf "$AGENT_TOOLSDIRECTORY" | ||
- uses: actions/[email protected] | ||
|
||
- name: Build Image | ||
id: build_image | ||
run: make cloud VENDOR=${{ matrix.vendor}} ARCH=${{ matrix.arch }} | ||
working-directory: ./training/cloud | ||
|
||
- name: Login to Container Registry | ||
if: github.event_name == 'push' && github.ref == 'refs/heads/main' | ||
uses: redhat-actions/[email protected] | ||
with: | ||
registry: ${{ env.REGISTRY }} | ||
username: ${{ secrets.REGISTRY_USER }} | ||
password: ${{ secrets.REGISTRY_PASSWORD }} | ||
|
||
- name: Push image | ||
if: github.event_name == 'push' && github.ref == 'refs/heads/main' | ||
uses: redhat-actions/[email protected] | ||
with: | ||
image: ${{ steps.build_image.outputs.image }} | ||
tags: ${{ steps.build_image.outputs.tags }} | ||
registry: ${{ env.REGISTRY }} | ||
|
||
- name: Publish Job Results to Slack | ||
id: slack | ||
if: always() | ||
uses: slackapi/[email protected] | ||
with: | ||
payload: | | ||
{ | ||
"text": "${{ github.workflow }} workflow status: ${{ job.status }}\n${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" | ||
} | ||
env: | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Introduction | ||
|
||
This cloud directory is for providing a shim around the `bootc` images to use cloud init. This is important because when using the `bootc install to-filesystem` it wipes the `/etc` directory, which kills any remote connection to a cloud compute resource, as the `ssh` keys required for that connection get removed. Cloud init will take care of generating the new ssh keys required to maintain the connection | ||
|
||
# Usage | ||
|
||
## Common usage pieces | ||
|
||
Currently were focusing support on the bootc images for just `amd64`, but we should have other arch builds coming soon. | ||
|
||
### Nvidia | ||
|
||
`make cloud VENDOR=nvidia ARCH=amd64` | ||
|
||
### Intel | ||
|
||
`make cloud VENDOR=intel ARCH=amd64` | ||
|
||
### AMD | ||
|
||
`make cloud VENDOR=amd ARCH=amd64` |