name: Register the model for the given pipeline branch # on: # push: # branches: # - "model-**" on: pull_request: types: - closed branches: - "master" permissions: write-all jobs: Promote-Model-To-Dev: if: github.event.pull_request.merged == true runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install packages to retrieve artifacts run: | pip install --upgrade pip pip install -r modules/ml-pipeline/src/pipeline/src/requirements/version_control/requirements.txt - name: Retrieve artifacts (dvc.lock) env: AWS_ACCESS_KEY_ID: ${{ secrets.ROBOT_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.ROBOT_AWS_SECRET_ACCESS_KEY }} run: | cd modules/ml-pipeline/src/pipeline/src dvc pull -r experiments - name: Push artifacts to Dev env: AWS_ACCESS_KEY_ID: ${{ secrets.ROBOT_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.ROBOT_AWS_SECRET_ACCESS_KEY }} run: | cd modules/ml-pipeline/src/pipeline/src dvc push -r dev Register-New-Model: if: github.event.pull_request.merged == true runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install packages to register model env: AWS_ACCESS_KEY_ID: ${{ secrets.ROBOT_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.ROBOT_AWS_SECRET_ACCESS_KEY }} run: | pip install --upgrade pip pip install -r modules/ml-pipeline/src/pipeline/src/requirements/version_control/requirements.txt - name: Register Model env: REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | REGISTER_MODEL_NAME=$(echo ${{ github.event.pull_request.head.ref }} | awk -F"-" '{print $1}') # REGISTER_MODEL_NAME=$(echo ${{github.ref_name}} | awk -F"-" '{print $1}') git config user.name "Github-Bot" git config user.email "Github-Bot" git fetch origin git merge origin/master git pull gto register ${REGISTER_MODEL_NAME} gto assign ${REGISTER_MODEL_NAME} --stage dev gto show Register-Prediction-Image-Dev: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install packages to retrieve artifacts env: AWS_ACCESS_KEY_ID: ${{ secrets.ROBOT_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.ROBOT_AWS_SECRET_ACCESS_KEY }} run: | pip install --upgrade pip pip install -r modules/ml-pipeline/src/pipeline/src/requirements/version_control/requirements.txt - name: Retrieve artifacts (dvc.lock) env: AWS_ACCESS_KEY_ID: ${{ secrets.ROBOT_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.ROBOT_AWS_SECRET_ACCESS_KEY }} run: | cd modules/ml-pipeline/src/pipeline/src dvc pull -r dev - name: Build Prediction docker image (TODO - NEED LAMBDA IMAGE) run: | cd modules/ml-pipeline/src/pipeline/ docker build . --file Prediction.Dockerfile --tag prediction_test - name: ECR Login - Dev env: AWS_ACCESS_KEY_ID: ${{ secrets.ROBOT_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.ROBOT_AWS_SECRET_ACCESS_KEY }} run: | echo "LOGIN TO ECR" - name: Push Prediction image to ECR - Dev env: AWS_ACCESS_KEY_ID: ${{ secrets.ROBOT_AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.ROBOT_AWS_SECRET_ACCESS_KEY }} run: | echo "PUSH TO ECR"