name: Instructlab image builds on: schedule: # schedule the job to run at 12 AM daily - cron: '0 0 * * *' # pull_request: # branches: # - main # paths: # - .github/workflows/instructlab_baseimages_build_push.yaml # - training/nvidia # push: # branches: # - main # paths: # - .github/workflows/instructlab_baseimages_build_push.yaml # - training/nvidia 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 # 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/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 }}