|
|
name: Instructlab image builds |
|
|
|
|
|
on: |
|
|
schedule: |
|
|
- cron: '0 0 * * *' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
workflow_dispatch: |
|
|
|
|
|
concurrency: |
|
|
group: ${{ github.workflow }} |
|
|
cancel-in-progress: false |
|
|
|
|
|
env: |
|
|
REGISTRY: ghcr.io |
|
|
REGISTRY_ORG: containers |
|
|
|
|
|
jobs: |
|
|
instructlab-nvidia: |
|
|
if: "!contains(github.event.pull_request.labels.*.name, 'hold-tests') && github.repository == 'containers-mirror/ai-lab-recipes'" |
|
|
strategy: |
|
|
matrix: |
|
|
include: |
|
|
- make_target: nvidia |
|
|
- make_target: amd |
|
|
runs-on: ubuntu-latest |
|
|
|
|
|
steps: |
|
|
- name: Remove unnecessary files |
|
|
run: | |
|
|
sudo rm -rf /usr/share/dotnet |
|
|
sudo rm -rf "$AGENT_TOOLSDIRECTORY" |
|
|
|
|
|
- uses: actions/checkout@v4.1.7 |
|
|
|
|
|
- name: Build Image |
|
|
id: build_image |
|
|
run: make ${{ matrix.make_target}} |
|
|
working-directory: ./training/instructlab |
|
|
|
|
|
- name: Login to Container Registry |
|
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main' |
|
|
uses: redhat-actions/podman-login@v1.7 |
|
|
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/push-to-registry@v2.8 |
|
|
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/slack-github-action@v1.26.0 |
|
|
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 }} |
|
|
|