Skip to content

Merge pull request #16 from Humanitec-DemoOrg/humctl-0-22-0 #3

Merge pull request #16 from Humanitec-DemoOrg/humctl-0-22-0

Merge pull request #16 from Humanitec-DemoOrg/humctl-0-22-0 #3

Workflow file for this run

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 ""