Skip to content

Commit

Permalink
ci: Use Nemo FW templates (#328)
Browse files Browse the repository at this point in the history
Signed-off-by: Oliver Koenig <okoenig@nvidia.com>
  • Loading branch information
ko3n1g authored Nov 4, 2024
1 parent 35e5bd7 commit 8c4e61a
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 190 deletions.
72 changes: 0 additions & 72 deletions .github/workflows/_build_container.yml

This file was deleted.

9 changes: 8 additions & 1 deletion .github/workflows/cicd-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,14 @@ jobs:
build-container:
if: ${{ github.event.label.name == 'Run CICD' || github.ref == 'refs/heads/main' }}
uses: ./.github/workflows/_build_container.yml
uses: NVIDIA/NeMo-FW-CI-templates/.github/workflows/_build_container.yml@v0.1.0
with:
image-name: nemo_aligner_container
dockerfile: Dockerfile
image-label: nemo-aligner
build-args: |
MAX_JOBS=32
ALIGNER_COMMIT=${{ github.event.pull_request.head.sha || github.sha }}
Unit_Tests:
name: ${{ matrix.test_case }}
Expand Down
124 changes: 8 additions & 116 deletions .github/workflows/release-freeze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,119 +12,11 @@ on:
- pre_release

jobs:
create-release-branch:
runs-on: ubuntu-latest
if: contains(fromJSON('["ko3n1g"]'), github.actor)
environment:
name: main
outputs:
version: ${{ steps.release-branch.outputs.version }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: ${{ github.run_id }}
fetch-depth: 0
fetch-tags: true
ref: main
token: ${{ secrets.PAT }}

- name: Get release branch ref
id: release-branch
run: |
cd ${{ github.run_id }}
if [[ "${{ inputs.type_of_release }}" != "pre_release" ]]; then
sed -i "/^PRE_RELEASE/c\PRE_RELEASE = ''" nemo_aligner/package_info.py
fi
VERSION=$(python -c 'import nemo_aligner; print(nemo_aligner.__version__)')
echo "Release version r$VERSION" > version
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
git switch --force-create r$VERSION origin/main
git push -u origin r$VERSION --force
bump-next-version:
runs-on: ubuntu-latest
needs: [create-release-branch]
environment:
name: main
env:
VERSION_FILE: nemo_aligner/package_info.py
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: ${{ github.run_id }}
fetch-depth: 0
fetch-tags: true
ref: main
token: ${{ secrets.PAT }}

- name: Bump version
id: bump-version
run: |
cd ${{ github.run_id }}
PRE_RELEASE=$(cat nemo_aligner/package_info.py | awk '/^PRE_RELEASE = /' | awk -F"= " '{print $2}' | tr -d '"' | tr -d "'")
MAJOR=$(cat nemo_aligner/package_info.py | awk '/^MAJOR = /' | awk -F"= " '{print $2}')
MINOR=$(cat nemo_aligner/package_info.py | awk '/^MINOR = /' | awk -F"= " '{print $2}')
PATCH=$(cat nemo_aligner/package_info.py | awk '/^PATCH = /' | awk -F"= " '{print $2}')
if [[ "${{ inputs.type_of_release }}" == "pre_release" ]]; then
NEXT_MAJOR=$MAJOR
NEXT_MINOR=$MINOR
NEXT_PRE_RELEASE=rc$(( $(echo $PRE_RELEASE | awk -F"rc" '{print $2}') + 1))
elif [[ "${{ inputs.type_of_release }}" == "major" ]]; then
NEXT_MAJOR=$(( MAJOR + 1))
NEXT_MINOR=0
NEXT_PRE_RELEASE=rc0
else
NEXT_MAJOR=$MAJOR
NEXT_MINOR=$(( MINOR + 1))
NEXT_PRE_RELEASE=rc0
fi
sed -i "/^MAJOR/c\MAJOR = $NEXT_MAJOR" nemo_aligner/package_info.py
sed -i "/^MINOR/c\MINOR = $NEXT_MINOR" nemo_aligner/package_info.py
sed -i "/^PRE_RELEASE/c\PRE_RELEASE = '$NEXT_PRE_RELEASE'" nemo_aligner/package_info.py
echo "version=$NEXT_MAJOR.$NEXT_MINOR.$PATCH$NEXT_PRE_RELEASE" >> "$GITHUB_OUTPUT"
- name: Create Version Bump PR
uses: peter-evans/create-pull-request@v6
id: create-pull-request
with:
path: ${{ github.run_id }}
branch: bot/chore/version-bump-${{ steps.bump-version.outputs.version }}
title: 'Version bump to `${{ steps.bump-version.outputs.version }}`'
body: |
🚀 Version bump NeMo-Aligner to `${{ steps.bump-version.outputs.version }}`
commit-message: "[🤠]: Howdy folks, let's bump NeMo-Aligner `${{ steps.bump-version.outputs.version }}` !"
signoff: true
assignees: okoenig
labels: 'Run CICD'

notify:
runs-on: ubuntu-latest
needs: [create-release-branch, bump-next-version]
environment:
name: main
steps:
- name: Main
run: |
MESSAGE='{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Releasebot 🤖: NeMo-Aligner has been frozen 🎉 to branch `r${{ needs.create-release-branch.outputs.version }}`"
}
}
]
}'
curl -X POST -H "Content-type: application/json" --data "$MESSAGE" ${{ secrets.SLACK_RELEASE_ENDPOINT }}
code-freeze:
uses: NVIDIA/NeMo-FW-CI-templates/.github/workflows/_code_freeze.yml@v0.1.0
with:
name_of_library: NeMo-Aligner
type_of_release: ${{ inputs.type_of_release }}
python_package: nemo_aligner
secrets:
SLACK_RELEASE_ENDPOINT: ${{ secrets.SLACK_RELEASE_ENDPOINT }}
4 changes: 3 additions & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ on:

jobs:
build-container:
uses: ./.github/workflows/_build_container.yml
uses: NVIDIA/NeMo-FW-CI-templates/.github/workflows/_build_container.yml@v0.1.0
with:
image-label: nemo-aligner

build-and-test-wheel:
needs: build-container
Expand Down
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ pip install --no-cache-dir --no-deps -e .
EOF

FROM ${BASE_IMAGE} as final
LABEL "nemo.library"="nemo-aligner"
WORKDIR /opt
# needed in case git complains that it can't detect a valid email, this email is fake but works
RUN git config --global user.email "worker@nvidia.com"
Expand Down

0 comments on commit 8c4e61a

Please sign in to comment.