Skip to content

ci: Build, test, publish a wheel #28

ci: Build, test, publish a wheel

ci: Build, test, publish a wheel #28

# Copyright (c) 2020-2021, NVIDIA CORPORATION.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Build, test, and publish a PyPi wheel (to testpypi)
on:
pull_request:
defaults:
run:
shell: bash -x -e -u -o pipefail {0}
jobs:
build-test-publish-wheel:
uses: NVIDIA/NeMo-FW-CI-templates/.github/workflows/[email protected]
with:
image-name: nemo_container
dockerfile: Dockerfile.ci
image-label: nemo-core
build-args: |
IMAGE_LABEL=nemo-core
prune-filter-timerange: 24h
dry-run: true
python-package: nemo
container-workdir: /workspace
environment: public
secrets:
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
notify:
runs-on: ubuntu-latest
if: always()
env:
PR_NUMBER: ${{ github.event.number }}
PR_URL: https://github.com/${{ github.repository }}/pull/${{ github.event.number }}
RUN_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
SLACK_WEBHOOK_ADMIN: ${{ secrets.SLACK_WEBHOOK_ADMIN }}
steps:
- name: Send Slack alert
env:
MESSAGE: >
beep boop 🤖: <${{ env.RUN_URL }}|Build, test, and push PyPi wheel (test)> has failed for <${{ env.PR_URL }}|#${{ env.PR_NUMBER }}>.
cc: <!subteam^$SLACK_WEBHOOK_ADMIN>
run: |
MESSAGE=$(jq -cn --arg message "$MESSAGE" '{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": $message
}
}
]
}')
curl -X POST -H "Content-type: application/json" --data "$MESSAGE" $SLACK_WEBHOOK_TEST