44 push :
55 branches :
66 - add-charm
7+ - old-dev-deployment
78 - main
89
910env :
@@ -24,13 +25,15 @@ jobs:
2425 run : sudo snap install charmcraft --classic --channel=latest/edge
2526
2627 - name : Pack charm
27- run : charmcraft pack -v --project-dir ./charm
28+ run : |
29+ cd charm
30+ charmcraft pack -v --project-dir ./
2831
2932 - name : Upload charm
3033 uses : actions/upload-artifact@v4
3134 with :
3235 name : cs-canonical-com-charm
33- path : ./*.charm
36+ path : ./charm/ *.charm
3437
3538 pack-rock :
3639 runs-on : ubuntu-latest
5154
5255 - name : Create repositories directory
5356 run : |
54- mkdir -m 777 repositories
55- mkdir -m 777 tree-cache
57+ mkdir -m 777 repositories
58+ mkdir -m 777 tree-cache
5659
5760 - name : Setup Rockcraft
5861 run : sudo snap install rockcraft --classic --channel=latest/edge
@@ -119,7 +122,13 @@ jobs:
119122 - name : Deploy Application to staging
120123 run : |
121124 export JUJU_MODEL=admin/stg-cs-canonical-com
122- juju refresh cs-canonical-com --path ./cs-canonical-com_ubuntu-22.04-amd64.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }}
125+ if juju status --relations | grep -q "^cs-canonical-com"; then
126+ echo "Application 'cs-canonical-com' exists. Running juju refresh..."
127+ juju refresh cs-canonical-com --path ./*.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }}
128+ else
129+ echo "Application 'cs-canonical-com' not found. Running juju deploy..."
130+ juju deploy ./*.charm cs-canonical-com --resource flask-app-image=${{ needs.publish-image.outputs.image_url }}
131+ fi
123132 juju wait-for application cs-canonical-com --query='name=="cs-canonical-com" && (status=="active" || status=="idle")'
124133
125134 deploy-production :
@@ -157,5 +166,11 @@ jobs:
157166 - name : Deploy Application to production
158167 run : |
159168 export JUJU_MODEL=admin/prod-cs-canonical-com
160- juju refresh cs-canonical-com --path ./cs-canonical-com_ubuntu-22.04-amd64.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }}
169+ if juju status --relations | grep -q "^cs-canonical-com"; then
170+ echo "Application 'cs-canonical-com' exists. Running juju refresh..."
171+ juju refresh cs-canonical-com --path ./*.charm --resource flask-app-image=${{ needs.publish-image.outputs.image_url }}
172+ else
173+ echo "Application 'cs-canonical-com' not found. Running juju deploy..."
174+ juju deploy ./*.charm cs-canonical-com --resource flask-app-image=${{ needs.publish-image.outputs.image_url }}
175+ fi
161176 juju wait-for application cs-canonical-com --query='name=="cs-canonical-com" && (status=="active" || status=="idle")'
0 commit comments