diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index b64014d..cc87ea5 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -16,6 +16,8 @@ jobs: prepare: name: ๐Ÿ” Prepare Environment runs-on: docker + container: + image: catthehacker/ubuntu:act-latest outputs: target: ${{ steps.determine.outputs.target }} image_tag: ${{ steps.determine.outputs.image_tag }} @@ -26,6 +28,11 @@ jobs: directus_host: ${{ steps.determine.outputs.directus_host }} project_name: ${{ steps.determine.outputs.project_name }} steps: + - name: ๐Ÿงน Maintenance (Runner Cleanup) + run: | + docker image prune -f + docker builder prune -f --filter "until=24h" + - name: Checkout repository uses: actions/checkout@v4 with: @@ -73,8 +80,11 @@ jobs: needs: prepare if: needs.prepare.outputs.target != 'skip' runs-on: docker + container: + image: catthehacker/ubuntu:act-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: @@ -94,25 +104,36 @@ jobs: needs: prepare if: needs.prepare.outputs.target != 'skip' runs-on: docker + container: + image: catthehacker/ubuntu:act-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 + + - name: ๐Ÿณ Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: ๐Ÿ” Registry Login run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login registry.infra.mintel.me -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin - name: ๐Ÿ—๏ธ Build and Push run: | - docker build \ + docker buildx build \ + --pull \ + --platform linux/amd64,linux/arm64 \ --build-arg NPM_TOKEN=${{ secrets.NPM_TOKEN }} \ --build-arg NEXT_PUBLIC_BASE_URL=${{ needs.prepare.outputs.next_public_base_url }} \ --build-arg DIRECTUS_URL=${{ needs.prepare.outputs.directus_url }} \ - -t registry.infra.mintel.me/mintel/mb-grid-solutions:${{ needs.prepare.outputs.image_tag }} . - docker push registry.infra.mintel.me/mintel/mb-grid-solutions:${{ needs.prepare.outputs.image_tag }} + -t registry.infra.mintel.me/mintel/mb-grid-solutions:${{ needs.prepare.outputs.image_tag }} \ + --push . deploy: name: ๐Ÿš€ Deploy needs: [prepare, build, qa] if: needs.prepare.outputs.target != 'skip' runs-on: docker + container: + image: catthehacker/ubuntu:act-latest steps: - name: ๐Ÿš€ Deploy via SSH uses: appleboy/ssh-action@master @@ -156,6 +177,8 @@ jobs: needs: [prepare, deploy] if: always() runs-on: docker + container: + image: catthehacker/ubuntu:act-latest steps: - name: Notify Gotify run: |