Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions .github/workflows/build-from-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,27 +40,6 @@ jobs:
dockerfile: ./govtool/metadata-validation/Dockerfile
image: ghcr.io/${{ github.repository }}-metadata-validation
qovery_container_name: govtool-metadata-validation
- branch: main
network: pre-prod-govtool
workdir: ./govtool/backend
name: govtool-backend
dockerfile: ./govtool/backend/Dockerfile.qovery
image: ghcr.io/${{ github.repository }}-backend
qovery_container_name: govtool-backend
- branch: main
network: pre-prod-govtool
workdir: ./govtool/frontend
name: govtool-frontend
dockerfile: ./govtool/frontend/Dockerfile.qovery
image: ghcr.io/${{ github.repository }}-frontend
qovery_container_name: govtool-frontend
- branch: main
network: pre-prod-govtool
workdir: ./govtool/metadata-validation
name: govtool-metadata-validation
dockerfile: ./govtool/metadata-validation/Dockerfile
image: ghcr.io/${{ github.repository }}-metadata-validation
qovery_container_name: govtool-metadata-validation
- branch: main
network: prod-govtool
workdir: ./govtool/backend
Expand Down
149 changes: 73 additions & 76 deletions .github/workflows/build-from-test.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
name: Check and Build QA

on:
push:
branches:
- test
workflow_dispatch:

permissions:
Expand Down Expand Up @@ -131,80 +128,80 @@ jobs:
CLEAN_NETWORK=$(echo "${{ matrix.network }}" | sed 's/-govtool$//')
echo "CLEAN_NETWORK=$CLEAN_NETWORK" >> $GITHUB_ENV

- name: Build Docker image
uses: docker/build-push-action@v5
with:
context: ${{ matrix.workdir }}
file: ${{ matrix.dockerfile }}
tags: >
${{ steps.image_lowercase.outputs.lowercase }}-${{ env.CLEAN_NETWORK }}:${{ env.COMMIT_TAG }},
${{ steps.image_lowercase.outputs.lowercase }}-${{ env.CLEAN_NETWORK }}:${{ env.STATIC_TAG }}
load: false
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
outputs: type=docker,dest=/tmp/image-${{ matrix.name }}-${{ env.ENVIRONMENT }}.tar
build-args: |
VITE_APP_ENV=${{ secrets.VITE_APP_ENV }}
VITE_BASE_URL=${{ secrets.VITE_BASE_URL }}
VITE_METADATA_API_URL=${{ secrets.VITE_METADATA_API_URL }}
VITE_NETWORK_FLAG=${{ secrets.VITE_NETWORK_FLAG }}
VITE_SENTRY_DSN=${{ secrets.VITE_SENTRY_DSN }}
VITE_USERSNAP_SPACE_API_KEY=${{ secrets.VITE_USERSNAP_SPACE_API_KEY }}
VITE_IS_PROPOSAL_DISCUSSION_FORUM_ENABLED=${{ secrets.VITE_IS_PROPOSAL_DISCUSSION_FORUM_ENABLED }}
VITE_IS_GOVERNANCE_OUTCOMES_PILLAR_ENABLED=${{ secrets.VITE_IS_GOVERNANCE_OUTCOMES_PILLAR_ENABLED }}
VITE_OUTCOMES_API_URL=${{secrets.VITE_OUTCOMES_API_URL}}
VITE_PDF_API_URL=${{ secrets.VITE_PDF_API_URL }}
VITE_IPFS_GATEWAY=${{ secrets.IPFS_GATEWAY }}
VITE_IPFS_PROJECT_ID=${{ secrets.IPFS_PROJECT_ID }}
IPFS_GATEWAY=${{ secrets.IPFS_GATEWAY }}
IPFS_PROJECT_ID=${{ secrets.IPFS_PROJECT_ID }}

- name: Login to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Scan Docker image with Dockle
id: dockle
run: |
wget -q https://github.com/goodwithtech/dockle/releases/download/v0.4.14/dockle_0.4.14_Linux-64bit.tar.gz
tar zxf dockle_0.4.14_Linux-64bit.tar.gz
sudo mv dockle /usr/local/bin

dockle --exit-code 1 --exit-level fatal --format json -ak GHC_RELEASE_KEY -ak CABAL_INSTALL_RELEASE_KEY -ak STACK_RELEASE_KEY -ak KEY_SHA512 --input '/tmp/image-${{ matrix.name }}-${{ env.ENVIRONMENT }}.tar' --output ${{ matrix.workdir }}/dockle_scan_output.json
echo " dockle exited w/ $?"
cat ${{ matrix.workdir }}/dockle_scan_output.json

echo "outcome=success" >> $GITHUB_OUTPUT

