Skip to content

Merge pull request #1 from vpgits/restore #34

Merge pull request #1 from vpgits/restore

Merge pull request #1 from vpgits/restore #34

name: CD | Build-Test-Release
on:
push:
branches:
- "main"
release:
types: [published]
workflow_dispatch:
inputs:
image_tag:
description: "Docker Image Tag"
required: false
default: "dev"
jobs:
docker-build:
runs-on: self-hosted
environment: production
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Github container Registry
uses: docker/login-action@v3
with:
username: ${{ vars.GH_ORG }} # GitHub username or organization name
password: ${{ secrets.DOCKER_SECRET }} # GitHub Token for authentication
# Build and push step
- name: Build and push
uses: docker/build-push-action@v4
with:
push: true
tags: vpgits/mistral-7b-v0.1-qagen-v2.1-awq:latest
build-args: |
GH_ORG=${{secrets.GH_ORG}}
GH_EMAIL=${{secrets.GH_EMAIL}}
HUGGINGFACE_PAT=${{secrets.HUGGINGFACE_PAT}}
dev-test:
needs: docker-build
runs-on: ubuntu-latest
environment: production
steps:
# Checkout
- uses: actions/checkout@v4
# Tests
- name: Run Tests
if: github.event_name != 'release'
id: run-tests
uses: direlines/runpod-test-runner@v1.7
with:
image-tag: vpgits/mistral-7b-v0.1-qagen-v2.1-awq:latest
runpod-api-key: ${{ secrets.RUNPOD_API_KEY }}
request-timeout: 600
# Pass/Fail
- name: Verify Tests
env:
TOTAL_TESTS: ${{ steps.run-tests.outputs.total-tests }}
SUCCESSFUL_TESTS: ${{ steps.run-tests.outputs.succeeded }}
RESULTS: ${{ steps.run-tests.outputs.results }}
run: |
echo "Total tests: $TOTAL_TESTS"
echo "Successful tests: $SUCCESSFUL_TESTS"
echo "Full results: $RESULTS"
if [ "$TOTAL_TESTS" != "$SUCCESSFUL_TESTS" ]; then
exit 1
fi