Merge pull request #16 from Humanitec-DemoOrg/humctl-0-22-0 #3
Workflow file for this run
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: push-tag | |
permissions: | |
contents: read | |
on: | |
push: | |
tags: | |
- 'v*' | |
env: | |
ENVIRONMENT_ID: development | |
HUMCTL_VERSION: '0.22.0' | |
jobs: | |
deploy-humanitec: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install humctl | |
uses: humanitec/setup-cli-action@v1 | |
with: | |
version: ${{ env.HUMCTL_VERSION }} | |
- name: create humanitec app | |
run: | | |
humctl create app ${{ vars.APP_NAME }} \ | |
--token ${{ secrets.HUMANITEC_TOKEN }} \ | |
--org ${{ secrets.HUMANITEC_ORG }} \ | |
--name ${{ vars.APP_NAME }} \ | |
|| true | |
- name: humctl score deploy | |
run: | | |
HUMANITEC_CLI_ALPHA_FEATURES=score-deploy humctl score deploy \ | |
--deploy-config apps/score.deploy.yaml \ | |
--message ${{ github.ref_name }} \ | |
--workload-source-url-prefix "https://github.com/${{ github.repository }}/blob/${{ github.ref_name }}/apps" \ | |
--token ${{ secrets.HUMANITEC_TOKEN }} \ | |
--org ${{ secrets.HUMANITEC_ORG }} \ | |
--app ${{ vars.APP_NAME }} \ | |
--env ${{ env.ENVIRONMENT_ID }} \ | |
--wait | |
- name: get deployment information | |
if: ${{ always() }} | |
run: | | |
DEPLOYMENT_ID=$(humctl get deployment . -o json \ | |
--token ${{ secrets.HUMANITEC_TOKEN }} \ | |
--org ${{ secrets.HUMANITEC_ORG }} \ | |
--app ${{ vars.APP_NAME }} \ | |
--env ${{ env.ENVIRONMENT_ID }} \ | |
| jq -r .metadata.id) | |
ENV_URL="https://app.humanitec.io/orgs/"${{ secrets.HUMANITEC_ORG }}"/apps/"${{ vars.APP_NAME }}"/envs/"${{ env.ENVIRONMENT_ID }}"/deploys/"${DEPLOYMENT_ID} | |
DOMAINS=$(humctl get active-resources \ | |
--token ${{ secrets.HUMANITEC_TOKEN }} \ | |
--org ${{ secrets.HUMANITEC_ORG }} \ | |
--app ${{ vars.APP_NAME }} \ | |
--env ${{ env.ENVIRONMENT_ID }} -o json \ | |
| jq -r '. | map(. | select(.metadata.type == "dns")) | map((.metadata.res_id | split(".") | .[1]) + ": [" + .status.resource.host + "](https://" + .status.resource.host + ")") | join("\n")') | |
DEPLOYMENT_ERRORS=$(humctl get deployment-error \ | |
--token ${{ secrets.HUMANITEC_TOKEN }} \ | |
--org ${{ secrets.HUMANITEC_ORG }} \ | |
--app ${{ vars.APP_NAME }} \ | |
--env ${{ env.ENVIRONMENT_ID }} -o json) | |
if [ "$DEPLOYMENT_ERRORS" = "[]" ]; then | |
echo "## Deployment successfully completed for ${{ env.ENVIRONMENT_ID }}! :tada:" | |
echo "" | |
else | |
echo "## Deployment failed for ${{ env.ENVIRONMENT_ID }}! :x:" | |
echo "" | |
echo "### Errors:" | |
echo "" | |
echo "$DEPLOYMENT_ERRORS" | |
echo "" | |
fi | |
echo "### View in Humanitec: $ENV_URL" | |
echo "" | |
echo "### Deployment ID: $DEPLOYMENT_ID" | |
echo "" | |
echo "### Domains:" | |
echo "" | |
echo "$DOMAINS" | |
echo "" | |
echo "### Deployment diff:" | |
echo "" | |
humctl diff sets deploy/+1 deploy/. \ | |
--token ${{ secrets.HUMANITEC_TOKEN }} \ | |
--org ${{ secrets.HUMANITEC_ORG }} \ | |
--app ${{ vars.APP_NAME }} \ | |
--env ${{ env.ENVIRONMENT_ID }} -o json | |
echo "" |