- name: Debug TAG Before Docker Push
run: |
echo "Lowercase Image: ${{ steps.image_lowercase.outputs.lowercase }}"
echo "Network: ${{ matrix.network }}"
echo "COMMIT_TAG: ${{ env.COMMIT_TAG }}"
echo "STATIC_TAG: ${{ env.STATIC_TAG }}"
echo "Final Docker Tag: ${{ steps.image_lowercase.outputs.lowercase }}-${{ matrix.network}}:${{ env.TAG }}"
# - name: Build Docker image
# uses: docker/build-push-action@v5
# with:
# context: ${{ matrix.workdir }}
# file: ${{ matrix.dockerfile }}
# tags: >
# ${{ steps.image_lowercase.outputs.lowercase }}-${{ env.CLEAN_NETWORK }}:${{ env.COMMIT_TAG }},
# ${{ steps.image_lowercase.outputs.lowercase }}-${{ env.CLEAN_NETWORK }}:${{ env.STATIC_TAG }}
# load: false
# cache-from: type=local,src=/tmp/.buildx-cache
# cache-to: type=local,dest=/tmp/.buildx-cache
# outputs: type=docker,dest=/tmp/image-${{ matrix.name }}-${{ env.ENVIRONMENT }}.tar
# build-args: |
# VITE_APP_ENV=${{ secrets.VITE_APP_ENV }}
# VITE_BASE_URL=${{ secrets.VITE_BASE_URL }}
# VITE_METADATA_API_URL=${{ secrets.VITE_METADATA_API_URL }}
# VITE_NETWORK_FLAG=${{ secrets.VITE_NETWORK_FLAG }}
# VITE_SENTRY_DSN=${{ secrets.VITE_SENTRY_DSN }}
# VITE_USERSNAP_SPACE_API_KEY=${{ secrets.VITE_USERSNAP_SPACE_API_KEY }}
# VITE_IS_PROPOSAL_DISCUSSION_FORUM_ENABLED=${{ secrets.VITE_IS_PROPOSAL_DISCUSSION_FORUM_ENABLED }}
# VITE_IS_GOVERNANCE_OUTCOMES_PILLAR_ENABLED=${{ secrets.VITE_IS_GOVERNANCE_OUTCOMES_PILLAR_ENABLED }}
# VITE_OUTCOMES_API_URL=${{secrets.VITE_OUTCOMES_API_URL}}
# VITE_PDF_API_URL=${{ secrets.VITE_PDF_API_URL }}
# VITE_IPFS_GATEWAY=${{ secrets.IPFS_GATEWAY }}
# VITE_IPFS_PROJECT_ID=${{ secrets.IPFS_PROJECT_ID }}
# IPFS_GATEWAY=${{ secrets.IPFS_GATEWAY }}
# IPFS_PROJECT_ID=${{ secrets.IPFS_PROJECT_ID }}

# - name: Login to GHCR
# uses: docker/login-action@v2
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}

# - name: Scan Docker image with Dockle
# id: dockle
# run: |
# wget -q https://github.com/goodwithtech/dockle/releases/download/v0.4.14/dockle_0.4.14_Linux-64bit.tar.gz
# tar zxf dockle_0.4.14_Linux-64bit.tar.gz
# sudo mv dockle /usr/local/bin

# dockle --exit-code 1 --exit-level fatal --format json -ak GHC_RELEASE_KEY -ak CABAL_INSTALL_RELEASE_KEY -ak STACK_RELEASE_KEY -ak KEY_SHA512 --input '/tmp/image-${{ matrix.name }}-${{ env.ENVIRONMENT }}.tar' --output ${{ matrix.workdir }}/dockle_scan_output.json
# echo " dockle exited w/ $?"
# cat ${{ matrix.workdir }}/dockle_scan_output.json

# echo "outcome=success" >> $GITHUB_OUTPUT

# - name: Debug TAG Before Docker Push
# run: |
# echo "Lowercase Image: ${{ steps.image_lowercase.outputs.lowercase }}"
# echo "Network: ${{ matrix.network }}"
# echo "COMMIT_TAG: ${{ env.COMMIT_TAG }}"
# echo "STATIC_TAG: ${{ env.STATIC_TAG }}"
# echo "Final Docker Tag: ${{ steps.image_lowercase.outputs.lowercase }}-${{ matrix.network}}:${{ env.TAG }}"

- name: Push Docker image to GHCR
run: |
docker load -i '/tmp/image-${{ matrix.name }}-${{ env.ENVIRONMENT }}.tar'
rm -rf '/tmp/image-${{ matrix.name }}-${{ env.ENVIRONMENT }}.tar'
docker push ${{ steps.image_lowercase.outputs.lowercase }}-${{ env.CLEAN_NETWORK}}:${{ env.COMMIT_TAG }}

- name: Sleep for 20 Seconds
run: sleep 20

- name: Notify Qovery of new image tag
run: |
curl -i -X POST https://api.qovery.com/organization/${{ secrets.QOVERY_ORG_ID }}/container/deploy \
-H "Authorization: Token ${{ secrets.QOVERY_API_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{
"image_name": "intersectmbo/${{ matrix.name }}-${{ env.CLEAN_NETWORK }}",
"tag": "${{ env.COMMIT_TAG }}"
}'
# - name: Push Docker image to GHCR
# run: |
# docker load -i '/tmp/image-${{ matrix.name }}-${{ env.ENVIRONMENT }}.tar'
# rm -rf '/tmp/image-${{ matrix.name }}-${{ env.ENVIRONMENT }}.tar'
# docker push ${{ steps.image_lowercase.outputs.lowercase }}-${{ env.CLEAN_NETWORK}}:${{ env.COMMIT_TAG }}

# - name: Sleep for 20 Seconds
# run: sleep 20

# - name: Notify Qovery of new image tag
# run: |
# curl -i -X POST https://api.qovery.com/organization/${{ secrets.QOVERY_ORG_ID }}/container/deploy \
# -H "Authorization: Token ${{ secrets.QOVERY_API_TOKEN }}" \
# -H "Content-Type: application/json" \
# -d '{
# "image_name": "intersectmbo/${{ matrix.name }}-${{ env.CLEAN_NETWORK }}",
# "tag": "${{ env.COMMIT_TAG }}"
# }'

- name: Add tag as a PR comment
uses: ubie-oss/comment-to-merged-pr-action@v0.3.3
Expand Down
Loading