Skip to content

Fix for release workflow #28

Fix for release workflow

Fix for release workflow #28

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
jobs:
build-release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -r requirements.txt
- name: Train model
run: python src/train.py
- name: Build docker image
run: docker build -t ghcr.io/${{ github.repository }}:${{ github.ref_name }} .
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push image
run: docker push ghcr.io/${{ github.repository }}:${{ github.ref_name }}
- name: Read Metrics
id: metrics
shell: bash
run: |
METRICS=$(jq -c . model/metrics.json)
echo "metrics=$METRICS" >> $GITHUB_OUTPUT
- name: Read Changelog
id: changelog
shell: bash
run: |
delimiter="CHANGELOG_EOF"
echo "changelog<<$delimiter" >> $GITHUB_OUTPUT
cat CHANGELOG.md >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name: Publish release
uses: softprops/action-gh-release@v2
with:
files: |
model/metrics.json
generate_release_notes: true
body: |
# Release ${{ github.ref_name }}
## Model Performance
- RMSE (Test Set): ${{ fromJson(steps.metrics.outputs.metrics).rmse }}
- R² Score: ${{ fromJson(steps.metrics.outputs.metrics).r2 }}
## Changelog
${{ steps.changelog.outputs.changelog }}
## Technical Details
- Python 3.11
- Docker image available at: ghcr.io/${{ github.repository }}:${{ github.ref_name }}