add quotes around value sent to trigger METplus workflow and remove u… #522
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Docker Image and Trigger METplus Workflow | |
on: | |
push: | |
branches: | |
- develop | |
- 'main_v[0-9]+.[0-9]+' | |
paths-ignore: | |
- 'docs/**' | |
workflow_dispatch: | |
env: | |
DOCKERHUB_REPO: dtcenter/met-dev | |
jobs: | |
build_met_docker: | |
name: Handle Docker Image | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get branch name | |
id: get_branch_name | |
run: echo branch_name=${GITHUB_REF#refs/heads/} >> $GITHUB_OUTPUT | |
- name: Build Docker Image | |
run: .github/jobs/build_docker_image.sh | |
env: | |
SOURCE_BRANCH: ${{ steps.get_branch_name.outputs.branch_name }}-lite | |
MET_BASE_REPO: met-base | |
MET_BASE_TAG: v3.3 | |
- name: Push Docker Image | |
run: .github/jobs/push_docker_image.sh | |
env: | |
SOURCE_BRANCH: ${{ steps.get_branch_name.outputs.branch_name }}-lite | |
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} | |
trigger_metplus: | |
name: Trigger METplus testing workflow | |
runs-on: ubuntu-latest | |
needs: build_met_docker | |
steps: | |
- name: Print GitHub values for reference | |
env: | |
GITHUB_CONTEXT: ${{ toJson(github) }} | |
run: echo "$GITHUB_CONTEXT" | |
- name: Checkout code from this repo | |
uses: actions/checkout@v4 | |
- name: Get METplus repo for component version script | |
uses: actions/checkout@v4 | |
with: | |
repository: 'dtcenter/METplus' | |
ref: 'develop' | |
path: 'METplus' | |
- name: Get version from ref (branch) | |
id: get_version | |
run: | | |
version=$(cut -d "/" -f3 <<< "${GITHUB_REF}") | |
echo "version=${version}" >> $GITHUB_OUTPUT | |
- id: get_metplus_branch | |
run: | | |
repo=${{ github.repository }} | |
repo=${repo#*/} | |
version=${{ steps.get_version.outputs.version }} | |
if [ "${version}" == "develop" ]; then | |
metplus_branch=develop | |
else | |
cmd="$GITHUB_WORKSPACE/METplus/metplus/component_versions.py -i ${repo} -v ${version} -o METplus -f main_v{X}.{Y}" | |
echo $cmd | |
metplus_branch=$($cmd) | |
fi | |
# if no branch can be determined, exit and error | |
if [ -z "${metplus_branch}" ]; then | |
echo "ERROR: Could not get METplus branch" | |
exit 1 | |
fi | |
# if branch doesn't exist in remote, do not trigger METplus workflow | |
branch_exists=$(git -C $GITHUB_WORKSPACE/METplus ls-remote origin ${metplus_branch}) | |
if [ -z "${branch_exists}" ]; then | |
echo "METplus branch ${metplus_branch} does not exist yet" | |
metplus_branch=none | |
fi | |
echo "metplus_branch=${metplus_branch}" >> $GITHUB_OUTPUT | |
- if: ( steps.get_metplus_branch.outputs.metplus_branch != 'none' ) | |
uses: actions/github-script@v7 | |
with: | |
github-token: ${{ secrets.METPLUS_BOT_TOKEN }} | |
script: | | |
await github.rest.actions.createWorkflowDispatch({ | |
owner: 'dtcenter', | |
repo: 'METplus', | |
workflow_id: 'testing.yml', | |
ref: '${{ steps.get_metplus_branch.outputs.metplus_branch }}', | |
inputs: { | |
repository: '${{ github.repository }}', | |
ref: '${{ github.ref }}', | |
actor: '${{ github.actor }}', | |
sha: '${{ github.sha }}', | |
pusher_email: '${{ github.event.pusher.email }}' | |
}, | |
}); |